retrysafe
← All rules

wrong-event-field-as-key

warning

A 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>