fix(web): the timeline scrolls only as far as its content - #21
Conversation
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>
PR SummaryMedium Risk Overview 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
Reviewed by Cursor Bugbot for commit bda45f0. Bugbot is set up for automated code reviews on this repo. Configure here. |
|
Warning Review limit reached
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 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 configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (3)
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
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>
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.3pxand still climbing. After, three inflations and three restores, ending with no inline padding at all andscrollHeightequal to the measured content height.