Launch planned days with a private morning reminder #1166

Closed
opened 2026-08-20 04:57:36 +00:00 by timmy · 0 comments
Owner

Problem

Tomorrow plans are synchronized and promoted safely, and Prepare Today already guides mobile operators through urgent work. But a closed PWA never brings the operator back when the planned local day begins. Existing Web Push only covers updates and deadlines.

Vertical slice

Add an opt-in per-device start-day reminder with local hour/timezone. Send one privacy-safe notification when a non-empty synchronized Tomorrow plan reaches its local date. Tapping Prepare Today opens a dedicated start-day route so existing promotion completes before the review flow opens. Disabled reminders, empty plans, inactive sessions, duplicate local dates, and invalid timezones send nothing.

Acceptance

  • Device preference persists and can be enabled only with an active push subscription.
  • One notification per device and plan date at/after the chosen local hour, including across repeated polls and DST/timezone changes.
  • Payload contains no repository, issue title, plan item, or other private work content.
  • Tapping Prepare Today uses the cached shell route and triggers existing conflict-safe Tomorrow promotion before opening Prepare Today.
  • Focused backend/frontend/service-worker tests and the complete suite pass.

Evidence / non-duplication

Audit of origin/main 99b60e5 found Tomorrow promotion only during page lifecycle (frontend/tomorrow-plan.js, frontend/dashboard.js), while push dispatch supports deadline reminders only (src/push_notifications.py, src/push_subscription_store.py). All 585 historical issue titles and recent commits were checked; no morning/start-day notification behavior exists. Related Tomorrow issues #1152-#1164 cover planning, rollover, offline sync, and conflicts; Prepare Today issues cover in-app review; push issues cover updates/deadlines.

## Problem Tomorrow plans are synchronized and promoted safely, and Prepare Today already guides mobile operators through urgent work. But a closed PWA never brings the operator back when the planned local day begins. Existing Web Push only covers updates and deadlines. ## Vertical slice Add an opt-in per-device start-day reminder with local hour/timezone. Send one privacy-safe notification when a non-empty synchronized Tomorrow plan reaches its local date. Tapping **Prepare Today** opens a dedicated start-day route so existing promotion completes before the review flow opens. Disabled reminders, empty plans, inactive sessions, duplicate local dates, and invalid timezones send nothing. ## Acceptance - Device preference persists and can be enabled only with an active push subscription. - One notification per device and plan date at/after the chosen local hour, including across repeated polls and DST/timezone changes. - Payload contains no repository, issue title, plan item, or other private work content. - Tapping Prepare Today uses the cached shell route and triggers existing conflict-safe Tomorrow promotion before opening Prepare Today. - Focused backend/frontend/service-worker tests and the complete suite pass. ## Evidence / non-duplication Audit of origin/main `99b60e5` found Tomorrow promotion only during page lifecycle (`frontend/tomorrow-plan.js`, `frontend/dashboard.js`), while push dispatch supports deadline reminders only (`src/push_notifications.py`, `src/push_subscription_store.py`). All 585 historical issue titles and recent commits were checked; no morning/start-day notification behavior exists. Related Tomorrow issues #1152-#1164 cover planning, rollover, offline sync, and conflicts; Prepare Today issues cover in-app review; push issues cover updates/deadlines.
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#1166
No description provided.