• Added:
- captcha for sign up form
- empty ENV variables for: GAB_CAPTCHA_SECRET_KEY, GAB_CAPTCHA_CLIENT_KEY to be configured within captcha.gab.com
- Script insertion within registrations/new.html.haml containing instantiation for captcha.gab.com with our client key and challenge buster
- Div within registration form for #gab-captcha for the challenge to get inserted within
- Checks in RegistrationsController for captcha verification using server token (automatically generated in form), secret [server] key before checking if username/password/email is valid
- 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.)