Skip to content

Settings, Deliveries: an Overview tab with trends, failures by reason and webhook endpoints - #233

Merged
nambok merged 1 commit into
mainfrom
feat/delivery-analytics
Oct 27, 2026
Merged

nambok merged 1 commit into
mainfrom
feat/delivery-analytics

Conversation

@nambok

@nambok nambok commented Oct 26, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

An Overview tab on Settings, Deliveries: how deliveries went over 24 hours, 7 days or 30 days against the period before, with every element opening the list narrowed to it. It lives on Deliveries, not Insights, Analytics, because Deliveries is admin-only and the drill-in lands on the same page.

Pairs with CoderHelm/coderhelm-platform#321 (GET /api/deliveries/analytics).

Changes

  • Tabs on Deliveries: Deliveries (the list, still the default) and Overview (?view=overview). Source and status carry between them.

  • Overview (components/delivery-overview.tsx):

    • tiles for success rate, deliveries (with retries and how many then went fine), failures (with the most common reason) and how long the slowest 5% took, each with its change in words against the period before;
    • deliveries per hour or day (went fine and failed) and the success rate over time;
    • failures by reason in plain words with the fix;
    • webhook endpoints with state (on, off, off because it kept failing, failing N in a row, deleted), success rate, slowest 5% and last failure;
    • deliveries by source, and the event types that failed most.

    Filters: period, status, source and endpoint, all kept in the address. Readable empty, "counting older deliveries" and low-data states.

  • Drill-in: tiles, bars and points, the chart tables, reasons, endpoints, sources and events link to the list. The list now takes from/until (one hour, one day or the period), endpoint and reason from the address, each shown as a chip you can remove.

  • Shared charts: components/charts.tsx holds the chart card, tooltip, axis, series colors, table and change helpers that Analytics used inline; Analytics imports them, unchanged.

  • API: api.getDeliveryAnalytics and its types, plus until, endpoint and reason on the list filter.

  • Endpoint links use endpointHref from Webhooks: endpoint settings, Deliveries sharing line, and docs for the webhooks CoderHelm sends #223 (Settings, Webhooks); rebased on it.

Verification

  • npm run lint (ui-lint and no-hosted-links), npm run typecheck, npm run check:openapi and npm run build pass.
  • Full e2e on the static build (E2E_STATIC=1): 1095 passed (after the rebase on Webhooks: endpoint settings, Deliveries sharing line, and docs for the webhooks CoderHelm sends #223).
  • New e2e/delivery-overview.spec.ts:
    • the overview at 1440 and 390, with no sideways scroll;
    • filters going to the server and the address;
    • drill-in from a reason, a bar, the chart table, an endpoint, a tile, an event and a source;
    • empty and low-data states at 1440 and 390.
  • Screenshots reviewed at 1440 and 390 (full, empty, low data). Two tables that clipped at 1440 were narrowed and stacked.
  • Customer-name grep on git diff origin/main prints nothing.

… and webhook endpoints

Headline tiles (success rate, deliveries, failures, slowest 5%) compared
with the period before, deliveries and success rate over time, failures by
reason with the fix, webhook endpoints with their state and streak, sources
and the event types that failed most. Period, status, source and endpoint
filters live in the address. Every tile, bar, reason, endpoint, source and
event opens the list narrowed to it; the list now takes a time window,
endpoint and reason from the address. The chart card, tooltip and table
move from Analytics into a shared module.
@nambok
nambok force-pushed the feat/delivery-analytics branch from c30e0f3 to 819c4b6 Compare October 27, 2026 00:15
@nambok
nambok merged commit 67b51fa into main Oct 27, 2026
5 checks passed
@nambok
nambok deleted the feat/delivery-analytics branch October 27, 2026 01:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant