* Social Cards Part 2
This is a follow up to part 1: https://github.com/thepracticaldev/dev.to/pull/2090.
This PR updates the og:image URLs to use the new social_preview.png urls
added in Part 1.
So that the already generated/cached images do not need to be recreated,
this sets a MIGRATION_DATETIME. Any object that has been updated after
that date will generate a new image
Objects from before that date will not. They will use the new url.
* Fix weird change made by rubocop autocorrect
* Handle organizations + users
* Run CI
* Use time with zone to be explicit about timezone
* Simplify branching in user_social_image_url method
* Fix param alignment + bump migration date
* Set up basic /manage route
* Add basic article manage page
* Add tips and finalize permissions for /manage
* Add final test and add manage button to article show
* Update failing specs
* Change format of user preferred languages
* Make sure user language settings are set by default
* Add missing expect to the user spec
* Fix users/misc template
* Move existing languages to a constant
* Remove commented user code
* Move languages out of User model
* Update preferred languages accordingly to the available languages
* Set user estimated language only if the language is available
* Fix Portuguese spelling #2582
* Get a job created that can create a webhook subscription for a twitch user login
* Remove ngork url
* Refactor add store the access token in the cache
* Get a controller stood up to recieve the webhooks. Now they just need to be processed
* Get User columns added and got webhook controller bones working
* Update the webhook job to use the User
* Add a way for the User to input their Twitch User Name. Plus a linter fix
* Delay webhook registration when profile is updated
* Don't add _ in username
* Use String columns
* Quick fix and add some more requests specs
* Specs for the webhook job
* Get a show page Twitch Live Streams. Just a straight embed of the Twitch Everything Embed UI. Works surprisingly well responsively, and works on all screen sizes
* Fix Gemfile.lock from merge issues
* Add support for expired tokens and add spec
* Add secrets to webhook registration and clean up spec to remove token logic
* Verify webhook secret and spec it
* Add rake task to enqueue webhook registration for all Users. This can be used from Heroku Scheduler
* Update the lease seconds to be for 5 days
* Actually lets do 7 so we can refresh twice a week and try to make sure that we can always miss one
* Hijack the existing Twitch logo instead of making a duplicate one
* Remove comment and replace with log line
* Remove some white space
* Log to Airbrake when webhook errors occur
* Move to passing in an id instead of User object
* Extract logic from Job to Service object
* Capitilize in the view
* Move out of models and into services
* Remove letover stub
* Remove one usage of Faraday
* Use HTTParty for all the HTTP here
The char "-" in regexp defaults a a separator for a range of character, for example: "a-z", Ruby is smart enough to understand "-_" is no range but it does emit a warning, by properly escaping the char "-" we ensure that no warning or issues can arise in the future.
* Improve Gist Link Regex
While working with the gist liquid tag, I noticed that valid gist links
were resulting in errors. After looking at `gist_tag.rb`, I noticed
that for a link to be considered valid the gist-id had to be exactly 32
characters which is not always true.
I changed the regex so links with a gist-id of at least one character and
at most 32 characters is considered valid. I decided to continue with
the 32 characters that had previously been used as the upper bound. I
also made a change so links with a github username that starts or ends
with hypens or contains consecutive hypens are considered invalid. The
aforementioned change was based on the validation message from the
create new GitHub account form.
* Change gist_link to gist_links in spec file for Gist tag
This commit adds timestamps to the comment and post notifications.
Instead of using `strftime` and ordinalizing the date I decided to use the
`time_ago_in_words` methods. I think that this looks better and is more
accurate when it comes to notifications recently received. The final say
is up to the main contributors though, if you would like me to change it
back let me know.
* just opening PR
* add comments-container id to comment-trees
- allows initializeCommentsPage() to attach event listeners to heart reaction buttons
- reactions are created now when clicked
- page still needs to properly render reactions in its "reacted" state and proper reaction count/tally
* reactions, counts, and reacted state are accurate
adds readinglist ids to comment container parent, initializeCommentsPage handles lists of ids now instead of just one id, /reactions?... get request is now synchronous to handle multiple ids
* catch styling for reading list comments
* make xmlhttprequest async
* Specs for FuctionCaller
* Fix accepting nil values from AWS lambda
* Specs for the black_box #2524
* Spec for BlackBox#comment_quality_score
* Remove vcr cassette usage from the CouponGenerator spec
* Removed clear fix div
* Removed floating properties
* Added Flexbox properties to parent container
* Added media queries for screens smaller than 426px and adjusting styles accordingly
* Stretched and centered `upload a video` & `sort` select. Tested on Chrome and Firefox.
* Adjust `sort` select box's font-family according to other elements.
* Initial classified listings work
* More work on tags
* Additional work finalizing stripe and getting the listings page along
* Finalize-ish listings 🤞
* Apply theme color to sidebar widget links
This commit updates the sidebar widget links to apply the appropriate
theme color. This will prevent the links from being hard to read due to
a low contrast in night theme.
* Leave fallback for browsers that dont support css variables
* Add tracking and missing specs for DigestMailer
* Add tracking and missing specs for MembershipMailer
* Add tracking and missing specs for NotifyMailer
* Add tracking and missing specs for ScholarshipMailer
* Remove deprecated analytics role
* Make anchor tag a bit more readable
* Add OrganizationMembership table and model
* Add organization_membership associations
* Add unique indices for user_id and org_id
* Wrap update and create calls in transactions
* Remove specs of deprecated analytics_beta_tester
* use API data
* Update schema.rb
* work on proCharts
* change to fetch
* remove console log
* add week month infinity dates
* linter tweaks
* change chart labels
* make cards change dynamically as well
* add april 1st disclaimer comment
* add reader and follower charts
* Update schema.rb