- Added listen gem because rails app:update failed without it
- Removes nsa gem because it requires activesupport < 6
Oddly, there's a newer version per GitHub that's not on RubyGems
that raises the requirement to < 7. But, we need a new release
before we can use that.
- Upgrade rails-i18n to v6, for Rails 6 compatibility
- Remove redis-rails since it requires Rails < 6, but we can just use
the regular Rails :redis_cache_store that was introduced in 5.2.
- Run `rails app:update`
- Had to weed through the `config/environments` changes to pick up
newly added settings, while not losing settings that were
intentionally configured
- This generated config/initializers/new_framework_defaults_6_0.rb.
The goal is to uncomment all of the settings in that file. Once
they're all uncommented, delete the file and edit
config/application.rb's load_defaults to be 6.0.
- force_ssl controller method is deprecated in favor of a Rails
config setting.
- bin/setup was generated by Rails
- Verbose query logging in development is really helpful. It shows
you what line of code caused a query to execute.
- Calling establish_connection after worker boot isn't necessary
with ActiveRecord anymore. ActiveRecord handles it gracefully.
- Rails generated a migration to add a foreign key for ActiveStorage.
Gab currently doesn't use ActiveStorage, and instead uses Paperclip
(since ActiveStorage didn't exist when Mastadon started). So, this
change isn't relevant to Gab.
- Added ` || ''` in the profiles controller, because I was unable
to save a change to a newly created profile. (This probably
explains the 500 error I received on prod Gab recently.)
54 lines
2.9 KiB
Ruby
54 lines
2.9 KiB
Ruby
# Be sure to restart your server when you modify this file.
|
|
#
|
|
# This file contains migration options to ease your Rails 6.0 upgrade.
|
|
#
|
|
# Once upgraded flip defaults one by one to migrate to the new default.
|
|
#
|
|
# Read the Guide for Upgrading Ruby on Rails for more info on each option.
|
|
|
|
# Don't force requests from old versions of IE to be UTF-8 encoded.
|
|
Rails.application.config.action_view.default_enforce_utf8 = false
|
|
|
|
# Embed purpose and expiry metadata inside signed and encrypted
|
|
# cookies for increased security.
|
|
#
|
|
# This option is not backwards compatible with earlier Rails versions.
|
|
# It's best enabled when your entire app is migrated and stable on 6.0.
|
|
# Rails.application.config.action_dispatch.use_cookies_with_metadata = true
|
|
|
|
# Change the return value of `ActionDispatch::Response#content_type` to Content-Type header without modification.
|
|
# Rails.application.config.action_dispatch.return_only_media_type_on_content_type = false
|
|
|
|
# Return false instead of self when enqueuing is aborted from a callback.
|
|
Rails.application.config.active_job.return_false_on_aborted_enqueue = true
|
|
|
|
# Send Active Storage analysis and purge jobs to dedicated queues.
|
|
Rails.application.config.active_storage.queues.analysis = :active_storage_analysis
|
|
Rails.application.config.active_storage.queues.purge = :active_storage_purge
|
|
|
|
# When assigning to a collection of attachments declared via `has_many_attached`, replace existing
|
|
# attachments instead of appending. Use #attach to add new attachments without replacing existing ones.
|
|
Rails.application.config.active_storage.replace_on_assign_to_many = true
|
|
|
|
# Use ActionMailer::MailDeliveryJob for sending parameterized and normal mail.
|
|
#
|
|
# The default delivery jobs (ActionMailer::Parameterized::DeliveryJob, ActionMailer::DeliveryJob),
|
|
# will be removed in Rails 6.1. This setting is not backwards compatible with earlier Rails versions.
|
|
# If you send mail in the background, job workers need to have a copy of
|
|
# MailDeliveryJob to ensure all delivery jobs are processed properly.
|
|
# Make sure your entire app is migrated and stable on 6.0 before using this setting.
|
|
Rails.application.config.action_mailer.delivery_job = "ActionMailer::MailDeliveryJob"
|
|
|
|
# Enable the same cache key to be reused when the object being cached of type
|
|
# `ActiveRecord::Relation` changes by moving the volatile information (max updated at and count)
|
|
# of the relation's cache key into the cache version to support recycling cache key.
|
|
Rails.application.config.active_record.collection_cache_versioning = true
|
|
|
|
|
|
# The Rails 6 default autoloader is Zeitwerk. Zeitwerk has specific expectations on where certain
|
|
# classes should be defined. It also requires that constants are not autoloaded in initializers.
|
|
# Enabling Zeitwerk would be good, but it'll take some work. Using the :classic autoloader gives
|
|
# us the same autoloading that Rails 5.2 had.
|
|
# Rails.application.config.autoloader = :zeitwerk
|
|
Rails.application.config.autoloader = :classic
|