Switchbordswitchbord
v0.16.33

v0.16.33

Meta webhook redeliveries now treat duplicate process-webhook outbox jobs as idempotent success.

What changed


  • Duplicate process_webhook_event dedupe-key conflicts now return a successful webhook response instead of HTTP 503.
  • The original webhook event remains the source of truth; the duplicate request is logged as an idempotent duplicate rather than queued again.
  • Regression coverage locks the outbox_jobs_workspace_id_dedupe_key_key duplicate path so future retries do not create a retry storm.

Why it matters


Meta redelivers webhook payloads after non-2xx responses. If Switchbord has already recorded the webhook event and already has the matching outbox job, a duplicate insert conflict should stop the retry loop, not extend it.