Skip to content

FIX: Lock Bullet gem to a compatible version #32724

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
May 15, 2025

Conversation

Drenmi
Copy link
Contributor

@Drenmi Drenmi commented May 14, 2025

What is this change?

Because we use a custom ContentSecurityPolicy middleware, the latest versions (> 8.0.3) of Bullet error out on load:

Stacktrace
/Users/drenmi/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/actionpack-7.2.2.1/lib/action_dispatch/middleware/stack.rb:180:in `assert_index': No such middleware to insert before: ActionDispatch::ContentSecurityPolicy::Middleware (RuntimeError)
	from /Users/drenmi/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/actionpack-7.2.2.1/lib/action_dispatch/middleware/stack.rb:107:in `insert'
	from /Users/drenmi/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/railties-7.2.2.1/lib/rails/configuration.rb:53:in `block in insert_before'
	from /Users/drenmi/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/railties-7.2.2.1/lib/rails/configuration.rb:90:in `block in merge_into'
	from /Users/drenmi/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/railties-7.2.2.1/lib/rails/configuration.rb:89:in `each'
	from /Users/drenmi/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/railties-7.2.2.1/lib/rails/configuration.rb:89:in `merge_into'
	from /Users/drenmi/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/railties-7.2.2.1/lib/rails/engine.rb:520:in `block in app'
	from /Users/drenmi/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/railties-7.2.2.1/lib/rails/engine.rb:517:in `synchronize'
	from /Users/drenmi/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/railties-7.2.2.1/lib/rails/engine.rb:517:in `app'
	from /Users/drenmi/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/railties-7.2.2.1/lib/rails/application/finisher.rb:58:in `block in <module:Finisher>'
	from /Users/drenmi/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/railties-7.2.2.1/lib/rails/initializable.rb:32:in `instance_exec'
	from /Users/drenmi/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/railties-7.2.2.1/lib/rails/initializable.rb:32:in `run'
	from /Users/drenmi/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/railties-7.2.2.1/lib/rails/initializable.rb:61:in `block in run_initializers'
	from /Users/drenmi/.rbenv/versions/3.3.6/lib/ruby/3.3.0/tsort.rb:231:in `block in tsort_each'
	from /Users/drenmi/.rbenv/versions/3.3.6/lib/ruby/3.3.0/tsort.rb:353:in `block (2 levels) in each_strongly_connected_component'
	from /Users/drenmi/.rbenv/versions/3.3.6/lib/ruby/3.3.0/tsort.rb:434:in `each_strongly_connected_component_from'
	from /Users/drenmi/.rbenv/versions/3.3.6/lib/ruby/3.3.0/tsort.rb:352:in `block in each_strongly_connected_component'
	from /Users/drenmi/.rbenv/versions/3.3.6/lib/ruby/3.3.0/tsort.rb:350:in `each'
	from /Users/drenmi/.rbenv/versions/3.3.6/lib/ruby/3.3.0/tsort.rb:350:in `call'
	from /Users/drenmi/.rbenv/versions/3.3.6/lib/ruby/3.3.0/tsort.rb:350:in `each_strongly_connected_component'
	from /Users/drenmi/.rbenv/versions/3.3.6/lib/ruby/3.3.0/tsort.rb:229:in `tsort_each'
	from /Users/drenmi/.rbenv/versions/3.3.6/lib/ruby/3.3.0/tsort.rb:208:in `tsort_each'
	from /Users/drenmi/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/railties-7.2.2.1/lib/rails/initializable.rb:60:in `run_initializers'
	from /Users/drenmi/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/railties-7.2.2.1/lib/rails/application.rb:435:in `initialize!'
	from /Users/drenmi/Workspace/Discourse/discourse/config/environment.rb:7:in `<top (required)>'
	from /Users/drenmi/.rbenv/versions/3.3.6/lib/ruby/3.3.0/bundled_gems.rb:69:in `require'
	from /Users/drenmi/.rbenv/versions/3.3.6/lib/ruby/3.3.0/bundled_gems.rb:69:in `block (2 levels) in replace_require'
	from config.ru:7:in `block in <main>'
	from /Users/drenmi/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/rack-2.2.13/lib/rack/builder.rb:125:in `instance_eval'
	from /Users/drenmi/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/rack-2.2.13/lib/rack/builder.rb:125:in `initialize'
	from config.ru:1:in `new'
	from config.ru:1:in `<main>'
	from /Users/drenmi/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/unicorn-6.1.0/lib/unicorn.rb:54:in `eval'
	from /Users/drenmi/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/unicorn-6.1.0/lib/unicorn.rb:54:in `block in builder'
	from /Users/drenmi/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/unicorn-6.1.0/lib/unicorn/http_server.rb:821:in `build_app!'
	from /Users/drenmi/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/unicorn-6.1.0/lib/unicorn/http_server.rb:140:in `start'
	from /Users/drenmi/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/unicorn-6.1.0/bin/unicorn:128:in `<top (required)>'
	from /Users/drenmi/Workspace/Discourse/discourse/bin/unicorn:96:in `load'
	from /Users/drenmi/Workspace/Discourse/discourse/bin/unicorn:96:in `block in <main>'
	from /Users/drenmi/Workspace/Discourse/discourse/bin/unicorn:95:in `fork'
	from /Users/drenmi/Workspace/Discourse/discourse/bin/unicorn:95:in `<main>'

This PR locks the gem to the latest compatible version.

Upstream: flyerhzm/bullet#747

@Drenmi Drenmi merged commit 29eb2eb into main May 15, 2025
17 checks passed
@Drenmi Drenmi deleted the fix/restrict-bullet-to-working-version branch May 15, 2025 02:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

2 participants