wrong-event-field-as-key
warningA dedupe key is derived from the object id inside the event (e.g. event.data.object.id) rather than the event id.
Why it goes wrong
Many events concern the same object (invoice.created, invoice.paid, invoice.voided). Keyed by the object id, the first one marks the object as processed and every later, distinct event is dropped as a duplicate.
Safe pattern
Key processed-event records on the provider's event id (or delivery id header), or include the event type with the object id.
Configure
// retrysafe.config.ts
export default defineConfig({
rules: { "wrong-event-field-as-key": "warning" }, // or "off"
});
// or, for one line (a reason is required):
// retrysafe-ignore wrong-event-field-as-key -- <why this is safe>