fix workspace not removed from sessionStorage on log out (#7010)

This commit is contained in:
Diego Imbert
2025-10-30 16:02:52 +01:00
committed by GitHub
parent 9702ff866e
commit 17f05dba14
4 changed files with 25 additions and 10 deletions

View File

@@ -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 @@
</MenuItem>
<MenuItem
href="{base}/user/workspaces"
onClick={() => {
localStorage.removeItem('workspace')
}}
onClick={() => clearWorkspaceFromStorage()}
lightMode
class={twMerge('flex gap-3.5 px-2 py-2', sidebarClasses.hoverBg, sidebarClasses.text)}
{item}

View File

@@ -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 @@
<div class="py-1" role="none">
<MenuItem
href="{base}/user/workspaces"
onClick={() => {
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'

View File

@@ -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)
}

View File

@@ -46,6 +46,11 @@ export function getWorkspaceFromStorage(): string | undefined {
}
return undefined
}
export function clearWorkspaceFromStorage() {
localStorage.removeItem('workspace')
sessionStorage.removeItem('workspace')
}
export const tutorialsToDo = writable<number[]>([])
export const globalEmailInvite = writable<string>('')
export const awarenessStore = writable<Record<string, string>>(undefined)