From 17f05dba14432cd0835c799c80bc765ed6d94fbd Mon Sep 17 00:00:00 2001 From: Diego Imbert <70353967+diegoimbert@users.noreply.github.com> Date: Thu, 30 Oct 2025 16:02:52 +0100 Subject: [PATCH] fix workspace not removed from sessionStorage on log out (#7010) --- .../src/lib/components/sidebar/OperatorMenu.svelte | 12 ++++++++---- .../src/lib/components/sidebar/WorkspaceMenu.svelte | 7 +++---- frontend/src/lib/storeUtils.ts | 11 +++++++++-- frontend/src/lib/stores.ts | 5 +++++ 4 files changed, 25 insertions(+), 10 deletions(-) diff --git a/frontend/src/lib/components/sidebar/OperatorMenu.svelte b/frontend/src/lib/components/sidebar/OperatorMenu.svelte index 0450358725..4b44a697fa 100644 --- a/frontend/src/lib/components/sidebar/OperatorMenu.svelte +++ b/frontend/src/lib/components/sidebar/OperatorMenu.svelte @@ -16,7 +16,13 @@ import { base } from '$lib/base' import MultiplayerMenu from './MultiplayerMenu.svelte' - import { enterpriseLicense, superadmin, userWorkspaces, workspaceStore } from '$lib/stores' + import { + clearWorkspaceFromStorage, + enterpriseLicense, + superadmin, + userWorkspaces, + workspaceStore + } from '$lib/stores' import { twMerge } from 'tailwind-merge' import { USER_SETTINGS_HASH } from './settings' import { logout } from '$lib/logout' @@ -255,9 +261,7 @@ { - localStorage.removeItem('workspace') - }} + onClick={() => clearWorkspaceFromStorage()} lightMode class={twMerge('flex gap-3.5 px-2 py-2', sidebarClasses.hoverBg, sidebarClasses.text)} {item} diff --git a/frontend/src/lib/components/sidebar/WorkspaceMenu.svelte b/frontend/src/lib/components/sidebar/WorkspaceMenu.svelte index 103ffc75a7..7b1503e027 100644 --- a/frontend/src/lib/components/sidebar/WorkspaceMenu.svelte +++ b/frontend/src/lib/components/sidebar/WorkspaceMenu.svelte @@ -6,7 +6,8 @@ userWorkspaces, workspaceStore, workspaceUsageStore, - workspaceColor + workspaceColor, + clearWorkspaceFromStorage } from '$lib/stores' import { Building, Plus, Settings, GitFork } from 'lucide-svelte' import MenuButton from '$lib/components/sidebar/MenuButton.svelte' @@ -226,9 +227,7 @@
{ - localStorage.removeItem('workspace') - }} + onClick={() => clearWorkspaceFromStorage()} class={twMerge( 'text-primary block px-4 py-2 text-xs hover:bg-surface-hover hover:text-primary', 'data-[highlighted]:bg-surface-hover data-[highlighted]:text-primary' diff --git a/frontend/src/lib/storeUtils.ts b/frontend/src/lib/storeUtils.ts index ec95c11a7e..d10f33a640 100644 --- a/frontend/src/lib/storeUtils.ts +++ b/frontend/src/lib/storeUtils.ts @@ -1,5 +1,12 @@ import { resourceTypesStore } from './components/resourceTypesStore' -import { workspaceStore, userStore, usersWorkspaceStore, superadmin, devopsRole } from './stores' +import { + workspaceStore, + userStore, + usersWorkspaceStore, + superadmin, + devopsRole, + clearWorkspaceFromStorage +} from './stores' export function switchWorkspace(workspace: string | undefined) { try { @@ -16,7 +23,7 @@ export function clearStores(): void { try { localStorage.removeItem('flow') localStorage.removeItem('app') - localStorage.removeItem('workspace') + clearWorkspaceFromStorage() } catch (e) { console.error('error interacting with local storage', e) } diff --git a/frontend/src/lib/stores.ts b/frontend/src/lib/stores.ts index 87a0a53356..e01b077d55 100644 --- a/frontend/src/lib/stores.ts +++ b/frontend/src/lib/stores.ts @@ -46,6 +46,11 @@ export function getWorkspaceFromStorage(): string | undefined { } return undefined } +export function clearWorkspaceFromStorage() { + localStorage.removeItem('workspace') + sessionStorage.removeItem('workspace') +} + export const tutorialsToDo = writable([]) export const globalEmailInvite = writable('') export const awarenessStore = writable>(undefined)