-
Notifications
You must be signed in to change notification settings - Fork 5.5k
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
Rails 7.1.0 update leads to no warden strategies being found ? #5637
Comments
I also faced to this issue, and I saw that came from this change. The hash#deep_merge has been changed behavior: So when we use Devise.with_options with multiple blocks inside (for adding multiple modules), the options that passed to each module has been merged, that make the NOTE:
|
@gagoit I'm not able to replicate this on a brand new 7.1 app: ![]() I'm still looking, it's possible something fundamental has changed somewhere, but wanted to mention the above in case I'm missing something from your example. Thanks. |
@carlosantoniodasilva Thanks for your info. Summary: Sorry for making you confuse. |
@gagoit thanks for the feedback, glad to know the issue is elsewhere :) @jwoodrow are you also using the same I tested a brand new app with devise (using this newly created 4-stable branch which contains tweaks for Rails 7.1), and everything appears to be working. If anyone would like to give that a try, let me know if you run into any issues. |
@carlosantoniodasilva We are indeed using the config gem, guessing the culprit must be there. Thanks to both of you for looking into this and finding the culprit. Now the question for me is, do I truly still need this gem :D |
Thanks for reporting back. I'll consider this one as closed then for now, but please report back if you run into anything else. |
Thanks for the heads up, for other users: In order to update rails from |
Environment
Current behavior
I was trying to upgrade our rails app to Rails 7.1.0 and now when I try to access a page requiring authentication I get a
RuntimeError
Invalid strategy trackable
on a model that has nothing to do with the one being require for that specific page (Admin
for our admin panel andUser
for our frontend).Commenting out the
devise :database_authenticatable, :confirmable, :registerable, :recoverable, :trackable, :validatable
in theUser
model then makes the same error appear but this time forAdmin
and commenting out thedevice :trackable
in that model then leads to aundefined method 'authentication_keys' for Admin:Class
(which kind of makes sense after removing basically both devise calls on both models)I don't know if this is specifically related to Rails 7.1.0 but for extra context we also do have 3 custom strategies setup but they don't seem to be causing any interference.
The error occurs here
Warden::Proxy#_fetch_strategy
and if I use
better_errors
to print out the value for@strategies
I get this as a result{:user=>{}}
almost as if no strategies at all existedExpected behavior
Arrive on the login page with no errors
The text was updated successfully, but these errors were encountered: