waiting-for-dev / warden-jwt_auth

JWT token authentication with warden
MIT License
113 stars 56 forks source link

dry-configurable (0.11.3) breaks this gem #22

Closed fidalgo closed 4 years ago

fidalgo commented 4 years ago

In the following of #21 I've updated and got a new error

Actual behavior

/home/fidalgo/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/warden-jwt_auth-0.4.1/lib/warden/jwt_auth.rb:92:in `upcase_first_items': undefined method `map' for nil:NilClass (NoMethodError)

Steps to Reproduce the Problem

Remove the dry-configurable version restrition, update and try to boot the rails application

Debugging information

Since I cannot run the server, console or runner, I will paste here the backtrace of rails console:

/home/fidalgo/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/warden-jwt_auth-0.4.1/lib/warden/jwt_auth.rb:92:in `upcase_first_items': undefined method `map' for nil:NilClass (NoMethodError)
        from /home/fidalgo/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/warden-jwt_auth-0.4.1/lib/warden/jwt_auth.rb:53:in `block in <module:JWTAuth>'
        from /home/fidalgo/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/dry-configurable-0.11.3/lib/dry/configurable/setting.rb:116:in `evaluate'
        from /home/fidalgo/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/dry-configurable-0.11.3/lib/dry/configurable/setting.rb:67:in `value'
        from /home/fidalgo/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/dry-configurable-0.11.3/lib/dry/configurable/config.rb:112:in `method_missing'
        from /home/fidalgo/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/devise-jwt-0.6.0/lib/devise/jwt/railtie.rb:19:in `block (3 levels) in <class:Railtie>'
        from /home/fidalgo/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/dry-configurable-0.11.3/lib/dry/configurable/methods.rb:15:in `configure'
        from /home/fidalgo/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/devise-jwt-0.6.0/lib/devise/jwt/railtie.rb:15:in `block (2 levels) in <class:Railtie>'
        from /home/fidalgo/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/activesupport-6.0.2.1/lib/active_support/lazy_load_hooks.rb:69:in `block in execute_hook'
        from /home/fidalgo/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/activesupport-6.0.2.1/lib/active_support/lazy_load_hooks.rb:62:in `with_execution_control'
        from /home/fidalgo/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/activesupport-6.0.2.1/lib/active_support/lazy_load_hooks.rb:67:in `execute_hook'
        from /home/fidalgo/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/activesupport-6.0.2.1/lib/active_support/lazy_load_hooks.rb:52:in `block in run_load_hooks'
        from /home/fidalgo/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/activesupport-6.0.2.1/lib/active_support/lazy_load_hooks.rb:51:in `each'
[fidalgo@unknown983b8fc35d07 hopin]$    from /home/fidalgo/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/activesupport-6.0.2.1/lib/active_support/lazy_load_hooks.rb:51:in `run_load_hooks'
        from /home/fidalgo/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/railties-6.0.2.1/lib/rails/application/finisher.rb:129:in `block in <module:Finisher>'
        from /home/fidalgo/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/railties-6.0.2.1/lib/rails/initializable.rb:32:in `instance_exec'
        from /home/fidalgo/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/railties-6.0.2.1/lib/rails/initializable.rb:32:in `run'
        from /home/fidalgo/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/railties-6.0.2.1/lib/rails/initializable.rb:61:in `block in run_initializers'
        from /home/fidalgo/.rbenv/versions/2.6.5/lib/ruby/2.6.0/tsort.rb:228:in `block in tsort_each'
        from /home/fidalgo/.rbenv/versions/2.6.5/lib/ruby/2.6.0/tsort.rb:350:in `block (2 levels) in each_strongly_connected_component'
        from /home/fidalgo/.rbenv/versions/2.6.5/lib/ruby/2.6.0/tsort.rb:431:in `each_strongly_connected_component_from'
        from /home/fidalgo/.rbenv/versions/2.6.5/lib/ruby/2.6.0/tsort.rb:349:in `block in each_strongly_connected_component'
        from /home/fidalgo/.rbenv/versions/2.6.5/lib/ruby/2.6.0/tsort.rb:347:in `each'
        from /home/fidalgo/.rbenv/versions/2.6.5/lib/ruby/2.6.0/tsort.rb:347:in `call'
        from /home/fidalgo/.rbenv/versions/2.6.5/lib/ruby/2.6.0/tsort.rb:347:in `each_strongly_connected_component'
        from /home/fidalgo/.rbenv/versions/2.6.5/lib/ruby/2.6.0/tsort.rb:226:in `tsort_each'
        from /home/fidalgo/.rbenv/versions/2.6.5/lib/ruby/2.6.0/tsort.rb:205:in `tsort_each'
        from /home/fidalgo/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/railties-6.0.2.1/lib/rails/initializable.rb:60:in `run_initializers'
        from /home/fidalgo/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/railties-6.0.2.1/lib/rails/application.rb:363:in `initialize!'
        from /home/fidalgo/workspace/hopin/config/environment.rb:7:in `<main>'
        from /home/fidalgo/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/bootsnap-1.4.5/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require'
        from /home/fidalgo/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/bootsnap-1.4.5/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `block in require_with_bootsnap_lfi'
        from /home/fidalgo/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/bootsnap-1.4.5/lib/bootsnap/load_path_cache/loaded_features_index.rb:92:in `register'
        from /home/fidalgo/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/bootsnap-1.4.5/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:21:in `require_with_bootsnap_lfi'
        from /home/fidalgo/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/bootsnap-1.4.5/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
        from /home/fidalgo/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/zeitwerk-2.2.2/lib/zeitwerk/kernel.rb:23:in `require'
        from /home/fidalgo/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/activesupport-6.0.2.1/lib/active_support/dependencies.rb:325:in `block in require'
        from /home/fidalgo/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/activesupport-6.0.2.1/lib/active_support/dependencies.rb:291:in `load_dependency'
        from /home/fidalgo/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/activesupport-6.0.2.1/lib/active_support/dependencies.rb:325:in `require'
        from /home/fidalgo/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/spring-2.1.0/lib/spring/application.rb:106:in `preload'
        from /home/fidalgo/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/spring-2.1.0/lib/spring/application.rb:157:in `serve'
        from /home/fidalgo/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/spring-2.1.0/lib/spring/application.rb:145:in `block in run'
        from /home/fidalgo/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/spring-2.1.0/lib/spring/application.rb:139:in `loop'
        from /home/fidalgo/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/spring-2.1.0/lib/spring/application.rb:139:in `run'
        from /home/fidalgo/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/spring-2.1.0/lib/spring/application/boot.rb:19:in `<top (required)>'
        from /home/fidalgo/.rbenv/versions/2.6.5/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
        from /home/fidalgo/.rbenv/versions/2.6.5/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
waiting-for-dev commented 4 years ago

Yeah, it seems a bug in dry-configurable. We're currently working on this at https://github.com/dry-rb/dry-configurable/pull/84. For now keep locked dry-configurable version in your gemfile

waiting-for-dev commented 4 years ago

As it's taking longer than expected to be fixed upstream in dry-configurable, I have released a new version 0.4.2 which locks itself dry-configurable version. This way, once it's updated there I'll just release a new version and it'll be transparent for the user.