Repository navigation
Sheet auto-scroll slot baseline taken at the first scroll - #217
Merged
Merged
Conversation
The test on e316487 failed on Firefox in CI (run 41234180787) with the slot at 12 on both reads. The baseline was read over the wire after the pointer reached the bottom zone, while the sheet scrolled at about 19px a frame. A round trip of 250ms put that read a full row down, inside the 243.5px row the 400px wait assumes it starts from, so both reads saw the same slot. The page now records the slot itself on the first frame the sheet has moved, so the baseline no longer depends on round-trip time. Injecting a stall after the move, on Firefox: old test: 0ms passes, 250ms and 330ms fail with 12 and 12, the CI values. new test: 0ms, 250ms, 330ms and 600ms pass. Test-only. The insertion slot in template.html was correct throughout. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.
What changed
test/sheet-scroll.test.mjs: the "still pointer in the bottom zone" test records its baseline insertion slot in the page, on the first frame the sheet has moved. It used to read the slot over the wire after the pointer move.Why
mainwent red on e316487 (run 41234180787):sheet auto-scroll (firefox)failed withexpected: 12, actual: 12on "the insertion slot tracks the thumbnails moving under the still pointer". Chromium, WebKit and embedded passed in the same run, and the next commit onmainwas green.The sheet scrolls at about 19px a frame from the moment the pointer enters the zone. A slow round trip let the baseline read land about a row down, and the 400px wait then ended inside the same 243.5px row, so both reads saw slot 12.
The product was correct:
track()updatesinsin the same tick asscrollTop.Verification
Firefox, with a stall injected after the pointer move:
node --test test/sheet-scroll.test.mjson all four projects: 22 pass, 0 fail, with the host under load (20.8 on 10 cores).🤖 Generated with Claude Code