gab-social/config/initializers/new_framework_defaults_6_0.rb

54 lines
2.9 KiB
Ruby
Raw Normal View History

Upgrade to Rails 6 - 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.)
2021-01-23 06:19:47 +00:00
# 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