Given that we have the roles of `:tech_admin`, `:admin`, and
`:super_admin`, I don't want the surprise of assuming that `user.admin?`
means that they have the role of `:admin`.
* Remove Connect
* Remove more Connect specs
* Remove a lot more Connect code
* 🚮
* It all has to go
* Explicitly add httpclient
* Update application layout
* Remove messages association from User
* Start fixing specs
* reintroduce util function and refactor references
* Remove Connect Cypress test
* Fix more specs
* Remove Connect from listings
* Ignore contact_via_connect column on listings
* Remove contact_via_connect usages
* Ignore mod_chat_channel_id on tags
* Drop Connect tables
* Remove email_connect_messages from user notification settings
* Re-add httpclient 2.8.3
This was mistakenly removed as a merge conflict
* Don't need to exclude removed chat channel file
* Remove unneeded style for chat channels
* Remove unneeded channel list prop type
* Remove chat channels index/connect-link from getPageEntries
* Re-add comment from httpclient in Gemfile
* Remove connect references from mailers
Tag Moderators no longer have a chat channel
No longer will users be notified about new messages (there won't be
any)
No longer will users be notified about channel invites (you can't
invite anyone anymore)
* Don't configure Pusher and remove PUSHER_* from .env_sample
since it's removed from gemfile, the Pusher constant will not resolve, if this is
configured in the environment variables we'll fail to boot.
Co-authored-by: Suzanne Aitchison <suzanne@forem.com>
Co-authored-by: Dan Uber <dan@forem.com>
Set a NOT NULL constraint on tags timestamps
This commit also monkeypatches in a method for StrongMigrations to
disable a check temporarily. This migration is safe enough for DEV (it's
not ideal, but it'll only lock the table for a matter of milliseconds),
so we'll be fine disabling it but we don't want to disable the check
globally for all migrations in case there's a migration where this is
not safe.
* Initial forem omniauth strategy setup work
* Finish basic raw proof of concept
* Some playing around
* use OAuth payloads + PASSPORT_OAUTH_URL for local dev
* Use FeatureFlag for Forem Passport Auth
* Working on tests
* Fix tests 🤞🏼 & some cleanup
* Use correct namespace within lib directory (match class namespace)
* Test to ensure Forem Passport auth is restricted by FeatureFlag
* Add broadcast + work on tests
* Update spec/lib/data_update_scripts/insert_forem_connect_broadcast_message_spec.rb
Co-authored-by: Michael Kohl <citizen428@forem.com>
* Hash format
* Schema cleanup + inline comments
* Use temprorary Heroku domain
* More cleanup
* Missed one
* Back to passport.forem.com
* Require correct path in lib
* Apply suggestions from code review
Co-authored-by: Michael Kohl <citizen428@forem.com>
* Use with_indifferent_access for symbol hash access in Forem strategy
Co-authored-by: benhalpern <bendhalpern@gmail.com>
Co-authored-by: Michael Kohl <citizen428@forem.com>
* Move top level method definitions to module methods
This removes an ignored rubocop rule for this file, and wraps
these (otherwise unused) builder methods in a module.
* Move storage config methods to initializer module
This removes an rubocop ignore in the file and prevents exposing
global method definitions throughout the app.
* 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'
* Fix autoloading for RateLimitChecker
* Fix autoloading for ForemStatsClient
* Fix autoloading for middlewares
* Move things to their proper place
* Move middleware usage to the proper place
* Re-add rest-client in datadog driver correctly
* Already required in config/initializers/middlewares.rb
* Bring that back
* Fix Honeybadger spec
* Fallback to the image URL if neither Cloudinary nor Imgproxy are configured
* Fix specs
* Cloudinary api_secret is required
* Update spec/models/message_spec.rb
Co-authored-by: Michael Kohl <citizen428@dev.to>
Co-authored-by: Michael Kohl <citizen428@dev.to>
* Add fakeredis gem
* Mock Pusher::PushNotifications in specs
* Remove Redis from Travis
* Add Android tests to ConsumerApp specs
* Use mock for push notification tests and refactor ConsumerApp and Device code
* Fix remaining broken specs
* Use symbols
* Cleanup rpush helpers
* Pusher::PushNotifications is no more
* Use human friendly platform in Admin::ConsumerApps index page
* First set of changes for Ahoy 2.0
* Fix line length
* Change test
* Remove unused test
* Remove ahoy_messages.opened_at
* Simply digest email sending calculation to not rely on last_opened
* Remove outdated comment
* Fix typo in test
* Rework site config email digest to a single value
* Fix merge duplication
* Remove UTM references from ahoy emails
* Fix credits tests
* Remove UTM from expected email params
* 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>