* This commit adds the "archived" attribute to the Article model, which will
enable users to automatically filter archived articles/drafts from appearing
on their dashboard. It also adds an ellipsis menu with a link to archive the
article. I've also moved the Mute Notifications button into the ellipsis menu
as well.
* Add ellipsis menu and make it work
* Fix logic error
* Hide ellipsis menus when you click elsewhere on the body
* Extract function to remove duplication
* Ensure that menu is hidden when the ellipsis button is clicked on an open menu
* Ensure that archiving post button works and that 'archived' param is accepted by the controller
* Enable link to toggle showing/hiding archived articles
* Make 'mute' and 'archive' buttons in ellipsis dropdown list work
* Refactor to make Code Climate happy
* Minor JS refactors
* 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
* Initial classified listings work
* More work on tags
* Additional work finalizing stripe and getting the listings page along
* Finalize-ish listings 🤞
* 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
* add moderation email list columns
* automate tag moderator mailing list
* reorder logic for tag mod list
* add community mod list
* remove trusted privileges when reverting a user to a regular member
* automatically make tag mods community mods
* fix merge conflicts
* add community view
* make methods less complex based on code climate sugggestion
* add specs
* refactor tag moderator module
* fix spec
* 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
* 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
* 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
* 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
* Add EditorConfig file for all editors
* Add article export service
* Add setting to request an export of all articles
* On the outside they are called posts
* Add articles exported email to mailer and service
* Refactor to one public method and test flags
* Trigger the export if it was requested and send the email
* Recreated migration file with generic export fields
* Rename fields and switch to a whitelist
* Refactor ArticleExportService into a more generic structure
* Rename articles_exported_email to export_email
* Fix notify mailer spec
* Rename Exporter::Exporter to Exporter::Service
* Remove commented out line
* Removed body_html, coordinates and updated_at from export
* Invert DJ config
* Update spec
* Add SVG file of GitLab icon
* Add gitlab_url column to users table
* Add gitlab_url to user model, controller and policy
* Add gitlab_url to views
* Add tests for gitlab_url
* Set default styles and move button style out of form
* Add MVP of Preact /settings/integrations
* Change background color on hover and focus
* Remove unused constructor
* Improve optimistic rendering
* Add display name
* Use loading indicator for optimistic rendering
* WIP test
* Add basic snapshot tests
* Add HTML variants for cta optimization and other nav bar adjustments
* Fix 1==1 non-random mistake
* Spruce up org call-to-action
* Change default text color
* Add html variant trial and success request specs
* Fix article sidebar caching issue
* One line adjustment
* Modify schema
* Add include ActionView::Helpers::TagHelper to user_tag_spec
* Modify follow_button to remove session context
* Dummy commit
* Change Edit Article to Edit Post
* Dummy commit
* Fix rubocop concerns
* Fix rubocop style
* Add initial remove association feature
* Add initial account deletion feature
* Add back in cursor pointer
* Update email text copy
* Update copy on email html
* Fix nav issue and add integration buttons to account
* Initial automatic cleanup with rubocop
* Fix syntax error introduced by rubocop
* Cleanup seeds file
* Cleanup lib folder
* Exclude bin folder because it contains auto generated files
* Make Rubocop a little bit more chatty
* Block length should not include comments in the count
* Cleanup config folder
* Cleanup specs
* Updated Rubocop version and generated a todo file
* Fix broken ArticlesApi spec
* Fix tests
* Restored rubocop pre-commit hook