heartcombo / devise

Flexible authentication solution for Rails with Warden.
http://blog.plataformatec.com.br/tag/devise/
MIT License
23.89k stars 5.54k forks source link

Respect redirect status code when recalling the action #5573

Closed carlosantoniodasilva closed 1 year ago

carlosantoniodasilva commented 1 year ago

It appears some people use the recall functionality with a redirect response, and Devise starting on version 4.9 was overriding that status code to the configured error_status for better Turbo support, which broke the redirect functionality / expectation.

While I don't think it's really great usage of the recall functionality, or at least it was unexpected usage, it's been working like that basically forever where recalling would use the status code of the recalled action, so this at least keeps it more consistent with that behavior by respecting redirects and keeping that response as a redirect based on the configured status, which should also work with Turbo I believe, and makes this less of a breaking change.

Closes https://github.com/heartcombo/devise/issues/5570 Closes https://github.com/heartcombo/devise/issues/5561 (it was closed previously, but related / closes with an actual change now.)