Skip to content

fix(web): the timeline scrolls only as far as its content - #21

Merged
yordis merged 3 commits into
mainfrom
yordis/fix-timeline-scroll-range
Aug 18, 2026
Merged

fix(web): the timeline scrolls only as far as its content#21
yordis merged 3 commits into
mainfrom
yordis/fix-timeline-scroll-range

Conversation

@yordis

@yordis yordis commented Aug 18, 2026

Copy link
Copy Markdown
Member

The timeline reported itself as several times taller than it was, with all of the excess as empty space below the last message, and the range kept growing for as long as a thread stayed open.

The scrollbar is how someone judges how much thread there is. Once the range lies, every estimate made from it is wrong: the thumb shrinks to a sliver on a thread that is not long, dragging it does not land where it says, and the flick that should reach the newest message stops somewhere in the blank area past it.

The shape of the bug is the part worth calling out. It compounded with each turn and only reset when the thread was closed and reopened, so the threads worst affected were the long-lived ones people care most about, and the only remedy was to throw away the view they were working in. That is not something to ask of people who drive agents all day.

The dead space comes from the list dependency rather than from our own code, so it is carried as a patch against that package and recorded as fork divergence 0012 instead of being sent upstream.

Measured on a real thread, same interaction on both builds: before, three inflations of the scroll padding and zero restores, ending at a leaked 1154.3px and still climbing. After, three inflations and three restores, ending with no inline padding at all and scrollHeight equal to the measured content height.

yordis added 2 commits August 18, 2026 10:54
A thread that stays open is the normal case here, and the dead space below
the last message compounded with every turn, so the surface people never
leave was the one that degraded the most.

Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
@cursor

cursor Bot commented Aug 18, 2026

Copy link
Copy Markdown

PR Summary

Medium Risk
Touches core timeline scrolling via a vendored list patch on web; behavior is localized to ScrollAdjust but wrong restore logic could affect scroll position or keyboard/inset flows.

Overview
Fixes timeline scroll range growing far past the last message on web by extending the existing @legendapp/list patch so temporary end padding from ScrollAdjust is restored instead of stacking turn after turn.

The patch adds safe restore helpers (tolerance-based ownership checks), treats repeated inflations on the same node as one baseline instead of layering padding, cleans up on unmount, and wires onScrollBeginDrag through the list. Fork divergence 0012 documents the user-visible fix; the fork ledger README switches from a table to a bullet list and registers 0012.

pnpm-lock.yaml updates the @legendapp/list@3.3.5 patch hash only.

Reviewed by Cursor Bugbot for commit bda45f0. Bugbot is set up for automated code reviews on this repo. Configure here.

@github-actions github-actions Bot added the vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. label Aug 18, 2026
@coderabbitai

coderabbitai Bot commented Aug 18, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@yordis, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 39 minutes

Limit details: You’ve used all 1 included review currently available under your plan.

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 688c1985-b3ab-45c4-8c37-68b9b0f2e201

📥 Commits

Reviewing files that changed from the base of the PR and between 868a1a6 and bda45f0.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (3)
  • docs/fork/0012-timeline-scrolls-only-as-far-as-its-content.md
  • docs/fork/README.md
  • patches/@legendapp__list@3.3.5.patch
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch yordis/fix-timeline-scroll-range

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Table columns are padded to the widest row, so an entry whose title ran past
the current column width rewrote every other row with it, and the real change
was buried in whitespace.

Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
@yordis
yordis merged commit c01aa10 into main Aug 18, 2026
10 of 15 checks passed
@yordis
yordis deleted the yordis/fix-timeline-scroll-range branch August 18, 2026 15:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:L vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant