Skip to content
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

ruby_event_store-browser 2.10 undefined method `match?' for nil:NilClass #1647

Closed
cvandermeer opened this issue Jul 24, 2023 · 4 comments
Closed
Assignees
Labels

Comments

@cvandermeer
Copy link

cvandermeer commented Jul 24, 2023

The upgrade from 2.9 to 2.10 broke the rails event store browser

NoMethodError (undefined method `match?' for nil:NilClass):

      def from_git?
        path.match? %r{/bundler/gems/rails_event_store-[a-z0-9]{12}/ruby_event_store-browser/lib\z}
      end
  
ruby_event_store-browser (2.11.0) lib/ruby_event_store/browser/gem_source.rb:28:in `from_git?'
ruby_event_store-browser (2.11.0) lib/ruby_event_store/browser/urls.rb:52:in `browser_js_url'
ruby_event_store-browser (2.11.0) lib/ruby_event_store/browser/app.rb:88:in `block (2 levels) in call'
ruby_event_store-browser (2.11.0) lib/ruby_event_store/browser/router.rb:26:in `call'
ruby_event_store-browser (2.11.0) lib/ruby_event_store/browser/router.rb:50:in `block in handle'
ruby_event_store-browser (2.11.0) lib/ruby_event_store/browser/router.rb:48:in `each'
ruby_event_store-browser (2.11.0) lib/ruby_event_store/browser/router.rb:48:in `handle'
ruby_event_store-browser (2.11.0) lib/ruby_event_store/browser/app.rb:98:in `call'
rack (2.2.7) lib/rack/static.rb:161:in `call'
rack (2.2.7) lib/rack/builder.rb:244:in `call'
railties (7.0.6) lib/rails/engine.rb:530:in `call'
railties (7.0.6) lib/rails/railtie.rb:226:in `public_send'
railties (7.0.6) lib/rails/railtie.rb:226:in `method_missing'
actionpack (7.0.6) lib/action_dispatch/routing/mapper.rb:19:in `block in <class:Constraints>'
actionpack (7.0.6) lib/action_dispatch/routing/mapper.rb:48:in `serve'
actionpack (7.0.6) lib/action_dispatch/journey/router.rb:50:in `block in serve'
actionpack (7.0.6) lib/action_dispatch/journey/router.rb:32:in `each'
actionpack (7.0.6) lib/action_dispatch/journey/router.rb:32:in `serve'
actionpack (7.0.6) lib/action_dispatch/routing/route_set.rb:852:in `call'
omniauth (2.1.1) lib/omniauth/strategy.rb:202:in `call!'
omniauth (2.1.1) lib/omniauth/strategy.rb:169:in `call'
omniauth (2.1.1) lib/omniauth/strategy.rb:202:in `call!'
omniauth (2.1.1) lib/omniauth/strategy.rb:169:in `call'
actionpack (7.0.6) lib/action_dispatch/middleware/static.rb:23:in `call'
flipper (0.25.4) lib/flipper/middleware/memoizer.rb:72:in `memoized_call'
flipper (0.25.4) lib/flipper/middleware/memoizer.rb:37:in `call'
rails_event_store (2.11.0) lib/rails_event_store/middleware.rb:11:in `block in call'
rails_event_store (2.11.0) lib/rails_event_store/client.rb:33:in `block in with_request_metadata'
ruby_event_store (2.11.0) lib/ruby_event_store/client.rb:264:in `with_metadata'
rails_event_store (2.11.0) lib/rails_event_store/client.rb:33:in `with_request_metadata'
rails_event_store (2.11.0) lib/rails_event_store/middleware.rb:11:in `call'
warden (1.2.9) lib/warden/manager.rb:36:in `block in call'
warden (1.2.9) lib/warden/manager.rb:34:in `catch'
warden (1.2.9) lib/warden/manager.rb:34:in `call'
rack (2.2.7) lib/rack/tempfile_reaper.rb:15:in `call'
rack (2.2.7) lib/rack/etag.rb:27:in `call'
rack (2.2.7) lib/rack/conditional_get.rb:27:in `call'
rack (2.2.7) lib/rack/head.rb:12:in `call'
actionpack (7.0.6) lib/action_dispatch/http/permissions_policy.rb:38:in `call'
actionpack (7.0.6) lib/action_dispatch/http/content_security_policy.rb:36:in `call'
rack (2.2.7) lib/rack/session/abstract/id.rb:266:in `context'
rack (2.2.7) lib/rack/session/abstract/id.rb:260:in `call'
actionpack (7.0.6) lib/action_dispatch/middleware/cookies.rb:704:in `call'
activerecord (7.0.6) lib/active_record/migration.rb:603:in `call'
actionpack (7.0.6) lib/action_dispatch/middleware/callbacks.rb:27:in `block in call'
activesupport (7.0.6) lib/active_support/callbacks.rb:99:in `run_callbacks'
actionpack (7.0.6) lib/action_dispatch/middleware/callbacks.rb:26:in `call'
actionpack (7.0.6) lib/action_dispatch/middleware/executor.rb:14:in `call'
actionpack (7.0.6) lib/action_dispatch/middleware/actionable_exceptions.rb:17:in `call'
appsignal (3.4.8) lib/appsignal/rack/rails_instrumentation.rb:19:in `call'
actionpack (7.0.6) lib/action_dispatch/middleware/debug_exceptions.rb:28:in `call'
actionpack (7.0.6) lib/action_dispatch/middleware/show_exceptions.rb:29:in `call'
railties (7.0.6) lib/rails/rack/logger.rb:40:in `call_app'
railties (7.0.6) lib/rails/rack/logger.rb:25:in `block in call'
activesupport (7.0.6) lib/active_support/tagged_logging.rb:99:in `block in tagged'
activesupport (7.0.6) lib/active_support/tagged_logging.rb:37:in `tagged'
activesupport (7.0.6) lib/active_support/tagged_logging.rb:99:in `tagged'
railties (7.0.6) lib/rails/rack/logger.rb:25:in `call'
sprockets-rails (3.4.2) lib/sprockets/rails/quiet_assets.rb:13:in `call'
actionpack (7.0.6) lib/action_dispatch/middleware/remote_ip.rb:93:in `call'
request_store (1.5.1) lib/request_store/middleware.rb:19:in `call'
actionpack (7.0.6) lib/action_dispatch/middleware/request_id.rb:26:in `call'
rack (2.2.7) lib/rack/method_override.rb:24:in `call'
rack (2.2.7) lib/rack/runtime.rb:22:in `call'
activesupport (7.0.6) lib/active_support/cache/strategy/local_cache_middleware.rb:29:in `call'
actionpack (7.0.6) lib/action_dispatch/middleware/server_timing.rb:61:in `block in call'
actionpack (7.0.6) lib/action_dispatch/middleware/server_timing.rb:26:in `collect_events'
actionpack (7.0.6) lib/action_dispatch/middleware/server_timing.rb:60:in `call'
actionpack (7.0.6) lib/action_dispatch/middleware/executor.rb:14:in `call'
actionpack (7.0.6) lib/action_dispatch/middleware/static.rb:23:in `call'
rack (2.2.7) lib/rack/sendfile.rb:110:in `call'
actionpack (7.0.6) lib/action_dispatch/middleware/host_authorization.rb:137:in `call'
rack-cors (2.0.1) lib/rack/cors.rb:102:in `call'
webpacker (5.4.4) lib/webpacker/dev_server_proxy.rb:25:in `perform_request'
rack-proxy (0.7.6) lib/rack/proxy.rb:87:in `call'
railties (7.0.6) lib/rails/engine.rb:530:in `call'
puma (5.6.6) lib/puma/configuration.rb:252:in `call'
puma (5.6.6) lib/puma/request.rb:77:in `block in handle_request'
puma (5.6.6) lib/puma/thread_pool.rb:340:in `with_force_shutdown'
puma (5.6.6) lib/puma/request.rb:76:in `handle_request'
puma (5.6.6) lib/puma/server.rb:443:in `process_client'
puma (5.6.6) lib/puma/thread_pool.rb:147:in `block in spawn_thread'
@mostlyobvious mostlyobvious self-assigned this Jul 24, 2023
@mostlyobvious
Copy link
Member

