Protect unsynced mobile work with a sign-out review #1128

Closed
opened 2026-08-19 11:20:00 +00:00 by timmy · 0 comments
Owner

Evidence

The mobile menu calls session sign-out directly, revokes the session, and clears all Stackchain browser storage without showing the existing private-data inventory (frontend/session.js, frontend/private-data-inventory.js). Device Setup already warns before clearing drafts and queued work, but normal sign-out bypasses that safeguard. A scan of all 566 historical issue titles and recent commits found logout revocation/purge work (#268, #293) and Device Storage clearing (#998), but no pre-sign-out inventory checkpoint.

User flow

Before signing out this device or all devices, open a phone-safe review sheet that counts private browser items and IndexedDB work records. Warn truthfully when inventory is unavailable. Cancel/Back/Escape must preserve the session and all local work. Only the explicit review action may revoke and purge; purge failures remain on-page with recovery guidance.

Acceptance

  • No session DELETE or storage deletion occurs before confirmation.
  • The review reports private item/work counts and warns that drafts or queued actions may be unsynced.
  • Unknown inventory never claims the device is empty.
  • Cancel, Escape, and browser Back close the sheet and restore launcher focus.
  • Confirm preserves revoke-then-purge-then-navigate ordering for one-device and all-device sign-out.
  • At 390x844 the bottom sheet stays within 100dvh, scrolls, honors safe-area inset, and exposes 44px actions.
  • Behavioral tests cover destructive gating and the rendered mobile contract.
## Evidence The mobile menu calls session sign-out directly, revokes the session, and clears all Stackchain browser storage without showing the existing private-data inventory (`frontend/session.js`, `frontend/private-data-inventory.js`). Device Setup already warns before clearing drafts and queued work, but normal sign-out bypasses that safeguard. A scan of all 566 historical issue titles and recent commits found logout revocation/purge work (#268, #293) and Device Storage clearing (#998), but no pre-sign-out inventory checkpoint. ## User flow Before signing out this device or all devices, open a phone-safe review sheet that counts private browser items and IndexedDB work records. Warn truthfully when inventory is unavailable. Cancel/Back/Escape must preserve the session and all local work. Only the explicit review action may revoke and purge; purge failures remain on-page with recovery guidance. ## Acceptance - No session DELETE or storage deletion occurs before confirmation. - The review reports private item/work counts and warns that drafts or queued actions may be unsynced. - Unknown inventory never claims the device is empty. - Cancel, Escape, and browser Back close the sheet and restore launcher focus. - Confirm preserves revoke-then-purge-then-navigate ordering for one-device and all-device sign-out. - At 390x844 the bottom sheet stays within 100dvh, scrolls, honors safe-area inset, and exposes 44px actions. - Behavioral tests cover destructive gating and the rendered mobile contract.
timmy closed this issue 2026-08-19 11:45:24 +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#1128
No description provided.