Upgrade to Rails 8.1#2559
Conversation
ENG-1743
Rails 8 rejects non-standard action names in :only. Remove :perform_sync and :perform_reset from users resources and add them as standalone named routes. Add explicit ViewComponent preview routes before the CMS wildcard. ENG-1743
Initialize no longer accepts arguments, replace super with super() in components that define their own initialize Add initializer to delegate image_pack_tag to helpers, which ViewComponent 4 no longer does automatically. ENG-1743
Remove config.sass, update mailer preview_path to preview_paths and update ViewComponent preview config to the 4 API ENG-1743
Rails 8.1 no longer allows adding a plain integer to a TimeWithZone. Add .seconds to convert before adding ENG-1743
Webpacker compile block now captures the result properly ENG-1743
…purious exit codes ENG-1743
…v at_exit override ENG-1743
ENG-1743
…_exit hook ENG-1743
…e information ENG-1743
7142424 to
1c148ba
Compare
The rescue isn't needed anymore. The SystemExit was only being raised because "component" wasn't found - now that the namespace is correctly "view_component:component", the generator will be found and exit 1 won't be called ENG-1743
| resources :sent_emails, only: %i[index show] | ||
| resources :support_audits, only: %i[index show update edit] | ||
| resources :users, only: %i[index create show edit perform_sync perform_reset update] do | ||
| resources :users, only: %i[index create show edit update] do |
There was a problem hiding this comment.
Are we certain that /perform_sync and /perform_reset are never called without the user_id param?
There was a problem hiding this comment.
Thanks, Matt. That's a really good spot. Although these actions are performed from within administrate and would have no front end effect, they need addressing. I'll put a fix together.
…update parameter handling ENG-1743
… routes and views ENG-1743
| end | ||
|
|
||
| def perform_reset | ||
| def perform_reset_tests |
There was a problem hiding this comment.
What was the reason for renaming this method?
There was a problem hiding this comment.
The original code had a mismatch. The route was named perform_reset but the controller action was perform_reset_tests. I made it more consistent, but then decided to rename back to perform_reset_tests because that's what it actually does (calls reset_tests), and now both the route and action are in line.
Sidekiq 7.3.9 calls ConnectionPool::TimedStack#pop with a positional argument. connection_pool 3.0 changed this to keyword-only, breaking the Sidekiq scheduler thread on startup ENG-1743
|



Upgrades Rails from 7.1 to 8.1.3 and resolves all breaking changes introduced by the upgrade.
Gem changes
Breaking changes fixed
Notes