fix: SetLocale tolerant to early-pipeline missing session

This commit is contained in:
2026-05-07 19:15:43 +00:00
parent d1e0695930
commit ce4e21220f
2 changed files with 7 additions and 4 deletions
+3
View File
@@ -25,10 +25,13 @@ class SetLocale
private function resolve(Request $request): string
{
// Session may not be started yet on early-stage middleware paths.
if ($request->hasSession()) {
$session = $request->session()->get('locale');
if ($session && in_array($session, self::SUPPORTED, true)) {
return $session;
}
}
$user = Auth::user();
if ($user && ! empty($user->locale) && in_array($user->locale, self::SUPPORTED, true)) {
@@ -61,10 +61,10 @@ class TenantPanelProvider extends PanelProvider
// unauthenticated → endless redirect to /app/login.
ResolveTenant::class,
CheckTenantStatus::class,
\App\Http\Middleware\SetLocale::class,
EncryptCookies::class,
AddQueuedCookiesToResponse::class,
StartSession::class,
\App\Http\Middleware\SetLocale::class,
AuthenticateSession::class,
ShareErrorsFromSession::class,
VerifyCsrfToken::class,