From 92a1f9c448e2fa2b6313e9e2887aed6cefad3882 Mon Sep 17 00:00:00 2001 From: jubnl Date: Thu, 16 Apr 2026 14:53:33 +0200 Subject: [PATCH] fix(system-notices): reset notice store on logout so addon-gated notices show after re-login --- client/src/store/authStore.ts | 1 + client/src/store/systemNoticeStore.ts | 5 +++++ 2 files changed, 6 insertions(+) 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;