From 140e31e27db03e6f30b933bdf020ca22bfdd54a9 Mon Sep 17 00:00:00 2001 From: Saurabh Kumar Bajpai Date: Mon, 1 Jun 2026 00:08:04 +0530 Subject: [PATCH] fix: clean up token refresh listeners --- frontend/src/app/MessageContext.tsx | 2 +- frontend/src/app/fetcher.ts | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/frontend/src/app/MessageContext.tsx b/frontend/src/app/MessageContext.tsx index e54e2eb..b120dfd 100644 --- a/frontend/src/app/MessageContext.tsx +++ b/frontend/src/app/MessageContext.tsx @@ -232,7 +232,7 @@ export const MessageProvider = ({ socket.disconnect().connect() } } - addTokenRefreshListener(handleTokenRefresh) + return addTokenRefreshListener(handleTokenRefresh) }, [socket]) const applyOnlineStatus = useCallback( diff --git a/frontend/src/app/fetcher.ts b/frontend/src/app/fetcher.ts index 5c12856..f9c2290 100644 --- a/frontend/src/app/fetcher.ts +++ b/frontend/src/app/fetcher.ts @@ -23,6 +23,12 @@ const listeners: RefreshListener[] = [] export function addTokenRefreshListener(cb: RefreshListener) { listeners.push(cb) + return () => { + const index = listeners.indexOf(cb) + if (index !== -1) { + listeners.splice(index, 1) + } + } } export function setToken(newToken: string | null) {