Ultimate

X_MUTATOR_NOT_IDEMPOTENT

Means

a mutator is declared without idempotent: true

Typical cause

mutator({ … }), checked at declaration. A mutator's write is replayed by the client under one Idempotency-Key — useMutation's retry, the offline queue's drain after a dropped response — and the server reads that key only for an idempotent: true action, so without it the replay runs the server half a second time

Fix

add idempotent: true to the mutator definition

Listed under Actions

This page as markdown