Stop Web Push when a device session expires #553

Closed
opened 2026-08-11 07:50:17 +00:00 by timmy · 0 comments
Owner

Problem

Durable Web Push subscriptions continue receiving generic unread-work notifications after their associated device session has expired or crossed its idle deadline. Explicit sign-out and revocation clean up subscriptions, but background expiry currently does not gate dispatch.

User value

Lost and unattended devices stop learning that account activity exists as soon as dashboard access is no longer authorized, while active devices retain exactly-once delivery.

Acceptance criteria

  • Active device sessions continue receiving deduplicated pushes.
  • Expired, idle-locked, and revoked sessions receive no push and stale subscriptions are removed.
  • Session-registry failures fail closed without deleting subscriptions, allowing retry.
  • One invalid subscription does not block an active device.
  • Focused tests and full suite pass.

Non-duplication evidence

Issues #549 and #551 added Web Push and multi-worker delivery fencing; neither authorizes dispatch against absolute/idle session validity. Historical issue titles and recent commits contain no equivalent lifecycle gate.

## Problem Durable Web Push subscriptions continue receiving generic unread-work notifications after their associated device session has expired or crossed its idle deadline. Explicit sign-out and revocation clean up subscriptions, but background expiry currently does not gate dispatch. ## User value Lost and unattended devices stop learning that account activity exists as soon as dashboard access is no longer authorized, while active devices retain exactly-once delivery. ## Acceptance criteria - Active device sessions continue receiving deduplicated pushes. - Expired, idle-locked, and revoked sessions receive no push and stale subscriptions are removed. - Session-registry failures fail closed without deleting subscriptions, allowing retry. - One invalid subscription does not block an active device. - Focused tests and full suite pass. ## Non-duplication evidence Issues #549 and #551 added Web Push and multi-worker delivery fencing; neither authorizes dispatch against absolute/idle session validity. Historical issue titles and recent commits contain no equivalent lifecycle gate.
timmy self-assigned this 2026-08-11 07:50:17 +00:00
timmy closed this issue 2026-08-11 07:57:06 +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#553
No description provided.