Mirror: The highly customizable and versatile GraphQL client with which you add on features like normalized caching as you grow.

fix(graphcache): fix restoring variables on mutation operations (#3046)

Changed files
+11 -1
.changeset
exchanges
graphcache
+5
.changeset/fifty-jeans-invite.md
···
+
---
+
'@urql/exchange-graphcache': patch
+
---
+
+
Restore variables correctly on mutations
+6 -1
exchanges/graphcache/src/cacheExchange.ts
···
)
: operation.variables,
},
-
operation.context
+
{ ...operation.context, originalVariables: operation.variables }
);
};
···
: result.operation;
if (operation.kind === 'mutation') {
+
if (result.operation.context.originalVariables) {
+
operation.variables = result.operation.context.originalVariables;
+
delete result.operation.context.originalVariables;
+
}
+
// Collect previous dependencies that have been written for optimistic updates
const dependencies = optimisticKeysToDependencies.get(operation.key);
collectPendingOperations(pendingOperations, dependencies);