mostlyobvious commented Jul 24, 2023

When releasing 2.10.0 we've made a mistake and released it as 2.10, which is a two-digit version number. This is the unexpected part, which broke the code assumptions.

There's already 2.11.0 release free of this issue. I'd recommend upgrading to this release.

In the meantime we're planning to re-release 2.10.0 and yank 2.10 from Rubygems.

@mostlyobvious
Copy link
Member

2.11.0 seems to be affected by this as well, another angle of that broken regex. We'll release 2.11.1 today.

fidel added a commit that referenced this issue Jul 24, 2023
Two problems contributed to the issue:

  * two–digit number appeared in the version number (2.11.0)
  * version number itself contained only two sections instead of three
    (2.10)

Testing with current RubyEvenStore::VERSION contributes to preventing
such issues in the future.

#1647

Co-authored-by: Paweł Pacana <[email protected]>
@fidel
Copy link
Contributor

fidel commented Jul 24, 2023

2.11.1 has been released and fixes the issue.

@mostlyobvious
Copy link
Member

To comment previous plans — the version 2.10.0 has not been re-released and 2.10 has not been yanked from Rubygems. Upgrading to version 2.11.1 is the solution.

fidel added a commit that referenced this issue Jul 25, 2023
Two problems contributed to the issue:

  * two–digit number appeared in the version number (2.11.0)
  * version number itself contained only two sections instead of three
    (2.10)

Testing with current RubyEvenStore::VERSION contributes to preventing
such issues in the future.

#1647

Co-authored-by: Paweł Pacana <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants