* Add HtmlCssToImage for generating images
This will be used by social_previews to convert the templates into images.
Setup a fallback image primarily for local dev, so that this won't cause
errors if authentication is missing.
Caching is setup to use contents of the html/css. So it with
autobust/generate a new image whenever the markup changes.
* Update Article social preview template to not be random
+ Being random breaks caching (since we generate cachekey by a SHA of html content)
+ Use Roboto for when generating via HTML/CSS to Image
* Update Tag social preview template to not be random
+ Make rand deterministic so it doesn't break caching
* Update user social preview template for html/csstoimage
* Update shecoded template to work with both url2png and htmlcsstoimage
* Add ability to respond to .png for social previews controller
When adding .png to the url, these routes will now generate an image and
redirect to it.
This leaves the existing pages as they were, so we're backwards
compatible with all the existing links out in the world.
* Fix merge conflicts
* Remove some duplication
* Improve spec descriptions/read better
* clean up setting template with a ternary
* remove pro privelges from other roles and add trusted role for pros
* add merge user routes and methods
* add specs
* add more specs
* update languauge on /internal for clarity
* fix code climate error
* Test milestone notifications
* Add initial milestone notifications
* Add extra milestone goalposts
* Move send reaction milestone
* Use proper twilio-video package version
* Add random giphys gifs to milestones
* Make images responsive and add addl gifs
* Add guard statement for older articles
* Update app/views/notifications/_milestone.html.erb
Link to Giphy page instead of source page
* Generate gifs via class and factor in aspect ratio
* Add border radius to gifs
Co-Authored-By: Zhao-Andy <andyzhao.zhao@gmail.com>
* Add delayed_job_web to dev environment for debugging
* Add specs for the current Follow callbacks implementation
* Move follower touching to ActiveJob
* Spec for the touch followers job
* Move Follow#create_chat_channel to ActiveJob and make the job safe
* Add ActiveJob to send email notifications about follows
* Enqueue SendEmailNotificationJob after the follow is created
* Specs to wnsure jobs are enqueued on Follow creation
* Make CreateChatChannelJob queue name more specific
* Reaction specs for Reaction after_save callbacks logic
* Touch user job
* Call Users::TouchJob on reaction create
* Move updating reactable to a separate job
* Move busting reactable cache to a separate job
* Bust homepage cache after reaction save in a separate job
* Spec for enqueueing Users::TouchJob on reaction create
* Refactor Reactions::UpdateReactable job
* Fix observer spec
* Add spec for org reaction notification
* Add organization_id to notifications
* Add validations for user and org IDs
* Move comment json_data out of loop
* Use actual column names instead
* Add organization filters
* Remove extra text-align
* Add organization filtering
* Refactor to reduce complexity
* Add receiver argument to handle orgs
* Add has_many notifications for orgs
* Add follow notifications for orgs
* Add comment notifications for orgs
* Rename some tests for specificity
* Add mark org notifications as read functionality
* Add radix to parseInt
* Define json_data outside of loop
* Notify org followers of a new post as well
* Move test to proper location
* Add test for aggregated method
* Make send org reaction notification more readable
* Test the rest of the notification model
* Refactor tag adjustment spec
* Fix extra html
* Add delayed_job_web to dev environment for debugging
* Add specs for the current Follow callbacks implementation
* Move follower touching to ActiveJob
* Spec for the touch followers job
* Move Follow#create_chat_channel to ActiveJob and make the job safe
* Add ActiveJob to send email notifications about follows
* Enqueue SendEmailNotificationJob after the follow is created
* Specs to wnsure jobs are enqueued on Follow creation
* Make CreateChatChannelJob queue name more specific
* Added <kbd> tag support to markdown editors in article posts and comments.
* Fixed typo in test.
* Fixed test - now compares against inner html.
* Removed .showpage-signi-cta as dead code was reinstated accidentally via git merge.
* Use sass placeholder as no need to output the .kbd class in the css.
* Reinstated original css as accidentally changed with merge.
* Reduce the number of sql queries for articles comments
* Refactor comments tree display
* Refactor retrieving the comments tree
* Remove comments tree view object
* Update score in comments spec for consistent order
* Remove harsh video restriction and add video duration
* Fix video meta data and tests
* Modify video tests
* Rescue video duration fetch error
* Change log to puts in test
* fixed `ActiveRecord::NotFound` issue for articles, on article destroy
* extracted ActiveJobs from article callbacks
* added specs for article and reaction deletions