From f4197c7993fb9f9b2f02cbc2d5ed83fae50e4cb5 Mon Sep 17 00:00:00 2001 From: Barkley Trimsworth Date: Mon, 30 Mar 2026 01:16:48 +0000 Subject: [PATCH] fix(web): prevent redirect loop on Continue as default dev user GRO-264: The "Continue as default dev user" button on /login clears dev-user from localStorage then navigates to /admin, but App.tsx's auth guard immediately redirects back to /login because getDevUser() is null. Fix by setting a dev-login-skipped flag that App.tsx checks to allow through-navigation after explicit skip. Co-Authored-By: Paperclip --- apps/web/src/App.tsx | 3 ++- apps/web/src/pages/DevLoginSelector.tsx | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/apps/web/src/App.tsx b/apps/web/src/App.tsx index 0a5afa1..64a20c5 100644 --- a/apps/web/src/App.tsx +++ b/apps/web/src/App.tsx @@ -245,7 +245,8 @@ export function App() { } // Dev mode: use dev login selector (no setup check needed in dev mode) - if (authDisabled && !getDevUser()) { + // Skip redirect if user explicitly chose "continue as default dev user" (dev-login-skipped flag) + if (authDisabled && !getDevUser() && !localStorage.getItem("dev-login-skipped")) { return ; } diff --git a/apps/web/src/pages/DevLoginSelector.tsx b/apps/web/src/pages/DevLoginSelector.tsx index 6de753b..7b39557 100644 --- a/apps/web/src/pages/DevLoginSelector.tsx +++ b/apps/web/src/pages/DevLoginSelector.tsx @@ -39,6 +39,7 @@ export function DevLoginSelector() { function skipLogin() { localStorage.removeItem("dev-user"); + localStorage.setItem("dev-login-skipped", "1"); navigate("/admin"); }