5
11
Fork
You've already forked tomato
1

Upgrade to rails 8.1 #129

Merged
edwardloveall merged 1 commit from el-rails-8-1 into main 2026年03月26日 21:41:08 +01:00

This is the result of updating some npm packages, the rails gem, and running
rails app:update. Then I went through all the changed files and ensured all our
customizations stayed intact.

New framework defaults

action_controller.escape_json_responses

This all seems to render fine. For example I made a task log with notes of <>&
and then copied them from a pickup to drop off task. This will render the notes
as json explicitly. Everything worked.

active_support.escape_js_separators_in_json

Can't figure out how to test this but all the tests pass.

active_record.raise_on_missing_required_finder_order_columns

All of the places we call first in ruby are on models that have primary keys
or are sorted.

action_controller.action_on_path_relative_redirect

I'm not sure how to find all these, but all tests pass

action_view.render_tracker

Seems to work fine

action_view.remove_hidden_field_autocomplete

Removing autocomplete on hidden fields works fine for us

This is the result of updating some npm packages, the rails gem, and running rails app:update. Then I went through all the changed files and ensured all our customizations stayed intact. ## New framework defaults ### action_controller.escape_json_responses This all seems to render fine. For example I made a task log with notes of `<>&` and then copied them from a pickup to drop off task. This will render the notes as json explicitly. Everything worked. ### active_support.escape_js_separators_in_json Can't figure out how to test this but all the tests pass. ### active_record.raise_on_missing_required_finder_order_columns All of the places we call `first` in ruby are on models that have primary keys or are sorted. ## action_controller.action_on_path_relative_redirect I'm not sure how to find all these, but all tests pass ## action_view.render_tracker Seems to work fine ## action_view.remove_hidden_field_autocomplete Removing `autocomplete` on hidden fields works fine for us
Upgrade to rails 8.1
Some checks failed
ci/woodpecker/pr/ci Pipeline failed
efc7a6fbf9
This is the result of updating some npm packages, the rails gem, and running
rails app:update. Then I went through all the changed files and ensured all our
customizations stayed intact.
## New framework defaults
### action_controller.escape_json_responses
This all seems to render fine. For example I made a task log with notes of `<>&`
and then copied them from a pickup to drop off task. This will render the notes
as json explicitly. Everything worked.
### active_support.escape_js_separators_in_json
Can't figure out how to test this but all the tests pass.
### active_record.raise_on_missing_required_finder_order_columns
All of the places we call `first` in ruby are on models that have primary keys
or are sorted.
## action_controller.action_on_path_relative_redirect
I'm not sure how to find all these, but all tests pass
## action_view.render_tracker
Seems to work fine
## action_view.remove_hidden_field_autocomplete
Removing `autocomplete` on hidden fields works fine for us
jsilasbailey left a comment
Copy link

🚀 8.1

🚀 8.1
@ -15,6 +15,7 @@
<%= yield :page_scripts %>
<%= csrf_meta_tag %>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<meta name="turbo-refresh-method" content="morph">
First-time contributor
Copy link

Exciting!

Exciting!
Author
Owner
Copy link

Oh, hah! I didn't mean to ship that. Will remove soon.

Oh, hah! I didn't mean to ship that. Will remove soon.
config/ci.rb Outdated
@ -0,0 +1,18 @@
# Run using bin/ci
First-time contributor
Copy link

What's the idea around using local CI for this project? I notice that tests are missing, so is this just to run pre-test checks?

What's the idea around using local CI for this project? I notice that tests are missing, so is this just to run pre-test checks?
Author
Owner
Copy link

I don't plan to use the rails default CI. But I do want to make upgrades easy. I've been leaning into using as many defaults as I can and customizing only where the app needs it. So I just let these files get added and never touch or use them so that next upgrade it's less diffs.

Although I could see an argument for just removing them entirely which would also create less diffs, but also slightly more work on the upgrade side to delete these.

I don't plan to use the rails default CI. But I do want to make upgrades easy. I've been leaning into using as many defaults as I can and customizing only where the app needs it. So I just let these files get added and never touch or use them so that next upgrade it's less diffs. Although I could see an argument for just removing them entirely which would also create less diffs, but also slightly more work on the upgrade side to delete these.
Author
Owner
Copy link

Ugh okay CI didn't line up to standard's style. Gonna just remove it.

Ugh okay CI didn't line up to standard's style. Gonna just remove it.
@ -5,3 +5,3 @@
# See the ActiveSupport::ParameterFilter documentation for supported notations and behaviors.
Rails.application.config.filter_parameters += [
:passw, :email, :secret, :token, :_key, :crypt, :salt, :certificate, :otp, :ssn, :cvv, :cvc, :password
:passw, :email, :secret, :token, :_key, :crypt, :salt, :certificate, :otp, :ssn, :cvv, :cvc
Author
Owner
Copy link

I realized that passw also covers password:

Loading development environment (Rails 8.1.2.1) tomato(dev):001> ActiveSupport::ParameterFilter.new([:passw]).filter({password: "hunter2"})
=> {password: "[FILTERED]"}
I realized that `passw` also covers `password`: ``` Loading development environment (Rails 8.1.2.1) tomato(dev):001> ActiveSupport::ParameterFilter.new([:passw]).filter({password: "hunter2"}) => {password: "[FILTERED]"} ```
edwardloveall force-pushed el-rails-8-1 from efc7a6fbf9
Some checks failed
ci/woodpecker/pr/ci Pipeline failed
to 19a87250f1
Some checks failed
ci/woodpecker/pr/ci Pipeline failed
2026年03月25日 15:17:29 +01:00
Compare
edwardloveall force-pushed el-rails-8-1 from 19a87250f1
Some checks failed
ci/woodpecker/pr/ci Pipeline failed
to e3c8c6eb77
Some checks failed
ci/woodpecker/pr/ci Pipeline failed
2026年03月25日 15:21:05 +01:00
Compare
edwardloveall force-pushed el-rails-8-1 from e3c8c6eb77
Some checks failed
ci/woodpecker/pr/ci Pipeline failed
to d85a39c47b
All checks were successful
ci/woodpecker/pr/ci Pipeline was successful
2026年03月26日 21:00:28 +01:00
Compare
edwardloveall changed target branch from el-shift-date-range to main 2026年03月26日 21:40:29 +01:00
edwardloveall deleted branch el-rails-8-1 2026年03月26日 21:41:10 +01:00
Sign in to join this conversation.
No reviewers
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
rootable/tomato!129
Reference in a new issue
rootable/tomato
No description provided.
Delete branch "el-rails-8-1"

Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?