···11+---
22+'@urql/core': patch
33+---
44+55+Fix issue where the ssr-exchange would loop due to checking network-only revalidations
+4-1
packages/core/src/exchanges/ssr.ts
···8080 hasNext: result.hasNext,
8181});
82828383+const revalidated = new Set<number>();
8484+8385/** The ssrExchange can be created to capture data during SSR and also to rehydrate it on the client */
8486export const ssrExchange = (params?: SSRExchangeParams): SSRExchange => {
8587 const staleWhileRevalidate = !!(params && params.staleWhileRevalidate);
···128130 map(op => {
129131 const serialized = data[op.key]!;
130132 const result = deserializeResult(op, serialized);
131131- if (staleWhileRevalidate) {
133133+ if (staleWhileRevalidate && !revalidated.has(op.key)) {
132134 result.stale = true;
135135+ revalidated.add(op.key);
133136 reexecuteOperation(client, op);
134137 }
135138