From dacb637f9a95803d2de01a68daffb174fb0995cd Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 13 Feb 2026 09:34:26 +0000 Subject: [PATCH 1/2] Initial plan From 9195b6232906f182e8f0c49b254f7fec0a1e2b79 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 13 Feb 2026 09:37:32 +0000 Subject: [PATCH 2/2] fix: add window guard to tokenStorage setters and clear method Co-authored-by: gin-melodic <4485145+gin-melodic@users.noreply.github.com> --- src/lib/network/secure-client.ts | 30 +++++++++++++++++++++--------- 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/src/lib/network/secure-client.ts b/src/lib/network/secure-client.ts index 16478e8..33ab819 100644 --- a/src/lib/network/secure-client.ts +++ b/src/lib/network/secure-client.ts @@ -48,21 +48,33 @@ const SESSION_KEY = 'sessionKey'; export const tokenStorage: TokenStorage = { getToken: () => (typeof window !== 'undefined' ? localStorage.getItem(TOKEN_KEY) : null), - setToken: (token) => localStorage.setItem(TOKEN_KEY, token), + setToken: (token) => { + if (typeof window !== 'undefined') { + localStorage.setItem(TOKEN_KEY, token); + } + }, getRefreshToken: () => (typeof window !== 'undefined' ? localStorage.getItem(REFRESH_TOKEN_KEY) : null), - setRefreshToken: (token) => localStorage.setItem(REFRESH_TOKEN_KEY, token), + setRefreshToken: (token) => { + if (typeof window !== 'undefined') { + localStorage.setItem(REFRESH_TOKEN_KEY, token); + } + }, getSessionKey: () => (typeof window !== 'undefined' ? localStorage.getItem(SESSION_KEY) : null), setSessionKey: (key) => { - if (key) { - localStorage.setItem(SESSION_KEY, key); - } else { - localStorage.removeItem(SESSION_KEY); + if (typeof window !== 'undefined') { + if (key) { + localStorage.setItem(SESSION_KEY, key); + } else { + localStorage.removeItem(SESSION_KEY); + } } }, clear: () => { - localStorage.removeItem(TOKEN_KEY); - localStorage.removeItem(REFRESH_TOKEN_KEY); - localStorage.removeItem(SESSION_KEY); + if (typeof window !== 'undefined') { + localStorage.removeItem(TOKEN_KEY); + localStorage.removeItem(REFRESH_TOKEN_KEY); + localStorage.removeItem(SESSION_KEY); + } }, };