Skip to content
Open
Show file tree
Hide file tree
Changes from 19 commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
25062ab
bundle update rails
stefannibrasil May 15, 2026
26c5be9
We don't use webpacker anymore
stefannibrasil May 12, 2026
630dcbc
Remove unnecessary require from test file
stefannibrasil May 12, 2026
c64228a
fix invalid routes with only and except
stefannibrasil May 15, 2026
2926355
committing all changes to compare on the browser
stefannibrasil May 15, 2026
e8e2c6f
add application.rb changes back
stefannibrasil May 15, 2026
d105099
bring custom error pages back
stefannibrasil May 15, 2026
6a743b0
bring back needed configurations after override
stefannibrasil May 15, 2026
546cb03
this is needed
stefannibrasil May 15, 2026
46786dc
enable rails 8.0 config defaults
stefannibrasil May 15, 2026
d2d4c87
bring custom development and production configs
stefannibrasil May 15, 2026
ac8147c
remove this extra config
stefannibrasil May 15, 2026
34041c3
revert bin/setup script
stefannibrasil May 15, 2026
577e4ea
fewer file changes
stefannibrasil May 15, 2026
6073c8a
even fewer file changes
stefannibrasil May 15, 2026
b820957
keep this PR focused and leave a helpful comment
stefannibrasil May 15, 2026
c5af932
fix 404 spec
stefannibrasil May 20, 2026
fa5fcdb
Oops
stefannibrasil May 20, 2026
d37e734
linter
stefannibrasil May 20, 2026
f2795e6
I don't think require is needed
stefannibrasil May 20, 2026
0d0f7a3
Merge remote-tracking branch 'origin/main' into upgrade-to-rails-8.0
stefannibrasil May 25, 2026
da04d0e
Rails 8: schema update (no functional change)
stefannibrasil May 25, 2026
5fac7dd
Merge remote-tracking branch 'origin/main' into upgrade-to-rails-8.0
stefannibrasil May 26, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
source "https://rubygems.org"

ruby "4.0.3"
gem "rails", "~> 7.2"
gem "rails", "~> 8.0"

