Patch Changes
-
Fix queryCollectionOptions to respect QueryClient defaultOptions when not overridden (#707)
Previously, when creating a QueryClient with defaultOptions (e.g., staleTime, retry, refetchOnWindowFocus), these options were ignored by queryCollectionOptions unless explicitly specified again in the collection config. This required duplicating configuration and prevented users from setting global defaults.
Now, queryCollectionOptions properly respects the QueryClient's defaultOptions as fallbacks. Options explicitly provided in queryCollectionOptions will still override the defaults.
Example - this now works as expected:
const dbQueryClient = new QueryClient({ defaultOptions: { queries: { refetchOnWindowFocus: false, staleTime: Infinity, }, }, }) queryCollectionOptions({ id: "wallet-accounts", queryKey: ["wallet-accounts"], queryClient: dbQueryClient, // staleTime: Infinity is now inherited from defaultOptions })
-
Fix writeDelete/writeUpdate validation to check synced store only (#708)
Fixed issue where calling
writeDelete()
orwriteUpdate()
inside mutation handlers (likeonDelete
) would throw errors when optimistic updates were active. These write operations now correctly validate against the synced store only, not the combined view (synced + optimistic).This allows patterns like calling
writeDelete()
inside anonDelete
handler to work correctly, enabling users to write directly to the synced store while the mutation is being persisted to the backend.Fixes #706