* Set github and twitter usernames to nil if they are blank
* Verify github and twitter username in the Admin::UsersController (just in case)
* Add unique indexs on users twitter_username and github_username
* 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
* 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
* add myself to the core contributors
* add comment template
* merge upstream
* make sure the template re-appears for top level comments after submission
* make interface admin only
* Adjust comment template form
* Fix merge conflicts
* Remove unnecessary comment template from json
* Use a slightly faster call for user_id
* Remove unused file
* Test receive notifications functionality
* Notify when receive_notifications is true
* Test receiving reaction notifications
* Do not notify if receive_notifications is false
* Fix test for parent comment notification
* Add article mute notifications feature
* Remove deprecated specs
* Prevent email when receive_notification is false
* Update button messaging
* Use RESTful /article_mutes patch request
* Use parent or root article instead
* Close anchor tag typo
* Remove confusing message in profile
* Fix typo in spec
* Add old_slug and old_old_slug fields to org
* Test for check_for_slug_change method
* Add ability for orgs to change slug
* Update copy to match new org language
* Add redirect for organizations with old slugs
* Use less queries for handling org/user redirect
* Use consistent syntax for user creation
* Test for organization slug redirects
* Refactor user article redirect
* Add ApiSecret model scaffold
* Add relationships between ApiSecret, User, Organization
* Add placeholder template to account tab
* Add description column to ApiSecrets
* Add very basic access token generation
* Add basic access token deletion
* Show access token on success flash
* Add placeholder message when user has no secrets
* Use cta style on token generation button
* Add presence validation for ApiSecret description
* Add ApiSecrets factory
* Add pundit policy for ApiSecret
* Nest form field within api_secret hash to allow rails strong params
* Use pundit to authorize ApiSecretController actions
* Add error message flash for ApiSecretsController actions
* Add specs for ApiSecretsController
* Add length validation to api secret description
* Flash model error instead of generic message on save failure
* Truncate ApiSecret factory objects descriptions to prevent validation error
* Remove length restriction on ApiSecret.description
* Use darker font color for token creation date
* Consolidate ApiSecret migrations
* Validate for trailing slash instead of strict validation
* Remove unused sign_in_count field
* Add profile URLs to edit view
* Add profile URLs to admin controller params
* Add profile URLs to edit view
* Clean up index and search views for user
* Move around user fields to make more sense
* Display more informative label
* Remove name_of_user field in favor of new display label
* Fix typo
* Remove duplication for website, employer, and Mastodon URLs
* Add score to comment params
* Remove unused name_of_user field views
* Fix typo for medium url
* Really simple calculate reading time function
* Move parse_it so that the number of methods in MarkdownParser is at 20
* Added test and default value for reading time
* Initial tag adjustments
* Finalize tag adjustments and tag adjustments controller
* Fix schema.rb
* Finalize tag removal logic
* Adjust edge cases/tests for tag adjustment moderation
* Adjust tag adjustments spec
* Add point weights for tag follows
* Adjust num articles to initially show up on home page
* Fix schema.rb
* Adjust follow policy spec
* Adjust dashboard styling for follow points form