Show 50 recent events with size, processing time and status (closes #347)
check / check (push) Failing after 6m14s

The recent events list on a webhook's page, now headed "50 Most Recent
Events", shows the 50 newest events, each with its time relative to now
(the full UTC timestamp on hover), its body size, its processing time
and, when the webhook has exactly one HTTP target, that target's last
HTTP status, colour-coded. Resubmitted copies are marked, as in the
event log.

Each event now records its body's size in bytes when it is stored, on
receipt and on resubmit, and the list reads that instead of the body.
Processing time is read from the existing delivery and attempt
timestamps. The list loads its deliveries and their attempts in batched
queries of its own, reading only the columns it shows. A failed load
answers with an error instead of an empty list.

Model: opus-5-5
This commit is contained in:
2026-10-01 20:50:50 +00:00
committed by sneak
parent 9d29baaa2d
commit 426aa00923
11 changed files with 715 additions and 18 deletions
+1
View File
@@ -204,6 +204,7 @@ func assertEventCopy(
assert.Equal(t, original.Method, fresh.Method)
assert.Equal(t, original.Headers, fresh.Headers)
assert.Equal(t, original.Body, fresh.Body)
assert.Equal(t, int64(len(original.Body)), fresh.BodyBytes)
assert.Equal(t, original.ContentType, fresh.ContentType)
assert.Equal(t, original.EntrypointID, fresh.EntrypointID)
assert.Equal(t, original.WebhookID, fresh.WebhookID)