Skip to main content
← Back to list
01Issue
BugShippedSwamp CLIPublic
Assigneesstack72

Relationships

#2310 Every webhook lifecycle line is logged twice by swamp serve

Opened by hammz · 9/21/2026· Shipped 9/21/2026

Found while triaging swamp-club#2303; cosmetic and deliberately left out of that fix.

Summary

Each webhook lifecycle event produces two identical lines in serve output.

Cause

src/serve/webhook.ts logs directly at the completion, failure and abort sites, and then emits a WebhookEvent. src/cli/commands/serve.ts:3868-3910 handles that event and logs the same message a second time. Both run in log mode, so the tail carries duplicates.

Reproduction

Observed in a scratch repo on 20260918.211634.0-sha.bcaa9695. A single signed POST to a webhook route produced a received line, a queued line, a combined received-and-queued line, and the workflow failure line twice.

Expected

One line per lifecycle event. The event handler in serve.ts is the better single owner, since it already distinguishes log mode from json mode.

02Bog Flow
✓OPEN✓TRIAGED✓IN PROGRESS✓SHIPPED+ 1 MOREASSIGNED+ 2 MOREREVIEW+ 7 MOREPR_MERGED+ 2 MORESESSION_SUMMARIZED

Shipped

9/21/2026, 7:32:03 PM

Click a lifecycle step above to view its details.

03Sludge Pulse
stack72 assigned stack729/21/2026, 6:46:31 PM
Editable. Press Enter to edit.

stack72 commented 9/21/2026, 7:32:13 PM

Thanks @hammz for reporting this! We shipped: Remove duplicate webhook lifecycle logging from WebhookService. The service logs directly at the queued, completed, and failed sites, then emits WebhookEvents. The event handler in serve.ts handles those events and logs the same messages again. Fix: delete the four direct logger calls that duplicate event-handler logging, making the serve.ts event handler the single logging owner.. The fix has been merged and a release is on its way. We appreciate your contribution to swamp.

Sign in to post a ripple.