Skip to content

feat(aggregator): /notifications preferences page + deep-link acceptance (#1254 slice d) #3318

Open

Description

@dezren39

Implementation slice (d) of the #1254 design (note: doc/2026-11-01T03-54-00Z_design_pwa_push_notifications.md, PR #3314; epic #1184). Rides with slice (c) engine.

A /notifications page in the aggregator: per-class subscription toggles, quiet-hours window editing, this device's subscription state, and a send-test button per class. Plus the deep-link acceptance from design §3 wired as tests: a test notification for each class lands on that item's triage-capable view (the same URL its dashboard card links to), where the item's actions complete a triage round-trip; the only list-shaped landing is the digest case (attention view filtered to the digest refs). Never the origin root.

Acceptance:

  • Toggling a class / editing quiet hours on the page changes the stored subscription and the next engine decision reflects it
  • Send-test for each class lands per the deep-link contract above (verified on mobile viewport)
  • Page is reachable from the dashboard nav and renders on the tailnet origin

Activity

  1. added
    kind/featureNew feature or capability request
    priority/normalOrdinary priority (the default)
    app/pm-stackpm-stack (Pad/Grist) in developing-today/code
    on Nov 1, 2026
  2. added
    queue/queuedHas a queued task in the Supabase agent queue
    source/creatorFiled by the new-issue-creator job
    task/triageQueue packet kind: verify, reproduce, and route this item
    on Nov 3, 2026
  3. developing-today commented on Nov 3, 2026

    @developing-today
    Contributor

    agent-note:v1
    state: triaged (coverage pass)
    Coverage pass 2026-11-03: reviewed in the fleet-wide per-issue pass (drift / overlap / already-handled / stale / blockers / ordering). Verdict: still live; queued in repo-health-code-pilot as triage at priority 40 (priority/normal). If this is already handled at current main, the triage closes it with evidence; if it needs splitting, the triage files the split.
    Found via: coverage pass 2026-11-03

  4. added
    work/assignedQueue worker lifecycle state
    queue/claimedQueue worker lifecycle state
    and removed
    queue/queuedHas a queued task in the Supabase agent queue
    on Nov 3, 2026
  5. dezren39 commented on Nov 3, 2026

    @dezren39
    MemberAuthor

    agent-note:v1
    state: triaged
    task: task 8236 (triage, repo-health-code-pilot, lane code-l)
    worker: repo-worker-code
    issue: #3318

    Triage findings — #3318 (slice d of #1254) at current main

    Verdict: still live, not implemented. No hard-stop labels. Design PR #3314 merged; parent #1254 closed; epic #1184 open.

    Evidence (fresh gh checks this run):

    Ordering / blockers for slice (d):

    1. Rides with slice (c), as filed. The page's toggles/quiet-hours edits must change the stored subscription the feat(aggregator): notification engine — class triggers, dedupe, quiet hours, escalation (#1254 slice c) #3317 engine reads, and the send-test/deep-link acceptance can only be verified once the engine can send per class. Implementing the page before the engine's subscription model settles risks building the storage shape twice.
    2. Recommended sequence: feat(aggregator): notification engine — class triggers, dedupe, quiet hours, escalation (#1254 slice c) #3317 engine implementation (already enqueued) → slice (d) page against the engine's stored subscription + send-test wired to the engine → deep-link acceptance tests per design §3 (per-class landing on the item's triage-capable view; digest case lands on the filtered attention view; never the origin root).
    3. No Drew decision is blocked here: the acceptance criteria on this issue are complete as filed (stored-subscription effect on next engine decision, mobile-viewport send-test landing, dashboard nav reachability on the tailnet origin).

    This triage completes as triaged; the implementation follows the #3317 engine task in the queue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

app/pm-stackpm-stack (Pad/Grist) in developing-today/codekind/featureNew feature or capability requestpriority/normalOrdinary priority (the default)source/creatorFiled by the new-issue-creator jobtask/triageQueue packet kind: verify, reproduce, and route this item

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions