Minor Changes
-
#11326
72f8185- SSR lifecycle utilities: newdehydrateSettledawaits in-flight queries before dehydrating so streamed HTML carries settled data;QueryClientProvidertears the client down after server render disposal (cancelQueries+clear, preventing cross-request leaks) and dehydration now respectsdefaultOptions.dehydrate.shouldDehydrateQueryfiltering. -
#11326
72f8185- Built-in single-flight consumer:QueryClientProvidernow subscribes the query cache's slice of Solid's multi-source single-flight channel under the exportedFLIGHT_DATA_SOURCEid ("sq"). Mutation responses carrying that slice — aDehydratedStateproduced by a server collector registered withregisterFlightDataSource(FLIGHT_DATA_SOURCE, hook)— hydrate the provider's client before the mutation's promise resolves, so every mounted query on those keys updates with no follow-up refetches and no per-app wiring. Subscribing is inert when no server collector exists. Requires the@solidjs/webrelease following 2.0.0-rc.4 (the named-source single-flight protocol).
Patch Changes
-
#11325
209f9f5- fix: scope useMutation's mutation-cache subscription to the flight. The
hook subscribed at mount with a bare reactiveclient()read (tripping
Solid's STRICT_READ_UNTRACKED dev diagnostic) and held the subscription
for its whole life even though the listener only matters while a mutation
is in flight. The subscription now starts inrunagainst the same
client the mutation is built on and ends at settle: nothing reactive is
read at setup, the listener and the mutation can never sit on different
clients, and idle hooks hold no cache subscription. -
#11326
72f8185- Require solid-js and @solidjs/web 2.0.0-rc.6+. rc.6 ships the named flight-data source API the single-flight consumer uses, plus the async settle fix the adapter depends on (rc.5's settle-walk regression breaks query hydration).