Problem
React Query hooks have no staleTime set. The default is 0, meaning every component mount triggers a refetch — even if data was fetched milliseconds ago. This causes unnecessary IPC round-trips, especially during navigation between views.
Solution
Add appropriate staleTime values:
- Tasks and lists:
staleTime: 30_000 (30 seconds)
- Settings and feature flags:
staleTime: 300_000 (5 minutes)
- Analytics/dashboard:
staleTime: 60_000 (1 minute)
Consider setting a global default in the QueryClient config:
const queryClient = new QueryClient({
defaultOptions: {
queries: { staleTime: 30_000 },
},
});
Files
apps/electron/src/renderer/App.tsx — set global staleTime
- Individual query hooks as needed for custom values
Problem
React Query hooks have no
staleTimeset. The default is 0, meaning every component mount triggers a refetch — even if data was fetched milliseconds ago. This causes unnecessary IPC round-trips, especially during navigation between views.Solution
Add appropriate
staleTimevalues:staleTime: 30_000(30 seconds)staleTime: 300_000(5 minutes)staleTime: 60_000(1 minute)Consider setting a global default in the QueryClient config:
Files
apps/electron/src/renderer/App.tsx— set global staleTime