From d9506fd43d2836ba52de7ba4b845f90b59955d5e Mon Sep 17 00:00:00 2001 From: pdelfan Date: Fri, 22 May 2026 00:47:04 -0700 Subject: [PATCH] refactor: set refetchOnWindowFocus to false and remove now-redundant opt-outs --- src/webapp/features/feeds/lib/queries/useFollowingFeed.tsx | 1 - src/webapp/features/feeds/lib/queries/useGemsFeed.tsx | 1 - src/webapp/features/feeds/lib/queries/useGlobalFeed.tsx | 1 - .../follows/lib/queries/useCollectionFollowersCount.tsx | 1 - src/webapp/features/follows/lib/queries/useFollowersCount.tsx | 1 - .../follows/lib/queries/useFollowingCollectionsCount.tsx | 1 - src/webapp/features/follows/lib/queries/useFollowingCount.tsx | 1 - src/webapp/features/graph/lib/queries/useGraphData.tsx | 1 - .../features/graph/lib/queries/useGraphNodeCollection.tsx | 1 - src/webapp/features/graph/lib/queries/useGraphNodeUrl.tsx | 2 -- src/webapp/features/graph/lib/queries/useGraphNodeUser.tsx | 1 - src/webapp/features/graph/lib/queries/useUrlGraphData.tsx | 1 - src/webapp/features/graph/lib/queries/useUserGraphData.tsx | 1 - .../features/notifications/lib/queries/useMyNotifications.tsx | 1 - src/webapp/hooks/useAuth.tsx | 1 - src/webapp/providers/tanstack.tsx | 3 +++ 16 files changed, 3 insertions(+), 16 deletions(-) diff --git a/src/webapp/features/feeds/lib/queries/useFollowingFeed.tsx b/src/webapp/features/feeds/lib/queries/useFollowingFeed.tsx index 58161960..f9b7e1bd 100644 --- a/src/webapp/features/feeds/lib/queries/useFollowingFeed.tsx +++ b/src/webapp/features/feeds/lib/queries/useFollowingFeed.tsx @@ -26,7 +26,6 @@ export default function useFollowingFeed(props?: Props) { ), staleTime: 10000, initialPageParam: 1, - refetchOnWindowFocus: false, enabled, queryFn: ({ pageParam = 1 }) => { return getFollowingFeed({ diff --git a/src/webapp/features/feeds/lib/queries/useGemsFeed.tsx b/src/webapp/features/feeds/lib/queries/useGemsFeed.tsx index 9175a93c..704b30e6 100644 --- a/src/webapp/features/feeds/lib/queries/useGemsFeed.tsx +++ b/src/webapp/features/feeds/lib/queries/useGemsFeed.tsx @@ -22,7 +22,6 @@ export default function useGemsFeed(props?: Props) { ), staleTime: 10000, initialPageParam: 1, - refetchOnWindowFocus: false, queryFn: ({ pageParam = 1 }) => { return getGemsActivityFeed({ limit, diff --git a/src/webapp/features/feeds/lib/queries/useGlobalFeed.tsx b/src/webapp/features/feeds/lib/queries/useGlobalFeed.tsx index 5396b479..8a01f38d 100644 --- a/src/webapp/features/feeds/lib/queries/useGlobalFeed.tsx +++ b/src/webapp/features/feeds/lib/queries/useGlobalFeed.tsx @@ -24,7 +24,6 @@ export default function useGlobalFeed(props?: Props) { ), staleTime: 10000, initialPageParam: 1, - refetchOnWindowFocus: false, queryFn: ({ pageParam = 1 }) => { return getGlobalFeed({ limit, diff --git a/src/webapp/features/follows/lib/queries/useCollectionFollowersCount.tsx b/src/webapp/features/follows/lib/queries/useCollectionFollowersCount.tsx index f6a8c461..ec12e038 100644 --- a/src/webapp/features/follows/lib/queries/useCollectionFollowersCount.tsx +++ b/src/webapp/features/follows/lib/queries/useCollectionFollowersCount.tsx @@ -11,7 +11,6 @@ export default function useCollectionFollowersCount({ collectionId }: Props) { queryKey: followKeys.collectionFollowersCount(collectionId), queryFn: () => getCollectionFollowersCount(collectionId), staleTime: 10000, - refetchOnWindowFocus: false, }); return query; diff --git a/src/webapp/features/follows/lib/queries/useFollowersCount.tsx b/src/webapp/features/follows/lib/queries/useFollowersCount.tsx index b199d3db..7dcaa135 100644 --- a/src/webapp/features/follows/lib/queries/useFollowersCount.tsx +++ b/src/webapp/features/follows/lib/queries/useFollowersCount.tsx @@ -11,7 +11,6 @@ export default function useFollowersCount({ identifier }: Props) { queryKey: followKeys.followersCount(identifier), queryFn: () => getFollowersCount(identifier), staleTime: 10000, - refetchOnWindowFocus: false, }); return query; diff --git a/src/webapp/features/follows/lib/queries/useFollowingCollectionsCount.tsx b/src/webapp/features/follows/lib/queries/useFollowingCollectionsCount.tsx index 342e149e..b090b4f9 100644 --- a/src/webapp/features/follows/lib/queries/useFollowingCollectionsCount.tsx +++ b/src/webapp/features/follows/lib/queries/useFollowingCollectionsCount.tsx @@ -11,7 +11,6 @@ export default function useFollowingCollectionsCount({ identifier }: Props) { queryKey: followKeys.followingCollectionsCount(identifier), queryFn: () => getFollowingCollectionsCount(identifier), staleTime: 10000, - refetchOnWindowFocus: false, }); return query; diff --git a/src/webapp/features/follows/lib/queries/useFollowingCount.tsx b/src/webapp/features/follows/lib/queries/useFollowingCount.tsx index 64c71eaa..b40ace3b 100644 --- a/src/webapp/features/follows/lib/queries/useFollowingCount.tsx +++ b/src/webapp/features/follows/lib/queries/useFollowingCount.tsx @@ -11,7 +11,6 @@ export default function useFollowingCount({ identifier }: Props) { queryKey: followKeys.followingCount(identifier), queryFn: () => getFollowingCount(identifier), staleTime: 10000, - refetchOnWindowFocus: false, }); return query; diff --git a/src/webapp/features/graph/lib/queries/useGraphData.tsx b/src/webapp/features/graph/lib/queries/useGraphData.tsx index f6067e0b..24133724 100644 --- a/src/webapp/features/graph/lib/queries/useGraphData.tsx +++ b/src/webapp/features/graph/lib/queries/useGraphData.tsx @@ -37,7 +37,6 @@ export default function useGraphData() { queryKey: graphKeys.page(page), queryFn: () => getGraphDataPage(page), staleTime: 5 * 60 * 1000, // 5 minutes - refetchOnWindowFocus: false, })), }); diff --git a/src/webapp/features/graph/lib/queries/useGraphNodeCollection.tsx b/src/webapp/features/graph/lib/queries/useGraphNodeCollection.tsx index 09bdc6d7..dee7724e 100644 --- a/src/webapp/features/graph/lib/queries/useGraphNodeCollection.tsx +++ b/src/webapp/features/graph/lib/queries/useGraphNodeCollection.tsx @@ -34,6 +34,5 @@ export default function useGraphNodeCollection({ enabled: enabled && !!handle && !!rkey, staleTime: 5 * 60 * 1000, // 5 minutes - collections don't change often retry: 1, // Only retry once for popup data - refetchOnWindowFocus: false, // Don't refetch on focus for popup data }); } diff --git a/src/webapp/features/graph/lib/queries/useGraphNodeUrl.tsx b/src/webapp/features/graph/lib/queries/useGraphNodeUrl.tsx index f49f4041..1a6464cc 100644 --- a/src/webapp/features/graph/lib/queries/useGraphNodeUrl.tsx +++ b/src/webapp/features/graph/lib/queries/useGraphNodeUrl.tsx @@ -24,7 +24,6 @@ export default function useGraphNodeUrl({ url, enabled = true }: Props) { enabled: enabled && !!url, staleTime: 3 * 60 * 1000, // 3 minutes - URLs change more often retry: 1, - refetchOnWindowFocus: false, }, { queryKey: url @@ -37,7 +36,6 @@ export default function useGraphNodeUrl({ url, enabled = true }: Props) { enabled: enabled && !!url, staleTime: 3 * 60 * 1000, retry: 1, - refetchOnWindowFocus: false, }, ], }); diff --git a/src/webapp/features/graph/lib/queries/useGraphNodeUser.tsx b/src/webapp/features/graph/lib/queries/useGraphNodeUser.tsx index 229831b5..bd26e2da 100644 --- a/src/webapp/features/graph/lib/queries/useGraphNodeUser.tsx +++ b/src/webapp/features/graph/lib/queries/useGraphNodeUser.tsx @@ -21,6 +21,5 @@ export default function useGraphNodeUser({ handle, enabled = true }: Props) { enabled: enabled && !!handle, staleTime: 5 * 60 * 1000, // 5 minutes - profiles don't change often retry: 1, // Only retry once for popup data - refetchOnWindowFocus: false, // Don't refetch on focus for popup data }); } diff --git a/src/webapp/features/graph/lib/queries/useUrlGraphData.tsx b/src/webapp/features/graph/lib/queries/useUrlGraphData.tsx index 7201ba82..a137307e 100644 --- a/src/webapp/features/graph/lib/queries/useUrlGraphData.tsx +++ b/src/webapp/features/graph/lib/queries/useUrlGraphData.tsx @@ -20,7 +20,6 @@ export default function useUrlGraphData(url: string, depth: number = 1) { queryKey: graphKeys.url(url, depth), queryFn: () => apiClient.getUrlGraphData({ url, depth }), staleTime: 5 * 60 * 1000, // 5 minutes - refetchOnWindowFocus: false, enabled: !!url, // Only fetch if URL is provided }); diff --git a/src/webapp/features/graph/lib/queries/useUserGraphData.tsx b/src/webapp/features/graph/lib/queries/useUserGraphData.tsx index 790d2e8a..0ac8c0b2 100644 --- a/src/webapp/features/graph/lib/queries/useUserGraphData.tsx +++ b/src/webapp/features/graph/lib/queries/useUserGraphData.tsx @@ -37,7 +37,6 @@ export default function useUserGraphData(identifier: string) { queryKey: graphKeys.userPage(identifier, page), queryFn: () => apiClient.getUserGraphData({ identifier, page }), staleTime: 5 * 60 * 1000, // 5 minutes - refetchOnWindowFocus: false, })), }); diff --git a/src/webapp/features/notifications/lib/queries/useMyNotifications.tsx b/src/webapp/features/notifications/lib/queries/useMyNotifications.tsx index 944b93d5..03e84f7f 100644 --- a/src/webapp/features/notifications/lib/queries/useMyNotifications.tsx +++ b/src/webapp/features/notifications/lib/queries/useMyNotifications.tsx @@ -15,7 +15,6 @@ export default function useMyNotifications(props?: Props) { queryKey: notificationKeys.infinite(limit), staleTime: 10000, initialPageParam: 1, - refetchOnWindowFocus: false, queryFn: ({ pageParam = 1 }) => { return getMyNotifications({ limit, page: pageParam, unreadOnly }); }, diff --git a/src/webapp/hooks/useAuth.tsx b/src/webapp/hooks/useAuth.tsx index 0ed3d11d..4c852036 100644 --- a/src/webapp/hooks/useAuth.tsx +++ b/src/webapp/hooks/useAuth.tsx @@ -61,7 +61,6 @@ export const AuthProvider = ({ children }: { children: ReactNode }) => { return session; }, staleTime: 5 * 60 * 1000, // cache for 5 minutes - refetchOnWindowFocus: false, retry: false, }); diff --git a/src/webapp/providers/tanstack.tsx b/src/webapp/providers/tanstack.tsx index 287968a1..5fe9e7b5 100644 --- a/src/webapp/providers/tanstack.tsx +++ b/src/webapp/providers/tanstack.tsx @@ -12,6 +12,9 @@ function makeQueryClient() { defaultOptions: { queries: { staleTime: 60 * 1000, + gcTime: 5 * 60 * 1000, + refetchOnWindowFocus: false, + retry: 1, }, dehydrate: { // include pending queries in dehydration -- 2.51.2