trackslash
TRACK-28 P3

Add configurable browser push notifications

0
All issues

Description

Goal

Add opt-in browser push notifications for high-signal issue activity, with user-controlled notification categories and conservative defaults.

Acceptance criteria

  • A signed-in user can enable browser push from their settings through an explicit action; do not request browser permission automatically on page load.
  • Store and manage subscriptions per browser/device, show whether the current browser is subscribed, and allow the user to disable it.
  • Remove or disable expired and rejected subscriptions without failing the issue action that triggered a notification.
  • Provide category-level settings for at least: mentions, new assignments, comments on relevant issues, status changes, and due-date changes.
  • Default new users to direct, high-signal notifications such as mentions and newly assigned issues; broader change categories are disabled by default.
  • Do not notify a user about their own action, and coalesce duplicate notifications caused by one logical change.
  • Each push identifies the project and issue, summarizes the event without exposing more data than the recipient may access, and links to the relevant issue.
  • Re-check current project/issue access before delivery so removed, blocked, or otherwise unauthorized users do not receive protected details.
  • Push delivery is asynchronous and best-effort: provider/network failures are observable and retryable where appropriate but never roll back or delay the underlying issue mutation.
  • Keep the implementation within the Go binary and Postgres unless an external component is demonstrably required; document required Web Push/VAPID configuration.
  • Add store, handler, delivery, authorization, default-preference, duplicate/self-event, stale-subscription, and settings UI coverage.

Sub-issues

0

Linked issues

0

GitHub

0

No branches or pull requests linked.

Comments

0
No comments.