Webhook list does not show which webhooks are receiving or failing #394

Closed
opened 2026-10-01 22:06:25 +02:00 by clawbot · 2 comments
Collaborator

Owner's request, #377 (chat, 2026-10-01):

audit the whole app for stupid cases of missing functionality or basic things like this (like the stats panel at the top that i requested).

What is missing: the webhook list (templates/sources_list.html, buildWebhookListItems in internal/handlers/source_management.go) shows each webhook's name, description, retention, and counts of entrypoints, targets and events. It does not show when a webhook last received an event, or whether its deliveries are failing. A broken webhook looks exactly like a healthy one until its page is opened. The entrypoint and target counts also include inactive ones without saying so.

Definition of done:

  • Each webhook in the list shows when its last event arrived, or "no events yet".
  • Each webhook shows how many deliveries failed in the last 24 hours, highlighted when that is not zero.
  • Those figures reuse the counts from #368 rather than computing them again.
  • The entrypoint and target counts say how many are inactive, for example "4 targets, 1 inactive".
  • Tests: a webhook with recent failures, a healthy one, and one with no events each show the right figures.

PRIORITY: from the owner's audit request of 1 October (#377), in the tier of #367 to #376.

Model: opus-5-5

Owner's request, https://git.eeqj.de/sneak/webhooker/issues/377 (chat, 2026-10-01): > audit the whole app for stupid cases of missing functionality or basic things like this (like the stats panel at the top that i requested). What is missing: the webhook list (`templates/sources_list.html`, `buildWebhookListItems` in `internal/handlers/source_management.go`) shows each webhook's name, description, retention, and counts of entrypoints, targets and events. It does not show when a webhook last received an event, or whether its deliveries are failing. A broken webhook looks exactly like a healthy one until its page is opened. The entrypoint and target counts also include inactive ones without saying so. Definition of done: - Each webhook in the list shows when its last event arrived, or "no events yet". - Each webhook shows how many deliveries failed in the last 24 hours, highlighted when that is not zero. - Those figures reuse the counts from https://git.eeqj.de/sneak/webhooker/issues/368 rather than computing them again. - The entrypoint and target counts say how many are inactive, for example "4 targets, 1 inactive". - Tests: a webhook with recent failures, a healthy one, and one with no events each show the right figures. PRIORITY: from the owner's audit request of 1 October (https://git.eeqj.de/sneak/webhooker/issues/377), in the tier of https://git.eeqj.de/sneak/webhooker/issues/367 to https://git.eeqj.de/sneak/webhooker/issues/376. Model: opus-5-5
clawbot self-assigned this 2026-10-01 22:06:25 +02:00
Author
Collaborator

Plan. The issue body is the brief, and #368 is now on next, so this reuses its running totals and window counts. For each webhook, the list reads the last arrival time from the event totals row and the failed-delivery count for the last 24 hours with the same index-range query the statistics pane uses, with no new counting. Failures above zero are highlighted. Entrypoint and target counts say how many are inactive. A webhook whose event database cannot be read shows an error for that row, not zeros. Times are shown in UTC, as on the webhook page.

Model: opus-5-5

Plan. The issue body is the brief, and https://git.eeqj.de/sneak/webhooker/issues/368 is now on `next`, so this reuses its running totals and window counts. For each webhook, the list reads the last arrival time from the event totals row and the failed-delivery count for the last 24 hours with the same index-range query the statistics pane uses, with no new counting. Failures above zero are highlighted. Entrypoint and target counts say how many are inactive. A webhook whose event database cannot be read shows an error for that row, not zeros. Times are shown in UTC, as on the webhook page. Model: opus-5-5
Author
Collaborator

Done in #417. Each webhook in the list at /hooks now shows when its last event arrived, or "No events yet", how many of its deliveries failed in the last 24 hours (in red when not zero), and how many of its entrypoints and targets are inactive. The figures come from the event totals row and the statistics pane's 24-hour query from #368. The event count now comes from the totals row too, instead of counting every stored event. A webhook whose event database cannot be read says so in its entry.

  • Deviation: a failure reading entrypoints or targets from the main database now shows an error page; before, it was ignored and showed zero.
  • Judgement call: the inactive count is shown only when it is not zero.

Model: opus-5-5

Done in https://git.eeqj.de/sneak/webhooker/pulls/417. Each webhook in the list at `/hooks` now shows when its last event arrived, or "No events yet", how many of its deliveries failed in the last 24 hours (in red when not zero), and how many of its entrypoints and targets are inactive. The figures come from the event totals row and the statistics pane's 24-hour query from https://git.eeqj.de/sneak/webhooker/issues/368. The event count now comes from the totals row too, instead of counting every stored event. A webhook whose event database cannot be read says so in its entry. - Deviation: a failure reading entrypoints or targets from the main database now shows an error page; before, it was ignored and showed zero. - Judgement call: the inactive count is shown only when it is not zero. Model: opus-5-5
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: sneak/webhooker#394