Prefetch the next mobile update during triage #757

Closed
opened 2026-08-13 17:20:54 +00:00 by timmy · 0 comments
Owner

Problem

Mobile Updates triage serializes every item transition behind a notification-detail request. Operators repeatedly see Loading update… between conversations, especially on cellular connections. The current fixed triage snapshot already knows the next surviving item, but does not use reading time to fetch it.

Vertical slice

  • Expose the next surviving item in the immutable triage snapshot.
  • After the current conversation is ready, prefetch at most one next notification detail.
  • Consume the same request/result on advance; never issue a duplicate detail request.
  • Clear or supersede speculative data on session end, snapshot replacement, removal, account change, or failure.
  • Keep offline triage network-free and fall back to the existing foreground load/retry path when prefetch fails.

Acceptance tests

  1. Opening A in an A/B/C snapshot loads A, then prefetches only B.
  2. Advancing to B consumes the prefetched detail without a second B request; C is not fetched until B is current.
  3. Failed prefetch falls back to the normal foreground request and retry status.
  4. A removed next item is never rendered from stale prefetched data.
  5. Ending/replacing the pass and changing account scope invalidate prefetched data.
  6. Offline saved-detail triage performs no speculative network request.
  7. Existing focus, progress, and full test-suite behavior remain green.

No matching open/closed issue or recent commit was found for update-detail prefetch/preload; related #747-#756 work covers resumability, discovery, snapshots, muting, and queue routing rather than transition latency.

## Problem Mobile Updates triage serializes every item transition behind a notification-detail request. Operators repeatedly see `Loading update…` between conversations, especially on cellular connections. The current fixed triage snapshot already knows the next surviving item, but does not use reading time to fetch it. ## Vertical slice - Expose the next surviving item in the immutable triage snapshot. - After the current conversation is ready, prefetch at most one next notification detail. - Consume the same request/result on advance; never issue a duplicate detail request. - Clear or supersede speculative data on session end, snapshot replacement, removal, account change, or failure. - Keep offline triage network-free and fall back to the existing foreground load/retry path when prefetch fails. ## Acceptance tests 1. Opening A in an A/B/C snapshot loads A, then prefetches only B. 2. Advancing to B consumes the prefetched detail without a second B request; C is not fetched until B is current. 3. Failed prefetch falls back to the normal foreground request and retry status. 4. A removed next item is never rendered from stale prefetched data. 5. Ending/replacing the pass and changing account scope invalidate prefetched data. 6. Offline saved-detail triage performs no speculative network request. 7. Existing focus, progress, and full test-suite behavior remain green. No matching open/closed issue or recent commit was found for update-detail prefetch/preload; related #747-#756 work covers resumability, discovery, snapshots, muting, and queue routing rather than transition latency.
timmy self-assigned this 2026-08-13 17:20:54 +00:00
timmy closed this issue 2026-08-13 17:33:38 +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#757
No description provided.