Verify Web Push delivery health per device #1120

Closed
opened 2026-08-19 08:47:08 +00:00 by timmy · 0 comments
Owner

Problem

Device Setup reports Web Push as enabled from registration alone. Provider timeouts and transient delivery failures are swallowed, so a subscribed device can remain silently degraded indefinitely.

Scope

Persist bounded per-device/per-channel delivery health; update it on unread and deadline sends; expose it in push status; and add a real provider-path test notification action to Device Setup. Permanent 404/410 revocations still remove the subscription. No endpoint URLs or exception text may be retained.

Acceptance tests

  • transient failures increment only the affected channel and preserve subscriptions/checkpoints
  • a successful send restores that channel to healthy
  • status distinguishes unverified, healthy, and degraded registration
  • a test notification exercises the production sender and reports delivered/degraded/re-enrollment states
  • mobile Device Setup renders actionable degraded/recovered copy with a touch-safe test control
  • health rows remain bounded and cascade-delete with the subscription
## Problem Device Setup reports Web Push as enabled from registration alone. Provider timeouts and transient delivery failures are swallowed, so a subscribed device can remain silently degraded indefinitely. ## Scope Persist bounded per-device/per-channel delivery health; update it on unread and deadline sends; expose it in push status; and add a real provider-path test notification action to Device Setup. Permanent 404/410 revocations still remove the subscription. No endpoint URLs or exception text may be retained. ## Acceptance tests - transient failures increment only the affected channel and preserve subscriptions/checkpoints - a successful send restores that channel to healthy - status distinguishes unverified, healthy, and degraded registration - a test notification exercises the production sender and reports delivered/degraded/re-enrollment states - mobile Device Setup renders actionable degraded/recovered copy with a touch-safe test control - health rows remain bounded and cascade-delete with the subscription
timmy self-assigned this 2026-08-19 08:47:08 +00:00
Sign in to join this conversation.
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: stackchain/stackchain-dashboard#1120
No description provided.