gem "after_party" # Post-deployment tasks
gem "amazing_print" # Easier console reading
Expand Down
139 changes: 69 additions & 70 deletions Gemfile.lock
Original file line number Diff line number Diff line change
@@ -1,72 +1,69 @@
GEM
remote: https://rubygems.org/
specs:
actioncable (7.2.3.1)
actionpack (= 7.2.3.1)
activesupport (= 7.2.3.1)
actioncable (8.0.5)
actionpack (= 8.0.5)
activesupport (= 8.0.5)
nio4r (~> 2.0)
websocket-driver (>= 0.6.1)
zeitwerk (~> 2.6)
actionmailbox (7.2.3.1)
actionpack (= 7.2.3.1)
activejob (= 7.2.3.1)
activerecord (= 7.2.3.1)
activestorage (= 7.2.3.1)
activesupport (= 7.2.3.1)
actionmailbox (8.0.5)
actionpack (= 8.0.5)
activejob (= 8.0.5)
activerecord (= 8.0.5)
activestorage (= 8.0.5)
activesupport (= 8.0.5)
mail (>= 2.8.0)
actionmailer (7.2.3.1)
actionpack (= 7.2.3.1)
actionview (= 7.2.3.1)
activejob (= 7.2.3.1)
activesupport (= 7.2.3.1)
actionmailer (8.0.5)
actionpack (= 8.0.5)
actionview (= 8.0.5)
activejob (= 8.0.5)
activesupport (= 8.0.5)
mail (>= 2.8.0)
rails-dom-testing (~> 2.2)
actionpack (7.2.3.1)
actionview (= 7.2.3.1)
activesupport (= 7.2.3.1)
cgi
actionpack (8.0.5)
actionview (= 8.0.5)
activesupport (= 8.0.5)
nokogiri (>= 1.8.5)
racc
rack (>= 2.2.4, < 3.3)
rack (>= 2.2.4)
rack-session (>= 1.0.1)
rack-test (>= 0.6.3)
rails-dom-testing (~> 2.2)
rails-html-sanitizer (~> 1.6)
useragent (~> 0.16)
actiontext (7.2.3.1)
actionpack (= 7.2.3.1)
activerecord (= 7.2.3.1)
activestorage (= 7.2.3.1)
activesupport (= 7.2.3.1)
actiontext (8.0.5)
actionpack (= 8.0.5)
activerecord (= 8.0.5)
activestorage (= 8.0.5)
activesupport (= 8.0.5)
globalid (>= 0.6.0)
nokogiri (>= 1.8.5)
actionview (7.2.3.1)
activesupport (= 7.2.3.1)
actionview (8.0.5)
activesupport (= 8.0.5)
builder (~> 3.1)
cgi
erubi (~> 1.11)
rails-dom-testing (~> 2.2)
rails-html-sanitizer (~> 1.6)
activejob (7.2.3.1)
activesupport (= 7.2.3.1)
activejob (8.0.5)
activesupport (= 8.0.5)
globalid (>= 0.3.6)
activemodel (7.2.3.1)
activesupport (= 7.2.3.1)
activemodel (8.0.5)
activesupport (= 8.0.5)
activemodel-serializers-xml (1.0.3)
activemodel (>= 5.0.0.a)
activesupport (>= 5.0.0.a)
builder (~> 3.1)
activerecord (7.2.3.1)
activemodel (= 7.2.3.1)
activesupport (= 7.2.3.1)
activerecord (8.0.5)
activemodel (= 8.0.5)
activesupport (= 8.0.5)
timeout (>= 0.4.0)
activestorage (7.2.3.1)
actionpack (= 7.2.3.1)
activejob (= 7.2.3.1)
activerecord (= 7.2.3.1)
activesupport (= 7.2.3.1)
activestorage (8.0.5)
actionpack (= 8.0.5)
activejob (= 8.0.5)
activerecord (= 8.0.5)
activesupport (= 8.0.5)
marcel (~> 1.0)
activesupport (7.2.3.1)
activesupport (8.0.5)
base64
benchmark (>= 0.3)
bigdecimal
Expand All @@ -75,16 +72,17 @@ GEM
drb
i18n (>= 1.6, < 2)
logger (>= 1.4.2)
minitest (>= 5.1, < 6)
minitest (>= 5.1)
securerandom (>= 0.3)
tzinfo (~> 2.0, >= 2.0.5)
uri (>= 0.13.1)
addressable (2.9.0)
public_suffix (>= 2.0.2, < 8.0)
after_party (2.1.0)
amazing_print (2.0.0)
annotate (3.2.0)
activerecord (>= 3.2, < 8.0)
rake (>= 10.4, < 14.0)
annotate (2.6.5)
activerecord (>= 2.3.0)
rake (>= 0.8.7)
ast (2.4.3)
authtrail (1.0.0)
railties (>= 7.2)
Expand Down Expand Up @@ -141,13 +139,12 @@ GEM
caxlsx_rails (0.7.1)
actionpack (>= 6.1)
caxlsx (>= 4.0)
cgi (0.5.1)
childprocess (5.1.0)
logger (~> 1.5)
cliver (0.3.2)
coderay (1.1.3)
concurrent-ruby (1.3.6)
connection_pool (2.5.5)
connection_pool (3.0.2)
crack (1.0.1)
bigdecimal
rexml
Expand Down Expand Up @@ -195,7 +192,7 @@ GEM
htmlentities (~> 4.3)
launchy (>= 2.1, < 4.0)
mail (~> 2.7)
erb (6.0.2)
erb (6.0.4)
erb_lint (0.9.0)
activesupport
better_html (>= 2.0.1)
Expand Down Expand Up @@ -285,7 +282,7 @@ GEM
mini_magick (>= 4.9.5, < 6)
ruby-vips (>= 2.0.17, < 3)
io-console (0.8.2)
irb (1.17.0)
irb (1.18.0)
pp (>= 0.6.0)
prism (>= 1.3.0)
rdoc (>= 4.0.0)
Expand Down Expand Up @@ -334,12 +331,14 @@ GEM
logger
mini_mime (1.1.5)
mini_portile2 (2.8.9)
minitest (5.27.0)
minitest (6.0.6)
drb (~> 2.0)
prism (~> 1.5)
multi_xml (0.8.1)
bigdecimal (>= 3.1, < 5)
multipart-post (2.4.1)
net-http-persistent (4.0.4)
connection_pool (~> 2.2)
net-http-persistent (4.0.8)
connection_pool (>= 2.2.4, < 4)
net-imap (0.6.4)
date
net-protocol
Expand Down Expand Up @@ -458,20 +457,20 @@ GEM
rack (>= 1.3)
rackup (2.3.1)
rack (>= 3)
rails (7.2.3.1)
actioncable (= 7.2.3.1)
actionmailbox (= 7.2.3.1)
actionmailer (= 7.2.3.1)
actionpack (= 7.2.3.1)
actiontext (= 7.2.3.1)
actionview (= 7.2.3.1)
activejob (= 7.2.3.1)
activemodel (= 7.2.3.1)
activerecord (= 7.2.3.1)
activestorage (= 7.2.3.1)
activesupport (= 7.2.3.1)
rails (8.0.5)
actioncable (= 8.0.5)
actionmailbox (= 8.0.5)
actionmailer (= 8.0.5)
actionpack (= 8.0.5)
actiontext (= 8.0.5)
actionview (= 8.0.5)
activejob (= 8.0.5)
activemodel (= 8.0.5)
activerecord (= 8.0.5)
activestorage (= 8.0.5)
activesupport (= 8.0.5)
bundler (>= 1.15.0)
railties (= 7.2.3.1)
railties (= 8.0.5)
rails-controller-testing (1.0.5)
actionpack (>= 5.0.1.rc1)
actionview (>= 5.0.1.rc1)
Expand All @@ -483,10 +482,9 @@ GEM
rails-html-sanitizer (1.7.0)
loofah (~> 2.25)
nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0)
railties (7.2.3.1)
actionpack (= 7.2.3.1)
activesupport (= 7.2.3.1)
cgi
railties (8.0.5)
actionpack (= 8.0.5)
activesupport (= 8.0.5)
irb (~> 1.13)
rackup (>= 1.0.0)
rake (>= 12.2)
Expand Down Expand Up @@ -669,6 +667,7 @@ GEM
unicode-display_width (3.2.0)
unicode-emoji (~> 4.1)
unicode-emoji (4.2.0)
uri (1.1.1)
useragent (0.16.11)
view_component (4.8.0)
actionview (>= 7.1.0)
Expand Down Expand Up @@ -763,7 +762,7 @@ DEPENDENCIES
pundit
rack-attack
rack-cors
rails (~> 7.2)
rails (~> 8.0)
rails-controller-testing
request_store
rexml
Expand Down
11 changes: 2 additions & 9 deletions bin/dev
Original file line number Diff line number Diff line change
@@ -1,9 +1,2 @@
#!/usr/bin/env bash

