Patch Changes
- Prevent
mapExchangefrom forwarding async-mapped operations after their teardown has already been received
Submitted by @JoviDeCroock (See #3879) - Unwrap the
payloadproperty inmakeResultso that the first incremental/multipart response is parsed correctly. Previously, transports that wrap each result in apayloadproperty (e.g. Apollo Federation's multipart subscriptions) would have their first response dropped as "No Content", while subsequent responses were handled correctly bymergeResultPatch
Submitted by @JoviDeCroock (See #3881) - Emit terminal subscription results before ending completed subscriptions, preventing teardown races from dropping GraphQL errors
Submitted by @JoviDeCroock (See #3885) - Remove the invalid
exportsfield from the generated subpathpackage.jsonfiles (e.g.@urql/exchange-graphcache/extras,@urql/exchange-graphcache/default-storage,@urql/core/internal,@urql/next/rsc). These targets pointed at the parentdist/directory (../dist/...), which violates the Node.js package-exports spec requirement that everyexportstarget begin with./. Metro (Expo 53 / React Native 0.79) validates this and logged a warning for every affected package. Subpath resolution continues to work:exports-aware bundlers resolve through the rootpackage.json, while legacy resolution relies on themain/module/typesfields that remain in place
Submitted by @JoviDeCroock (See #3886)