Skip to content

Feature: Limit initial timeline load window #40

@mjkatgithub

Description

@mjkatgithub

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

Metadata

Metadata

Assignees

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions