From 04ca3f9829eb2cc24125c0115193b08ce4015e2e Mon Sep 17 00:00:00 2001 From: Samuel Newman Date: Wed, 19 Aug 2026 16:27:41 +0300 Subject: [PATCH] Only persist successful queries (#11484) --- src/lib/react-query.tsx | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/src/lib/react-query.tsx b/src/lib/react-query.tsx index aa8ee8ce47..adfa483677 100644 --- a/src/lib/react-query.tsx +++ b/src/lib/react-query.tsx @@ -1,11 +1,15 @@ import {useEffect, useRef, useState} from 'react' import {AppState, type AppStateStatus} from 'react-native' import {createAsyncStoragePersister} from '@tanstack/query-async-storage-persister' -import {focusManager, onlineManager, QueryClient} from '@tanstack/react-query' +import { + type DehydrateOptions, + focusManager, + onlineManager, + QueryClient, +} from '@tanstack/react-query' import { type PersistQueryClientOptions, PersistQueryClientProvider, - type PersistQueryClientProviderProps, } from '@tanstack/react-query-persist-client' import {createPersistedQueryStorage} from '#/lib/persisted-query-storage' @@ -16,8 +20,7 @@ import {IS_NATIVE, IS_WEB} from '#/env' declare global { interface Window { - // eslint-disable-next-line @typescript-eslint/consistent-type-imports - __TANSTACK_QUERY_CLIENT__: import('@tanstack/query-core').QueryClient + __TANSTACK_QUERY_CLIENT__: QueryClient } } @@ -133,13 +136,12 @@ const createQueryClient = () => }, }) -const dehydrateOptions: PersistQueryClientProviderProps['persistOptions']['dehydrateOptions'] = - { - shouldDehydrateMutation: (_: any) => false, - shouldDehydrateQuery: query => { - return isQueryPersisted(query.queryKey) - }, - } +const dehydrateOptions: DehydrateOptions = { + shouldDehydrateMutation: (_: any) => false, + shouldDehydrateQuery: query => { + return isQueryPersisted(query.queryKey) && query.state.status === 'success' + }, +} export function QueryProvider({ children,