fix: SetLocale tolerant to early-pipeline missing session
This commit is contained in:
@@ -25,10 +25,13 @@ class SetLocale
|
|||||||
|
|
||||||
private function resolve(Request $request): string
|
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');
|
$session = $request->session()->get('locale');
|
||||||
if ($session && in_array($session, self::SUPPORTED, true)) {
|
if ($session && in_array($session, self::SUPPORTED, true)) {
|
||||||
return $session;
|
return $session;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$user = Auth::user();
|
$user = Auth::user();
|
||||||
if ($user && ! empty($user->locale) && in_array($user->locale, self::SUPPORTED, true)) {
|
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.
|
// unauthenticated → endless redirect to /app/login.
|
||||||
ResolveTenant::class,
|
ResolveTenant::class,
|
||||||
CheckTenantStatus::class,
|
CheckTenantStatus::class,
|
||||||
\App\Http\Middleware\SetLocale::class,
|
|
||||||
EncryptCookies::class,
|
EncryptCookies::class,
|
||||||
AddQueuedCookiesToResponse::class,
|
AddQueuedCookiesToResponse::class,
|
||||||
StartSession::class,
|
StartSession::class,
|
||||||
|
\App\Http\Middleware\SetLocale::class,
|
||||||
AuthenticateSession::class,
|
AuthenticateSession::class,
|
||||||
ShareErrorsFromSession::class,
|
ShareErrorsFromSession::class,
|
||||||
VerifyCsrfToken::class,
|
VerifyCsrfToken::class,
|
||||||
|
|||||||
Reference in New Issue
Block a user