Repository navigation
fix(app): stop following the timeline end while dragging the scrollbar - #57831
Merged
Merged
Conversation
5 tasks
3 of 6 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Issue for this PR
No issue filed yet.
Type of change
What does this PR do?
Dragging the scrollbar thumb in a long session didn't scroll it: the timeline kept snapping back to the bottom.
The timeline only stops following the end when it sees a
pointerdown(or a wheel/key event). The thumb is a sibling of the viewport where that handler lives, and its ownpointerdownhandler callsstopPropagation, so a thumb drag never registered as a user scroll. The timeline stayed pinned, and every time newly mounted rows replaced their size estimates it re-anchored to the end, so the next mouse move jumped up and the timeline snapped down again.The handler now listens on the
ScrollViewroot in the capture phase. That runs before the thumb stops propagation and still covers everything inside the viewport, so drag-selection past the edge behaves as before.How did you verify your code works?
A Playwright script drags the thumb from the bottom to the top of a 320-turn mocked session in 60 steps and records
scrollTopevery frame:The content still shifts a little during the drag while rows measure (the virtualizer's size estimates); this PR doesn't change that.
Screenshots / recordings
Before: dragging the thumb leaves the view stuck at the bottom while the scrollbar jumps. After: the drag scrolls through the history.
Checklist