diff --git a/superset-frontend/src/features/home/RightMenu.test.tsx b/superset-frontend/src/features/home/RightMenu.test.tsx index e56df38dbde..e98bf32d427 100644 --- a/superset-frontend/src/features/home/RightMenu.test.tsx +++ b/superset-frontend/src/features/home/RightMenu.test.tsx @@ -372,9 +372,11 @@ test('Logs out and clears local storage item redux', async () => { useTheme: true, }); - // Set an item in local storage to test if it gets cleared + // Set items in local and session storage to test if they get cleared localStorage.setItem('redux', JSON.stringify({ test: 'test' })); + sessionStorage.setItem('login_attempted', 'true'); expect(localStorage.getItem('redux')).not.toBeNull(); + expect(sessionStorage.getItem('login_attempted')).not.toBeNull(); userEvent.hover(await screen.findByText(/Settings/i)); @@ -384,8 +386,9 @@ test('Logs out and clears local storage item redux', async () => { userEvent.click(logoutButton); }); - // Wait for local storage to be cleared + // Wait for local and session storage to be cleared await waitFor(() => { expect(localStorage.getItem('redux')).toBeNull(); + expect(sessionStorage.getItem('login_attempted')).toBeNull(); }); }); diff --git a/superset-frontend/src/features/home/RightMenu.tsx b/superset-frontend/src/features/home/RightMenu.tsx index 03194610eec..29ecf0d7f4d 100644 --- a/superset-frontend/src/features/home/RightMenu.tsx +++ b/superset-frontend/src/features/home/RightMenu.tsx @@ -342,7 +342,12 @@ const RightMenu = ({ const handleDatabaseAdd = () => setQuery({ databaseAdded: true }); const handleLogout = () => { - localStorage.removeItem('redux'); + try { + window.localStorage.removeItem('redux'); + window.sessionStorage.removeItem('login_attempted'); + } catch (error) { + console.warn('Failed to clear storage on logout:', error); + } }; // Use the theme menu hook