Repository navigation
Agent chat: the WebKit scroll-up test reads the offset after the wheel glide settles (base red) - #23062
Conversation
…ic, temporary) The case is red on CI's Linux WebKit only (behind: true, kept: false) and passes on macOS WebKit under load; the trace shows what moved the offset. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Owned by projects-57 on cmux16 · session |
|
Bead |
|
cmux status (one comment, edited in place; each line is updated by the job that owns it) Review App of this head (app.zip, kept 1 day)
Unclear: CI failed on
Failures:
Matched log linesNot re-run automatically: Written by red: web / Web status; NEW: green on the base c6b4a58; do not merge until green; see lane-rules
Agents: Tour of |
|
|
|
Found 22 test failures on Blacksmith runners: Failures
...and 12 more test failures. View all on Blacksmith
|
…ttles Linux WebKit (WPE, as on CI) animates a wheel step over several frames. The case read scrollTop 150ms after the wheel, mid-glide on a loaded runner, and then saw the glide finish as a "pull back". A per-frame CI trace showed the view gliding 605 -> 205 and then holding at 205 while the reply grew by 300px: the pane never moved the reader. Read the offset once it has held for 200ms. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
The feat-cmux-next push run https://github.com/manaflow-ai/cmux/actions/runs/39559424526 at 240de48 failed: cmux-next Release compile (Xcode 26). |
|
Shipped in:
|
Fixes the base red in
webviews/test/agent-pane-stream-jitter.test.ts: "webkit: scrolling up while a reply streams is never pulled back".Root cause (test timing, not the pane): Linux WebKit (WPE, which CI runs) animates a wheel step over several frames. The case read scrollTop 150ms after
wheel(0, -400). On a loaded runner that read landed mid-glide, so the rest of the glide looked like a pull-back. A per-frame trace from CI on this PR's first head showed it:leftas 220, 290, 322 or 500 depending on the runEvery run ended at 205, the glide's end, so the pane never moved the reader. macOS WebKit and Chromium don't animate the wheel step here, which is why the case passes locally.
Fix: read the scrolled-up offset once scrollTop has held for 200ms (
settledScrollTop), instead of after a fixed 150ms. The rest of the case is unchanged: 600ms after the turn ends the view must still be at that offset and more than 200px from the end, so a pane that re-pins or yanks the reader still fails.There is no app change, so on base this case fails only where the wheel glides (CI's Linux WebKit). It passed 3/3 locally in Chromium and macOS WebKit.
Agent session: cmux16
🤖 Generated with Claude Code
Need help on this PR? Tag
@codesmith-botwith what you need.