Continue unread-update conversations offline #347

Closed
opened 2026-08-08 22:29:38 +00:00 by timmy · 0 comments
Owner

User problem

Offline My Work stores unread-update cards, but selecting one offline is a dead end: saved detail hydration only supports Today issues and pull requests. Mobile operators cannot read a previously opened urgent conversation or queue a reply during a cold offline launch.

Vertical slice

Persist a private, account-bound, bounded snapshot of previously opened unread-update conversation detail. Open it from the offline Updates queue, show saved freshness, allow the existing durable reply outbox, and keep server-state actions disabled until reconnect.

Acceptance criteria

  • A previously opened unread update opens from a cold offline launch without an API request and displays cached subject context and newest saved comments.
  • An offline reply queues with the existing account binding and idempotency semantics, remains unread, and sends exactly once after reconnect.
  • Mark-read, take-ownership, defer, and older-message loading are unavailable offline with reconnect guidance.
  • Uncached, expired, wrong-account, opted-out, and cleared details cannot be recovered. Storage remains bounded and excludes credentials/diffs/full API payloads.
  • At 320–430 px the composer remains usable without horizontal overflow.
  • Focused behavioral tests and the full suite pass.

Non-duplication evidence

Historical issue scan found complementary work only: #228 stores notification card metadata, #219 loads full conversations online, #234 queues authored replies, and #345 caches Today issue/PR details. Current frontend/dashboard.js rejects offline update kinds. No open issue or PR covers cached unread-update conversation detail.

## User problem Offline My Work stores unread-update cards, but selecting one offline is a dead end: saved detail hydration only supports Today issues and pull requests. Mobile operators cannot read a previously opened urgent conversation or queue a reply during a cold offline launch. ## Vertical slice Persist a private, account-bound, bounded snapshot of previously opened unread-update conversation detail. Open it from the offline Updates queue, show saved freshness, allow the existing durable reply outbox, and keep server-state actions disabled until reconnect. ## Acceptance criteria - A previously opened unread update opens from a cold offline launch without an API request and displays cached subject context and newest saved comments. - An offline reply queues with the existing account binding and idempotency semantics, remains unread, and sends exactly once after reconnect. - Mark-read, take-ownership, defer, and older-message loading are unavailable offline with reconnect guidance. - Uncached, expired, wrong-account, opted-out, and cleared details cannot be recovered. Storage remains bounded and excludes credentials/diffs/full API payloads. - At 320–430 px the composer remains usable without horizontal overflow. - Focused behavioral tests and the full suite pass. ## Non-duplication evidence Historical issue scan found complementary work only: #228 stores notification card metadata, #219 loads full conversations online, #234 queues authored replies, and #345 caches Today issue/PR details. Current `frontend/dashboard.js` rejects offline update kinds. No open issue or PR covers cached unread-update conversation detail.
timmy closed this issue 2026-08-08 22:43:49 +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#347
No description provided.