if ! command -v foreman &> /dev/null
then
echo "Installing foreman..."
gem install foreman
fi

foreman start -f Procfile.dev "$@"
#!/usr/bin/env ruby
exec "./bin/rails", "server", *ARGV
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I tested things locally and this seems fine. Could someone try it out and see if it's best to keep the previous changes?

8 changes: 8 additions & 0 deletions bin/rubocop
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#!/usr/bin/env ruby
require "rubygems"
require "bundler/setup"

# explicit rubocop config increases performance slightly while avoiding config confusion.
ARGV.unshift("--config", File.expand_path("../.rubocop.yml", __dir__))

load Gem.bin_path("rubocop", "rubocop")
2 changes: 1 addition & 1 deletion bin/setup
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ require 'fileutils'
APP_ROOT = File.expand_path('..', __dir__)

def system!(*args)
system(*args, exception: true) || abort("\n== Command #{args} failed ==")
system(*args, exception: true)
end

FileUtils.chdir APP_ROOT do
Expand Down
33 changes: 14 additions & 19 deletions config/environments/development.rb
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,7 @@
Rails.application.configure do
# Settings specified here will take precedence over those in config/application.rb.

# In the development environment your application's code is reloaded any time
# it changes. This slows down response time but is perfect for development
# since you don't have to restart the web server when you make code changes.
# Make code changes take effect immediately without server restart.
config.enable_reloading = true

# Do not eager load code on boot.
Expand All @@ -14,32 +12,29 @@
# Show full error reports.
config.consider_all_requests_local = true

# Enable server timing
# Enable server timing.
config.server_timing = true

# Enable/disable caching. By default caching is disabled.
# Run rails dev:cache to toggle caching.
# Enable/disable Action Controller caching. By default Action Controller caching is disabled.
# Run rails dev:cache to toggle Action Controller caching.
if Rails.root.join("tmp/caching-dev.txt").exist?
config.action_controller.perform_caching = true
config.action_controller.enable_fragment_cache_logging = true

config.cache_store = :memory_store
config.public_file_server.headers = {
"Cache-Control" => "public, max-age=#{2.days.to_i}"
}
config.public_file_server.headers = {"cache-control" => "public, max-age=#{2.days.to_i}"}
else
config.action_controller.perform_caching = false

config.cache_store = :null_store
end

# Store uploaded files on the local file system (see config/storage.yml for options).
config.active_storage.service = :local

# Don't care if the mailer can't send.
config.action_mailer.default_url_options = {host: "localhost", port: 3000}
config.action_mailer.default_url_options = {host: "localhost", port: 3000} # Set localhost to be used by links generated in mailer templates.
config.action_mailer.delivery_method = :letter_opener
config.action_mailer.perform_deliveries = true
# Make template changes take effect immediately.
config.action_mailer.perform_caching = false
config.action_mailer.raise_delivery_errors = false

Expand All @@ -58,33 +53,33 @@
# Highlight code that triggered database queries in logs.
config.active_record.verbose_query_logs = true

# Append comments with runtime information tags to SQL queries in logs.
config.active_record.query_log_tags_enabled = true

# Highlight code that enqueued background job in logs.
config.active_job.verbose_enqueue_logs = true

# Suppress logger output for asset requests.
config.assets.quiet = true
config.assets.digest = false

# Raises error for missing translations.
# config.i18n.raise_on_missing_translations = true

# Prosopite N+1 query detection
config.prosopite_enabled = true
config.prosopite_min_n_queries = 5 # More lenient for development

# Annotate rendered view with file names.
config.action_view.annotate_rendered_view_with_filenames = true

# Uncomment if you wish to allow Action Cable access from any origin.
# config.action_cable.disable_request_forgery_protection = true

config.hosts << ENV["DEV_HOSTS"]
config.hosts << ".app.github.dev"

if ENV["CODESPACES"] === "true"
config.action_controller.forgery_protection_origin_check = false
end

# Raise error when a before_action's only/except options reference missing actions
# Raise error when a before_action's only/except options reference missing actions.
config.action_controller.raise_on_missing_callback_actions = false

# Apply autocorrection by RuboCop to files generated by `bin/rails generate`.
# config.generators.apply_rubocop_autocorrect_after_generate!
end
Loading
Loading