github TanStack/db @tanstack/query-db-collection@0.2.34

latest releases: @tanstack/electric-db-collection@0.1.37, @tanstack/trailbase-db-collection@0.1.35, @tanstack/db@0.4.13...
5 hours ago

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() or writeUpdate() inside mutation handlers (like onDelete) 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 an onDelete handler to work correctly, enabling users to write directly to the synced store while the mutation is being persisted to the backend.

    Fixes #706

Don't miss a new db release

NewReleases is sending notifications on new releases.