Finish the current Today item from the mobile lock screen #1032

Closed
opened 2026-08-17 16:54:35 +00:00 by rockachopa · 0 comments
Member

Problem

Active mobile Today sessions support Pause/Resume/Open from the lock screen, but the primary work loop cannot be finished there. Operators must unlock, recover Today, and use the in-app Done & next action.

Evidence: frontend/service-worker.js exposes only Pause/Resume/Open while frontend/dashboard.js already routes in-app completion through completeTodayItem. Historical issue/PR/release review found no lock-screen completion implementation; #1026/#1027 covers only Pause/Resume/Open and #601/#602 covers only the in-app HUD.

Scope

Add a privacy-safe Finish current notification action. Foreground/open Today, validate an opaque one-shot action token against the exact active timer identity, then reuse the existing Today completion path. Stale, replayed, changed-session, or persistence-failed actions must not complete another item. The underlying Gitea issue/PR must remain unchanged.

Acceptance criteria

  • Active notification renders Pause/Resume, Finish current, and a body tap that opens Today without exposing repository/title/identity data.
  • Open-dashboard and cold-launch actions are consumed once and stripped from browser history.
  • Only the exact active Today item is completed; stale/replayed tokens fail closed with truthful guidance.
  • Existing next-item/recap behavior is reused.
  • Behavioral controller/service-worker tests, focused tests, and full suite pass.
## Problem Active mobile Today sessions support Pause/Resume/Open from the lock screen, but the primary work loop cannot be finished there. Operators must unlock, recover Today, and use the in-app **Done & next** action. Evidence: `frontend/service-worker.js` exposes only Pause/Resume/Open while `frontend/dashboard.js` already routes in-app completion through `completeTodayItem`. Historical issue/PR/release review found no lock-screen completion implementation; #1026/#1027 covers only Pause/Resume/Open and #601/#602 covers only the in-app HUD. ## Scope Add a privacy-safe **Finish current** notification action. Foreground/open Today, validate an opaque one-shot action token against the exact active timer identity, then reuse the existing Today completion path. Stale, replayed, changed-session, or persistence-failed actions must not complete another item. The underlying Gitea issue/PR must remain unchanged. ## Acceptance criteria - Active notification renders Pause/Resume, Finish current, and a body tap that opens Today without exposing repository/title/identity data. - Open-dashboard and cold-launch actions are consumed once and stripped from browser history. - Only the exact active Today item is completed; stale/replayed tokens fail closed with truthful guidance. - Existing next-item/recap behavior is reused. - Behavioral controller/service-worker tests, focused tests, and full suite pass.
timmy was assigned by rockachopa 2026-08-17 16:54:35 +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#1032
No description provided.