Commit Graph
14 Commits
Author SHA1 Message Date
rubic0n 87c41ede7a Load Rails 6.0 defaults and remove 6.0 migration initializer 2021-01-31 17:39:13 -06:00
rubic0n 8c018b8088 Don't autoload in initializers: SidekiqErrorHandler
DEPRECATION WARNING: Initialization autoloaded the constant
SidekiqErrorHandler.
2021-01-31 17:39:13 -06:00
rubic0n 497ec0c1db Teach Zeitwerk that REST is the class name, not Rest
Also add a comment about the inflector settings.

NameError: uninitialized constant InitialStateSerializer::REST
Did you mean?  Rest
/vagrant/app/serializers/initial_state_serializer.rb:7:in `<class:InitialStateSerializer>'
/vagrant/app/serializers/initial_state_serializer.rb:3:in `<main>'
2021-01-31 17:39:13 -06:00
rubic0n bee832d4ef Fix Zeitwerk load error for SanitizeConfig
"expected file app/lib/sanitize_config.rb to define constant
SanitizeConfig"
2021-01-31 17:39:13 -06:00
rubic0n 2b9144d50c Fix "NameError: uninitialized constant Exceptions"
Zeitwerk operates on files in the autoload paths. Since the
entire "app" directory is autoloaded, all files inside need to
play by Zeitwerk's rules. Zeitwerk expects that a file named
"exceptions.rb" would define a constant named "Exceptions".

The exceptions file doesn't follow Zeitwerk's conventions.
The easiest way to solve this is to move the execptions out of
app/lib and into lib, where `require_relative` doesn't have
Zeitwerk taken into account.
2021-01-31 17:39:13 -06:00
rubic0n f77fa3ca4a Fix autoloading in initialization
DEPRECATION WARNING: Initialization autoloaded the constants
ActionText::ContentHelper and ActionText::TagHelper.

https://github.com/rails/rails/issues/36546

Rails has a Railtie that will take the config setting out of Rails
config, and put it onto ActionController when ActionController is
loaded. Calling ActionController in the initializer forces it to
autoload right now. Referencing the setting through the config allows
it to autoload in when it needs to.
2021-01-31 17:04:58 -06:00
rubic0n 2f95b0d67e Enable remaining settings
- use_cookies_with_metadata
  Provided extra options for cookies. Existing cookies will work fine.
  https://github.com/rails/rails/issues/36546
- return_only_media_type_on_content_type
  Include the charset in the content type. Looking at the headers that
  are being returned, it already did this.
- Use Zeitwerk as the autoloader
  https://github.com/fxn/zeitwerk
2021-01-31 17:04:58 -06:00
rubic0n 2952c9f59d Simplify db config 2021-01-24 23:57:30 -06:00
rubic0n 1b9349bc52 Remove unnecessary queries from requested conversations count 2021-01-24 23:19:20 -06:00
rubic0n 28beb28a78 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 09:01:31 -06:00
rubic0n 70c29c6cbd Fix "ERR! error: password authentication failed for user "vagrant"" 2021-01-23 09:00:35 -06:00
rubic0n 590dfc97e1 Run pending migrations 2021-01-22 22:53:38 -06:00
rubic0n 4f4f248fa1 postgresql_makara adapter is Postgres, not MySQL 2021-01-22 22:53:38 -06:00
rubic0n 194971da19 Install Redis 4+ since Sidekiq 5 needs that 2021-01-22 22:53:38 -06:00