23 lines
600 B
TypeScript
23 lines
600 B
TypeScript
import { QueryClient } from "@tanstack/react-query";
|
|
import { ApiError } from "../api/client";
|
|
|
|
export const queryClient = new QueryClient({
|
|
defaultOptions: {
|
|
queries: {
|
|
staleTime: 30_000,
|
|
gcTime: 10 * 60_000,
|
|
refetchOnWindowFocus: false,
|
|
retry: (failureCount, error) => {
|
|
// Never retry client errors (4xx); retry transient failures once.
|
|
if (error instanceof ApiError && error.status >= 400 && error.status < 500) {
|
|
return false;
|
|
}
|
|
return failureCount < 1;
|
|
},
|
|
},
|
|
mutations: {
|
|
retry: false,
|
|
},
|
|
},
|
|
});
|