-
Notifications
You must be signed in to change notification settings - Fork 0
Closed
Description
Goal
Reduce perceived startup latency and scroll depth by limiting the initial timeline
window and loading messages incrementally via scrolling.
Scope
- Cap initial timeline window to a defined message budget
- Replace button-based loading with incremental scroll loading in both directions
- Preserve timeline continuity and ordering
- Avoid regressions for reaction/reply/thread rendering in loaded chunks
- Keep loading behavior resource-friendly (in-flight guards and cooldown)
Branch
feature/timeline-window-budget
Acceptance Criteria
- Initial chat open renders with reduced message volume
- Messages load incrementally via scrolling (up/down)
- Message order and grouping remain correct across pagination/window shifts
- User can still reach older history by repeated scrolling
- Last-read message is positioned approximately in the viewport center on load
- If there are no newer unread messages, initial viewport starts at bottom
Test Checklist
Unit
- Timeline-window mapping and merge behavior
- Pagination cursor/state updates
Integration
- Chat state updates correctly when older messages are appended
- Existing message UI features keep working after pagination/window shifts
E2E
- Open seeded room and verify smaller initial history window
- Scroll up/down multiple times and verify continuity
Reactions are currently unavailable