From 5fba76f010bbbd62ae5910a19ed895343639fe43 Mon Sep 17 00:00:00 2001 From: Jiayuan Zhang Date: Mon, 6 Apr 2026 01:18:44 +0800 Subject: [PATCH] fix(web): remember last selected workspace after re-login (#435) Stop clearing multica_workspace_id from localStorage on logout so it persists as a preference hint. On fresh login, pass the stored ID to hydrateWorkspace so the user returns to their last workspace instead of always landing on the first one. --- apps/web/app/(auth)/login/page.tsx | 3 ++- apps/web/features/auth/store.ts | 2 -- apps/web/features/workspace/store.ts | 1 - 3 files changed, 2 insertions(+), 4 deletions(-) diff --git a/apps/web/app/(auth)/login/page.tsx b/apps/web/app/(auth)/login/page.tsx index 570a53f1..74d60858 100644 --- a/apps/web/app/(auth)/login/page.tsx +++ b/apps/web/app/(auth)/login/page.tsx @@ -153,7 +153,8 @@ function LoginPageContent() { await verifyCode(email, value); const wsList = await api.listWorkspaces(); - await hydrateWorkspace(wsList); + const lastWsId = localStorage.getItem("multica_workspace_id"); + await hydrateWorkspace(wsList, lastWsId); router.push(searchParams.get("next") || "/issues"); } catch (err) { setError( diff --git a/apps/web/features/auth/store.ts b/apps/web/features/auth/store.ts index 3e99892f..0f6ce7be 100644 --- a/apps/web/features/auth/store.ts +++ b/apps/web/features/auth/store.ts @@ -36,7 +36,6 @@ export const useAuthStore = create((set) => ({ api.setToken(null); api.setWorkspaceId(null); localStorage.removeItem("multica_token"); - localStorage.removeItem("multica_workspace_id"); set({ user: null, isLoading: false }); } }, @@ -56,7 +55,6 @@ export const useAuthStore = create((set) => ({ logout: () => { localStorage.removeItem("multica_token"); - localStorage.removeItem("multica_workspace_id"); api.setToken(null); api.setWorkspaceId(null); clearLoggedInCookie(); diff --git a/apps/web/features/workspace/store.ts b/apps/web/features/workspace/store.ts index ea18ed07..0c6f8523 100644 --- a/apps/web/features/workspace/store.ts +++ b/apps/web/features/workspace/store.ts @@ -233,7 +233,6 @@ export const useWorkspaceStore = create((set, get) => ({ clearWorkspace: () => { api.setWorkspaceId(null); - localStorage.removeItem("multica_workspace_id"); set({ workspace: null, workspaces: [], members: [], agents: [], skills: [] }); }, }));