Show timed Today breaks on the mobile lock screen #1050

Closed
opened 2026-08-17 23:52:45 +00:00 by timmy · 0 comments
Owner

Evidence

Timed breaks persist break_deadline_at, but today-lock-screen.js drops it and the service worker renders every break as a generic paused session. Mobile operators therefore cannot see when to return from the lock screen, and the existing Resume action is not bound to the active break deadline.

User flow

When lock-screen controls are enabled, starting a timed Today break replaces the generic paused notification with privacy-safe break copy, the local return time, and Resume now / Open Today actions. Resume remains explicit. A stale action from an older break must fail closed.

Acceptance tests

  • Lock-screen sync carries only a validated break deadline and a one-time token bound to the exact identity plus deadline.
  • A live timed break shows On a Today break, a local return time, and Resume/Open actions without repository or issue details.
  • Resume now works once for the matching break and cannot resume a replacement item, a newer break, or an ended session.
  • Early resume/end/disable clears the break notification state.
  • Invalid, expired, or unreasonably distant deadlines fall back safely to normal paused controls.
  • Focused tests, full suite, and packaged 320x568 / 390x844 mobile Today journey pass.

Non-duplication

#1036 added the in-app timed break, #1038 synchronized its deadline, and #1026/#1032 added generic lock-screen controls. None carries the deadline into the lock-screen notification or deadline-binds its Resume action.

## Evidence Timed breaks persist `break_deadline_at`, but `today-lock-screen.js` drops it and the service worker renders every break as a generic paused session. Mobile operators therefore cannot see when to return from the lock screen, and the existing Resume action is not bound to the active break deadline. ## User flow When lock-screen controls are enabled, starting a timed Today break replaces the generic paused notification with privacy-safe break copy, the local return time, and **Resume now** / **Open Today** actions. Resume remains explicit. A stale action from an older break must fail closed. ## Acceptance tests - Lock-screen sync carries only a validated break deadline and a one-time token bound to the exact identity plus deadline. - A live timed break shows `On a Today break`, a local return time, and Resume/Open actions without repository or issue details. - Resume now works once for the matching break and cannot resume a replacement item, a newer break, or an ended session. - Early resume/end/disable clears the break notification state. - Invalid, expired, or unreasonably distant deadlines fall back safely to normal paused controls. - Focused tests, full suite, and packaged 320x568 / 390x844 mobile Today journey pass. ## Non-duplication #1036 added the in-app timed break, #1038 synchronized its deadline, and #1026/#1032 added generic lock-screen controls. None carries the deadline into the lock-screen notification or deadline-binds its Resume action.
timmy self-assigned this 2026-08-17 23:52:45 +00:00
timmy closed this issue 2026-08-18 00:05:54 +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#1050
No description provided.