TanStack
OSS
query
Sign in / Sign up
Open main menu
query
GitHub
Overview
Runs
Analytics
Loading workspace stats
Loading workspace insights...
Statistics interval
7 days
30 days
Latest CI Pipeline Executions
Status
Fix filter
Filter
Fuzzy
Filter range
Sort by
Sort by
Start time
Sort ascending
Sort descending
Succeeded
11017
b0b0726f fix(solid-query): restore observer subscription after SSR hydration Solid restores useBaseQuery's resource memo from the serialized server value during hydration, so the compute's wiring never runs on the client: - sync-serialized values (query settled on the server before the shell flushed) skip the compute entirely - async-serialized values (query streamed as a pending promise) replay it under a constructor-less MockPromise stub that silently drops the Promise executor's side effects Either way the QueryObserver subscription that lives inside the resource Promise executor is never established: the component renders the hydrated snapshot correctly but is permanently inert — setQueryData, refetches and invalidations notify zero subscribers. Recovery now runs on unowned setTimeout polls after hydration has fully completed: 1. recoverAfterHydration() waits for sharedConfig.done (boundary hydration is asynchronous; subscribing earlier delivers an immediate updateResult() notification whose store write re-renders the component mid-walk and breaks DOM claiming), then re-establishes the observer subscription with a guarded store catch-up that only writes when the result actually changed. 2. finishPendingRecovery() (streamed-pending queries only) waits for the hydrated resource to settle, seeds the cache from the snapshot's hydrationData when nothing fresher exists, then refreshes the resource so the compute re-runs under the native Promise and performs the full normal wiring. Owned computations are deliberately avoided in both stages: a client-only createRenderEffect created during the hydration walk shifts the hydration key of every subsequent computation in the component, so JSX claiming fails ("unclaimed server-rendered node" warnings, duplicated inert DOM).
by Brenley Dueck
B
Previous page
Previous
Next
Next page