* First draft - all the big changes
* Changing some more references to 'internal'
* Relocate internal request tests to admin
* Relocate internal system tests to admin
* Fix trailing space
* Test fix
* Move queries from internal to admin
* Docs updates
* Rename internal stimuls controllers to admin (plus docs)
* Rename admin layout
* Fix routing after rebase
* Fixes for latest added admin interfaces
* Serviceworker ignore paths
* Add destroy organization backend
* Add view for deleting org
* Add new line to end of file
* Refactor and move destroyable? to model
* Use a nice card to distinguish the message
* Prevent organizations from being deleted if they have credits
* Fix codeclimate issues
* Remove let_it_be_changeable for flakiness
* Initial user payment pointer work
* Finalize functionality and tests
* Fix schema
* Update app/views/shared/_payment_pointer.html.erb
* Add function to list
* Add display_announcements boolean to Users table
* Adds a boolean with a default of true to Users
* Add display_announcements to #user_data and user_policy.rb
* Adds display_announcements to #user_data in AsyncInfoController
* Adds display_announcements to PERMITTED_ATTRIBUTES
* Add display_announcements to _misc.html.erb
* Adjust submit data request button and adjust Announcements heading
* Adjusts submit data request button to follow button capitalization
* Adjusts announcements heading to read Announcements not Sponsors
* Add copy to _misc.html.erb to add context around Announcement toggle
* Add request and system specs around Announcements
* Adds a test for announcements to user_settings_spec.rb
* Adds a system spec for updating announcements
* Add user_updates_announcements_spec file and remove old spec from users_settings_spec
* Fix spec weirdness
* Add tests around misc tab and Announcement toggle to user_settings_spec.rb
* Tests that misc tab renders properly
* Tests that display_announcements toggle updates a users settings properly
* Removes user_updates_announcements_spec.rb
* Adjusts Export Content capitalization in _misc.html.erb
* Resolve DB conflicts
* Refactor user_same_as_json_ld method to be more readable
* Refactor user JSON-LD to be less verbose in Stories::Controller
* Removes set_user_same_as_json_ld method
* Removes set_user_profile_json_ld method
* Adds user_works_for and user_disambiguating_description
* Adds inline logic to the data structure
* Simplifies user_same_as method
* Add documentation around specific data properties
* Add .reject to user_json_ld to remove key, value if value blank
* Checks for blank values and rejects key,value if blank
* Accounts for JSON-LD preference for no key,value if blank
* Add reject and compact to worksFor in Stories::Controller
* Ensures any nil/empty values for worksFor are removed
* Cleans up existing code within Stories::Controller
* Add test for values that eval to true when .blank? is called
* Adds test to check that empty key/values are not included
* Adds test to check that nil key/values are not included
* Refactors variables to be inline in user_show_spec
* Refactors existing code in user_show_spec
* Add reject for blank values to user_same_as in Stories::Contrroller
* Adds a check for email_public to email
* Fix typo within comment in Stories::Controller
* Add ternary operation to email in Stories::Controller
* Refactor user_show_spec to check for exact JSON-LD data to improve testing
* Extracts data out into factory objects to shorten # of lines in test
* Extracts JSON-LD into a parsed object for more precise testing
* Shortens test to be within the 15 line rubocop limit
* Resolves rubocop multi-line errors
* Refactor user.update_columns to be a single method
* Add :with_all_info trait to users factory
* Adds trait that holds all necessary info for user JSON-LD
* Removes user.update_columns method from the user_show_spec
* Adds the :with_all_info trait to the user in the spec
* Wrap test in rubocop:disable to resolve ExampleLength errors
* Removes let blocks that once held extracted code
* Adds code back to the data structure as inline code
* Resolves even more rubocop errors... hopefully
* Allow admins to suggest default users to follow during onboarding
Allows the onboarding "follow users" slide to be configured by admins.
Closes https://github.com/thepracticaldev/dev.to/issues/7106.
* Remove redundant safety checks, refactor specs
* Add explicit note about how suggested users are used in onboarding
* Some configs_controller cleanup and fix copypasta in configs/show template
* Fetch SiteConfig.suggested_users via before_action
* Use presence instead of empty?
* Rename remove_association to remove_identity and future proof its tests
* Use the signin_path everywhere
* Generalize account settings
* Use delegation
* Use Devise registry to list available providers
* Cleanups following Devise+Omniauth docs
* More cleanups
* Use helpers
* More cleanups
* Oops, forgot to remove these specs
* feat: update the email addresses in the site config
* chore: update the default email address everywhere
* feat: update the template for the config
* chore: remove default_site_mail as an allowed parameter
* feat: change biz@dev.to to teh business email address and with a subject
* feat: update partners@dev.to to use SiteConfig.email_addresses[:business]
* feta: update to business email address
* feat: update members@dev.to to use the site config
* feat: update privacy email
* chore: Anna's suggestion to loop through object instead of keys
* Add JSON-LD in place of schema.org in _video_player.html.erb
* Remove unnecessary tags around JSON-LD to clean up templates
* Fix indenatation and remove extra elements from show.html.erb and _profile_header.html.erb
* Remove empty line from articles/show.html.erb
* Clean up JSON-LD commas across erb templates
* Revert articleBody changes, adjust nesting, and remove extra quote
* Add application/ld+json to allowed_types in .erb-lint.yml
This addition makes it so that the no verify flag is no longer required
* Add additional data for Articles, Users, and Orgs to better SEO
* Add additional data to JSON-LD structures
*Add sameAs data to articles/show.html.erb
*Add sameAs data to users/show.html.erb
*Make adjustments to VideoObject data in _video_player
*Make adjustments to Org in _profile_header
*Add removed erb back to all erb templates
* Refactor code to fix syntax Google syntax errors
* Add missing double quotes to values
* Remove unnecessary meta tags from _video_player.html.erb
* Add additional key-value pairs to data structures
* General code clean up
* Clean up existing data structures
*Remove useless meta tag and replace with a tag
*Small refactor to users/show.html.erb data
* Extract user json-ld out of users/show.html.erb
*Move json-ld logic to stories_controller
*Use user_json_ld variable in place of entire data structure
*Set user_json_ld as a before_action in the controller
* Add specs around JSON-LD data in templates
*Add request spec for users/show.html.erb
*Add request spec for articles/show.html.erb
*Add request spec for _video_player.html.erb
*Add request spec for _profile_header.html.erb
*WIP: Fix pending specs for all templates
* Remove useless meta tags from users/show and _profile_header.html.erb
* Add additional test coverage to users/show.html.erb
*Add additional tests to user_show_spec
*Ensure that all tests pass
*Small refactor to users/show.html.erb JSON data structure
* Add additional test coverage around JSON-LD data
*Add more robust tests to template specs
*Remove unnecessary comments from specs
*Uncomment pending specs
* Adjust modified date to be more readable in article specs
* Refactor spec to be more readable and update GitHub username test
* Remove meta erb from articles/show.html.erb
* Remove meta data from _video_player.html.erb
* Clean up useless codeand whitespace for final review
* Extract users/show data structure from template into StoriesController
* Remove JSON-LD object from users/show.html.erb
* Place JSON-LD for users/show.html.erb in StoriesController
* Store user_json_ld in set_json_ld method in StoriesController
* Call user_json_ld variable in script tag in users/show
* Clean up trailing commas and refactor articles/show.html.erb
* Remove redundant user/profile_header_spec.rb
* Remove unnecessary code from _profile_header and articles/show
* Remove Organization from articles/show.html.erb
* Remove unnecessary comments from _profile_header.html.erb
* Extract user_json_ld into separate methods to fix Code Climate failures
* Rename user_profile_details and user_same_as methods to be more explicit
* Refactored user_json_ld methods to use symbols instead of strings
* Use symbols to fetch keys from a hash instead of strings
* Changed user_url in data structure
* Removal of erb tags and general clean up
* Revert schema changes
* Remove unnecessary quotation marks
* Add Authentication providers
* Making strides on refactoring
* New usr from Twitter
* Existing Twitter user
* Existing user Github
* Test skip_confirmation!
* Refactor a bit and add simplecov groups
* Test user already logged in
* Rename to Authentication::Authenticator
* Refactor to a common class
* Add existing user test for twitter login
* Refactor global handler
* Fix spec and comment Twitter provider
* Update comments and strategy TODO
* Move providers loading code to Authentication::Providers
* add SubclassResponsibility error
* Use delegation
* Update some test descriptions in notifications_spec
The descriptions of these tests didn't actually match the test's assertions!
* Add welcome_notifications column to users table
Also ensures that welcome_notifications cannot be set to `nil`.
* Show an opt-out message for Welcome broadcast notifications
* Add opt-out link to notifications + welcome notification box to settings
* Allow welcome notification subscription to be updated
* Add tests for unsubscribed to welcome notification users
Also refactor generator specs a bit.
* Fix up paths, copy, tests
Use rails path helpers instead of hardcoding paths. Improve copy in a few locations.