diff --git a/client/src/store/authStore.ts b/client/src/store/authStore.ts index 4a3f8a84..74fe01e1 100644 --- a/client/src/store/authStore.ts +++ b/client/src/store/authStore.ts @@ -151,6 +151,7 @@ export const useAuthStore = create()( logout: () => { disconnect() + useSystemNoticeStore.getState().reset() // Tell server to clear the httpOnly cookie fetch('/api/auth/logout', { method: 'POST', credentials: 'include' }).catch(() => {}) // Clear service worker caches containing sensitive data diff --git a/client/src/store/systemNoticeStore.ts b/client/src/store/systemNoticeStore.ts index 249b0b6b..e3a979ef 100644 --- a/client/src/store/systemNoticeStore.ts +++ b/client/src/store/systemNoticeStore.ts @@ -31,6 +31,7 @@ interface SystemNoticeState { fetching: boolean; fetch: () => Promise; dismiss: (id: string) => void; + reset: () => void; } export const useSystemNoticeStore = create()((set, get) => ({ @@ -51,6 +52,10 @@ export const useSystemNoticeStore = create()((set, get) => ({ } }, + reset() { + set({ notices: [], loaded: false, fetching: false }); + }, + dismiss(id: string) { // Optimistic: remove immediately const prev = get().notices;