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. |
||
|---|---|---|
| .. | ||
| admin | ||
| api | ||
| auth | ||
| concerns | ||
| oauth | ||
| settings | ||
| well_known | ||
| about_controller.rb | ||
| account_follow_controller.rb | ||
| account_unfollow_controller.rb | ||
| accounts_controller.rb | ||
| api_controller.rb | ||
| application_controller.rb | ||
| authorize_follow_controller.rb | ||
| follower_accounts_controller.rb | ||
| following_accounts_controller.rb | ||
| home_controller.rb | ||
| media_controller.rb | ||
| remote_follow_controller.rb | ||
| statuses_controller.rb | ||
| stream_entries_controller.rb | ||
| tags_controller.rb | ||