From 4c794671ba3ef8f7624a62f4c0524416b0da3ffd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20De=20Freitas?= <6485562+adefreitas@users.noreply.github.com> Date: Thu, 2 Apr 2026 10:49:13 +0100 Subject: [PATCH 1/2] fix: stateful query client --- src/StackOneHub.tsx | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/src/StackOneHub.tsx b/src/StackOneHub.tsx index 3697269..40bf956 100644 --- a/src/StackOneHub.tsx +++ b/src/StackOneHub.tsx @@ -12,7 +12,7 @@ import { applyTheme, } from '@stackone/malachite'; import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; -import { useEffect } from 'react'; +import { useEffect, useState } from 'react'; import { Hub } from './Hub'; import ErrorContainer from './shared/components/error'; import ErrorBoundary from './shared/components/errorBoundary'; @@ -59,17 +59,20 @@ export const StackOneHub: React.FC = ({ } }, [theme]); - const queryClient = new QueryClient({ - defaultOptions: { - queries: { - refetchOnWindowFocus: false, - retry: 1, - retryDelay: 500, - refetchOnMount: false, - retryOnMount: false, - }, - }, - }); + const [queryClient] = useState( + () => + new QueryClient({ + defaultOptions: { + queries: { + refetchOnWindowFocus: false, + retry: 1, + retryDelay: 500, + refetchOnMount: false, + retryOnMount: false, + }, + }, + }), + ); if (!token) { return ( From 46dfa72932587b6825fe690bfeef88cfdc96e41c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20De=20Freitas?= <6485562+adefreitas@users.noreply.github.com> Date: Thu, 2 Apr 2026 10:57:07 +0100 Subject: [PATCH 2/2] fix: stable QueryClient instance and cache invalidation on token change Co-Authored-By: Claude Sonnet 4.6 --- src/StackOneHub.tsx | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/StackOneHub.tsx b/src/StackOneHub.tsx index 40bf956..6d6bf73 100644 --- a/src/StackOneHub.tsx +++ b/src/StackOneHub.tsx @@ -12,7 +12,7 @@ import { applyTheme, } from '@stackone/malachite'; import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; -import { useEffect, useState } from 'react'; +import { useEffect, useRef, useState } from 'react'; import { Hub } from './Hub'; import ErrorContainer from './shared/components/error'; import ErrorBoundary from './shared/components/errorBoundary'; @@ -73,6 +73,13 @@ export const StackOneHub: React.FC = ({ }, }), ); + const prevTokenRef = useRef(token); + useEffect(() => { + if (prevTokenRef.current !== token) { + prevTokenRef.current = token; + queryClient.clear(); + } + }, [token, queryClient]); if (!token) { return (