Open each mobile update at its newest unread activity #759

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

Problem

Sequential mobile Updates triage reuses the sheet scroll offset when the next conversation is rendered. Since conversations are chronological, operators can land midway through a different thread and act without seeing the notification-triggering message.

Slice

  • Position each newly opened update at its newest loaded comment exactly once.
  • Mark that comment as new activity.
  • If the operator scrolls while data is loading, preserve their position and expose a Jump to new activity control.
  • Preserve the viewport when older messages are prepended; prefetch must not move the visible sheet.

Acceptance

  1. Advancing from a deeply scrolled update makes the next update's newest comment visible rather than reusing the old scroll offset.
  2. A user scroll before render suppresses automatic movement and reveals a keyboard-accessible jump control.
  3. The positioning happens once per open transition, including resumed triage, and never during prefetch.
  4. Loading older messages retains the visible message.
  5. Mobile-safe styling keeps the target above sticky actions.
  6. Focused behavioral tests and the full suite pass.
## Problem Sequential mobile Updates triage reuses the sheet scroll offset when the next conversation is rendered. Since conversations are chronological, operators can land midway through a different thread and act without seeing the notification-triggering message. ## Slice - Position each newly opened update at its newest loaded comment exactly once. - Mark that comment as new activity. - If the operator scrolls while data is loading, preserve their position and expose a Jump to new activity control. - Preserve the viewport when older messages are prepended; prefetch must not move the visible sheet. ## Acceptance 1. Advancing from a deeply scrolled update makes the next update's newest comment visible rather than reusing the old scroll offset. 2. A user scroll before render suppresses automatic movement and reveals a keyboard-accessible jump control. 3. The positioning happens once per open transition, including resumed triage, and never during prefetch. 4. Loading older messages retains the visible message. 5. Mobile-safe styling keeps the target above sticky actions. 6. Focused behavioral tests and the full suite pass.
timmy self-assigned this 2026-08-13 17:49:56 +00:00
timmy closed this issue 2026-08-13 17:58:04 +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#759
No description provided.