This PR fixes I18n.locale for rake middlewares. Mastodon uses Devise that depends on Warden. Warden::Manager can be found in rake middleware. It is outside of the controller. In the case of authentication failed, warden calls throw(:warden). At the time Warden::Manager delegates request to failure_app to generate response and flash[:alert] after catching it. Unfortunately, I18n.locale is already reset then because I18n.with_locale is enabled only inside the controller. If we used I18n.locale=, Devise::FailureApp could get the current locale. |
||
|---|---|---|
| .. | ||
| controllers | ||
| fabricators | ||
| features | ||
| fixtures | ||
| helpers | ||
| javascript | ||
| lib | ||
| mailers | ||
| models | ||
| presenters | ||
| requests | ||
| routing | ||
| services | ||
| support/matchers/model | ||
| views | ||
| rails_helper.rb | ||
| spec_helper.rb | ||