File "queryClient-20260606101412.ts"
Full Path: /home/trinadezambia/public_html/student_panel/src/components/lib/queryClient-20260606101412.ts
File size: 1.06 KB
MIME-type: text/x-java
Charset: utf-8
import { QueryClient } from '@tanstack/react-query';
// Create a client with default options
export const queryClient = new QueryClient({
defaultOptions: {
queries: {
// Time in milliseconds that data remains fresh
staleTime: 5 * 60 * 1000, // 5 minutes
// Time in milliseconds that data remains in cache
gcTime: 10 * 60 * 1000, // 10 minutes (formerly cacheTime)
// Retry failed requests
retry: (failureCount, error) => {
// Don't retry on 4xx errors (client errors)
if (error instanceof Error && 'status' in error) {
const status = (error as { status: number }).status;
if (status >= 400 && status < 500) {
return false;
}
}
// Retry up to 3 times for other errors
return failureCount < 3;
},
// Refetch on window focus
refetchOnWindowFocus: false,
// Refetch on reconnect
refetchOnReconnect: true,
},
mutations: {
// Don't retry mutations automatically - let user retry manually
retry: false,
},
},
});