Skip to content

fix(app): preload more timeline messages#36172

Open
Hona wants to merge 2 commits into
anomalyco:devfrom
Hona:desktop-preload-20
Open

fix(app): preload more timeline messages#36172
Hona wants to merge 2 commits into
anomalyco:devfrom
Hona:desktop-preload-20

Conversation

@Hona

@Hona Hona commented Jul 10, 2026

Copy link
Copy Markdown
Member

Summary

  • increase the initial timeline message request from 2 to 20
  • preserve the later 200-message history fetch
  • verify all initially visible timeline content stays visible while history loads

Testing

  • bun test --preload ./happydom.ts ./src/context/server-session.test.ts
  • bun run test:e2e -- e2e/regression/session-timeline-history-root.spec.ts
  • bun typecheck (packages/app)
  • bun turbo typecheck (pre-push hook)

Copilot AI review requested due to automatic review settings July 10, 2026 00:41
@Hona Hona requested a review from Brendonovich as a code owner July 10, 2026 00:41

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR improves session timeline loading in the app by increasing the initial message page size so more recent context is available immediately, while keeping the existing larger history pagination behavior. It also updates unit and E2E coverage to validate that initially visible timeline content remains visible while the longer history fetch completes.

Changes:

  • Increase the initial session message fetch page size from 2 to 20 (history fetch remains 200).
  • Update server-session unit tests to assert the new initial fetch limit.
  • Update the timeline history E2E regression to use a larger initial dataset and to validate visibility during the history-load phase.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.

File Description
packages/app/src/context/server-session.ts Bumps the initial messages page size used for the first timeline load.
packages/app/src/context/server-session.test.ts Updates expectations to match the new initial fetch limit.
packages/app/e2e/regression/session-timeline-history-root.spec.ts Adjusts the regression scenario/data size and assertions to reflect the new pagination and visibility guarantees.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +131 to +143
if (!state.captured && viewport) {
state.visibleParts = [...viewport.querySelectorAll<HTMLElement>("[data-timeline-part-id]")]
.map((part) => part.dataset.timelinePartId)
.filter((partID): partID is string => !!partID && visible(partID))
state.captured = true
}
if (
!virtual ||
state.visibleParts.length === 0 ||
state.visibleParts.some((partID) => !visible(partID))
)
state.hidden = true
state.samples++
@Hona Hona added the beta label Jul 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants