* 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'
* Remove references to social link profile fields
* Add some dummy data
* Remove special display social links
* Remove unnecessary tests
* Add tests for profile social icons
* PR feedback
* Remove nil check from erb
* Move view method into helper
* Don't render links in user settings
* Asynchronous organization destroy
* Notification after an organization was deleted
* Send data to Datadog and Honeybadger when org deletion failed
* Delete unused code
* Fixed Organization#destroyable? and organization delete specs
* Reorganized organization deletion specs
* Removed redundant specs
* Improved org deleted email text template
* Don't peform the org delete when a user or an org were not found
* Renamed user_id in the org delete worker
* Audit logging when deleten an organization
* Removed specs for tracking pixel and UTM params
* Changed slug for audit log on org delete
* Fixed schema.rb
* Rename banned and comment_banned roles
* Add data update script to rename roles containing 'ban'
* Add named error for Suspended users
* Update unidiomatic method names
* Rename misc banned to suspended
* Apply suggestions from code review
Co-authored-by: Michael Kohl <me@citizen428.net>
* Add unit tests for suspended methods
This commit also adds TODO comments for removing banned and
comment_banned from the codebase after data update scripts have
successfully run on all of our Forems.
Co-authored-by: Michael Kohl <me@citizen428.net>
* Upgrade Rails to 6.1
* Switch to unreleased bullet
* Run rails app:update
* Add deprecation notices after reading changelogs
* Fix app:update error
* Move middleware in the correct place
* Temporarily disable ransack which does not support Rails 6.1
* Remove wrongly merged file
* Re-run spring binstub
* Fix double quotes
* Track ransack branch with Rails 6.1 support
* Fix deprecation
* Switch to Ransack 2.4 which supports Rails 6.1 rc1
* Fix missing default params for the duration substitution
* Fix new behavior of relation.pluck with contradictory queries
* Fix uploaders specs by tracking rspec-rails main repo
* Disable bullet temporarily
* Fix remaining fixture_file_upload usages
* Add default seconds for video article duration
* Trigger Travis CI
* Upgrade Rails to 6.1.0.rc2
* Remove file deleted on master
* Add Rails 6.1 gem to Gemfile
* Trigger Travis CI
* Revert "Disable bullet temporarily"
This reverts commit cee0c2ce61fb72cbc16d52c94b12ee681e873031.
* Fix bullet version
* Upgrade to acts-as-taggable 7 and fix conflict
* Update Gemfile and rspec-* gems
* Fix nokogiri in Gemfile.lock
* Switch to rspec-rails main branch
* Remove leftover vendored cached items
* Fix path for Rails 6.1
* Use latest release of erb_lint
* Re-run rails app:update to incorporate new changes
* Disable erb_lint's ErbSafety checks
* Fix Gemfile.lock and re-add platform specific gems of Nokogiri
* Add mini_portile2 as well
* Fix latest merge conflict by removing now unused faraday_middleware
* Upgrade to Rails 6.1.3.1
* Regenerate Gemfile.lock and vendor/cache
* Add x86_64 linux gem
* Mark spec as flaky
* Revert "Mark spec as flaky"
This reverts commit 3caba94b33645f9b59c84ba78ee8df042fc7aee0.
Co-authored-by: Mac Siri <krairit.siri@gmail.com>
* 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.
* Adds guard clauses and better error messages to UsersController #confirm_destroy
* Adds tests around guard clauses in UsersController #confirm_destroy
* Adds a custom error for invalid tokens in UsersController#confirm_destroy
* Refactor user_destroy_token.rb initialize method to be more succinct
* Removes unnecessary code from user_self_destroy_spec.rb and fixes failing InvalidToken spec
* Reworks code in #confirm_destroy to be consistent with other #destroy methods
* Adjust token mismatch test to use mismatched tokens
* Refactors #confirm_destroy and adds a before_action to Users::Controller
- Reworks the logic within #confirm_destroy and removes excess code
- Adds set_or_sign_in_user before_action for #confirm_destroy
- Removes custom InvalidToken error message
* Cleans up spec and adds an additional test around logged out user edge case
* Fixes failing tests due to changes in #confirm_delete flow
* Adjusts test logic in user_self_destroy_spec.rb
* Refactors code by removing custom before_action and rewriting conditionals
* 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
* Prepare to drop profile columns from user
* Update code and factory
* Also remove unused constant
* Move validation from user to profile
* Remove Profiles::ExtractData service object
* Add more comments
* Simplify sameAs attribute generation
* Obey me machine, I am your master
* Fix condition order in guard clause
* Temporarily disable callback
* Fix specs
* Reduce usage of Profile#refresh_attributes!
* Remove leftover comment
* Handle social media links differently
* More spec fixes
* Fix specs for admin profile fields controller
* Fix specs after merge
* Fix remaining specs
* Update user show request spec
* Add comment for follow_hiring_tag
* Only save profile when user is valid
* Fix seeds.rb for profile fields
* Switch from before_save to after_save
* Undo unrelated formattin change
* Update spec/fixtures/files/profile_fields.csv
Co-authored-by: Molly Struve <mollylbs@gmail.com>
* Remove data update script and spec
* Fix spec
* Fix typo in comment
* Fix typo in comment
* Move article resave logic to service object
* Move profile field creation to before(:suite)
* Refactor error handling in Profiles::Update
* Fix Profiles::Update specs and refactor
* Temporarily disable spec
* Add ProfileValidator
* Clean up
* Move DB ready check into app/lib
* Refresh attributes after importing from CSV
* Fix specs
* Remove unused file
* A girl has no name. A profile neither.
* Fix specs
* Add responds_to? check
* Spec fix
* Add name to user fields in profile settings page
Co-authored-by: Molly Struve <mollylbs@gmail.com>
* 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
* Fix missing spaces in description of suggested_users
* Add config to use suggested_users instead of auto-generated suggestions
* Improve determine_follow_suggestions method
* Update app/lib/constants/site_config.rb
Improve the wording of the description of prefer_manual_suggested_users
Co-authored-by: Vaidehi Joshi <vaidehi.sj@gmail.com>
* Apply new style to prefer_manual_suggested_users checkbox
Co-authored-by: Vaidehi Joshi <vaidehi.sj@gmail.com>
* 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>
* 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