* Replaced granular emails with the default one
* Set reply to header in emails
* Extract shared_examples from NotifyMailer
* Removed unused code
* Replaced SiteConfig with Settings::General
* Fixes related to replacing SiteConfig with Settings
* Removed duplicate line from specs
* Rename SiteConfig
* More renaming
* Update spec
* Update mandatory settings mapping
* More renaming
* e2e test fixes
* You have a rename, and you have a rename
* Spec fix
* More changes
* Temporarily disable specs
* After-merge update
* Undo rename for migration
* undo rename of DUS
* Fix DUS
* Fix merge problem
* Remove redundant DUS
* Fix specs
* Remove unused code
* Change wrong class name
* More cleanup
* Re-add missing values to constant
* Fix constant
* Fix spec
* Remove obsolete fields
* Add accidentally removed field
* Update spec
* Move methods from Settings::General to ForemInstance
* Remove unneeded model
* Change mentions of 'site config'
* Allow image upload even if no existing image
Allow profile image upload even if there's no profile image attached.
* Add specs to ensure profile image field is there
Specs to ensure that the profile image upload field is always
available wether the user has a profile picture or not.
* Add script to remove feature flag
* Remove :feeds_import feature flag and RssReader and related classes
* Change Feeds::ImportArticlesWorker signature to support Sidekiq Cron serialization
* Replace RssReader::Assembler with Feeds::AssembleArticleMarkdown
* Removing Assembler
* Add earlier_than to Feeds::Import
* Ignore feeds that have been imported in the last 4 hours
* Make earlier_than mandatory in Feeds::ImportArticlesWorker
* Remove GitHub repositories when user deletes their own GitHub identity
* Remove GitHub repos also from the admin remove identity
* Add a notice in Settings/Extension
* Add data update script to cleanup orphan GitHub repos
* Add explanatory comment to how RssReaderFetchUserWorker works
* Add Feeds::ImportWorker worker
* Enable Feeds::Import for single user feed fetching behind a feature flag
* Add Feeds::ValidateUrl service
* Add feature flag to user's validate feed URL feature
* Remove todo notices
* Add feature flag to fetch_all_rss task
* Add feature flag to RssReaderWorker
* Bring back short-circuit for Articles::RssReaderWorker
* chore: update the profile to be more dynamic. Maps out the group + field name + value for field
* feat: add the correct input type to the form tying it to the correct method to update
* feat: update the value and the label
* feat: update the profile with a submit
* refactor: ensure we dont show empty groups on the settings/profile
* fix: this shoudl be dribbble
* fix: use attributes! to refresh the cache to ensure that we font run into the case where Profile.attributes is []
* feat: show group description only when it exists
* chore: add some classes
* feat: use the profile update service to update the relevant user information
* chore: rename variable
* chore: use a scope to not return empty groups
* fix: only update user if the profile sync is update is successful. Also capture errors
* feat: style the crayons field checkbox
* refactor: rename the attribute to user instead of profile
* refactor: service object
* Fix CodeClimate warning and rearrange code
* Fix service object, add missing attribute
* Fix flash and add redirect
* Fix service object + spec
* Fix user edits profile spec
* Disable spec
* Fix more specs
* Undo vim fail
* Add data update scripts
* Update where clause in data update script
* Rename method
* Make sync_to_user conditional
* Add after update actions and Honeycomb
* feat: handle checkbox allow chcekbox to check
* Don't set experience cookie in ProfilesController
* Clean up Profiles::Update object
* Fix spec
* Remove Twitch integration (#10732)
* Remove Twitch integration
* Ignore columns
* Change admin password in docs (#10735)
Update default admin password in documentation
* Do not require meta_keywords to be set (#10721)
* Remove extra character from meta_keywords in /listings/index.html.erb
* Remove meta_keywords from MANDATORY_CONFIGS
* Add and use meta_keywords_tag helper
* Use modern tag syntax instead of deprecated syntax
* Add and use meta_keywords_default helper
* Add and use meta_keywords_article helper
* Remove * from meta_keywords_field.label
* Update meta_keyword specs to account for no keywords being set
* Generalizes Connect welcome message and settings nav tab and refactors tests (#10741) [deploy]
* [deploy] fix: Clear chat input after Enter key submit (#10487)
* fix: Clear chat input after Enter key submit
* fix: Rename Composer component
* test: Add integration tests for input value
* After pressing Enter
* After clicking Send
* After clicking Save edit
* After clicking Close edit
* Remove tabindex of -1 on upload image input in the write a post editor (#10543)
* Remove tabindex of -1 on upload image input in the write a post editor
* Remove negative tabindex on image uploader's outer button
* Give tabindex of -1 to outer button on image uploader
* Update buttons.scss
* [deploy] Add recaptcha keys to as site-configurable keys (#10736)
* Add recaptcha keys to as site-configurable keys
* Add recaptcha to site config view
* Use site config key
* Make ReCAPTCHA tag optional if keys are blank
* Use proper capitalization of recaptcha
Co-authored-by: Julianna Tetreault <32834804+juliannatetreault@users.noreply.github.com>
* Refactor logic for readability
* Use proper capitalization of recaptcha
Co-authored-by: Julianna Tetreault <32834804+juliannatetreault@users.noreply.github.com>
* Use proper capitalization of recaptcha
Co-authored-by: Julianna Tetreault <32834804+juliannatetreault@users.noreply.github.com>
* Use proper capitalization of recaptcha
Co-authored-by: Julianna Tetreault <32834804+juliannatetreault@users.noreply.github.com>
Co-authored-by: Julianna Tetreault <32834804+juliannatetreault@users.noreply.github.com>
* Add Section for Series/Collections (#10719)
* Add Section for Series/Collections
I added a small section in this area of the docs to share some information about collections/ series.
There is not much information in the documentation about collections or series and I felt like this would be beneficial to others looking to help with the Series feature of the website.
* Updated wording of collections section.
* Articles API: filtering by tags (#3654) (#10614)
* Articles API: filtering by tags (#3654)
* Address CR comments (#3654)
* Add test case
* Move tests
* Update docs
* Use _any_ option for querying by tags (#3654)
* Move Imgproxy endpoint config to Images::Optimizer (#10742)
* Link Email Account creation UI to existing Create Account UI (#10746) [deploy]
* Conditional button to link to email accout creation
* Rename email signup state param
* Test for email account creation button scenarios
* Add forem meta tags (#10747)
* Add forem meta tags
* Add docs
* Update docs/technical-overview/compatibility.md
Co-authored-by: Jacob Herrington <jacobherringtondeveloper@gmail.com>
* Update docs/technical-overview/compatibility.md
Co-authored-by: Jacob Herrington <jacobherringtondeveloper@gmail.com>
* Update docs/technical-overview/compatibility.md
Co-authored-by: Jacob Herrington <jacobherringtondeveloper@gmail.com>
* Update docs/technical-overview/compatibility.md
Co-authored-by: Jacob Herrington <jacobherringtondeveloper@gmail.com>
* Remove Twitch-related columns from users table (#10750)
* [deploy] Long text goes outside cards (#10740)
* Add word-break to crayons-card
Add word-break to crayons-card this will allow words to be broken if the word is too long but will wrap normally otherwise.
* Use overflow-wrap: anywhere;
`break-word` is deprecated though `anywhere` does not work in IE
* Removes superfluous sign_in from users_onboarding_spec.rb (#10757) [deploy]
* [deploy] Allow glitch id starting with ~ (#10544)
* [deploy] crayons prep (#10737)
* Add DEV special case for following hiring tag
* Move image validation to Profiles::Update object
* spec: move over the tests for validating images
* Move follow_hiring_tag into the service object
Co-authored-by: Ridhwana <ridhwana.khan16@gmail.com>
Co-authored-by: Andrew Bone <AndrewB05@gmail.com>
Co-authored-by: Vaidehi Joshi <vaidehi.sj@gmail.com>
Co-authored-by: Julianna Tetreault <32834804+juliannatetreault@users.noreply.github.com>
Co-authored-by: Robin Gagnon <me@reobin.dev>
Co-authored-by: Manaswini <58681405+Manaswini1832@users.noreply.github.com>
Co-authored-by: Andy Zhao <17884966+Zhao-Andy@users.noreply.github.com>
Co-authored-by: Christopher Wray <53663762+cwray-tech@users.noreply.github.com>
Co-authored-by: Rafal Trojanowski <rt.trojanowski@gmail.com>
Co-authored-by: Mac Siri <mac@dev.to>
Co-authored-by: Josh Puetz <josh@dev.to>
Co-authored-by: Ben Halpern <bendhalpern@gmail.com>
Co-authored-by: Jacob Herrington <jacobherringtondeveloper@gmail.com>
Co-authored-by: irmela <irmela@berlin-coding.de>
Co-authored-by: ludwiczakpawel <ludwiczakpawel@gmail.com>
* 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
* 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
* 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 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.
* No longer create identity in User factory
* Create view specs for users/edit.html.erb
* Update broken specs
* Make identities transient an explicit array