Repository navigation
webviews: frame and event waits in the latency harness and wheel pass-through (fixed waits 75 → 26) - #23650
Conversation
…-through The latency harness lets the page settle between runs by waiting for it to hold still (10 painted frames with no DOM change and nothing animating), and its prepare steps wait for the state they need: the sidebar slide's end, the slide 50 ms in, the rich document shown, the menu closed. The mock hosts' reply delay is the IPC round trip the harness measures against, so it is marked. wheel-pass-through waits for the transcript, the draft and the composer card to hold for 6 painted frames instead of fixed sleeps. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15d18-f5e3-77e3-a3e6-159012f35d5f&host=cmux16
|
Owned by scroll-jitter-2 on cmux16 · session |
|
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)
red: cmux-next checks (god files, concurrency, crash safety, l10n); base red: the same failure on the base 602ea72; does not block Tour of |
|
Bead |
|
Found 9 test failures on Blacksmith runners: Failures
|
…rame Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15d18-f5e3-77e3-a3e6-159012f35d5f&host=cmux16
…er-2/fixed-waits-b1 # Conflicts: # webviews/scripts/fixed-waits-baseline.tsv
…er-2/fixed-waits-b1 # Conflicts: # webviews/scripts/fixed-waits-baseline.tsv
|
Review (independent subagent review, scroll-jitter-2 on cmux16): SHIP at 4eb8754. Re-reviewed after the sidebar-reverse fix and after both base merges, whose only conflict was fixed-waits-baseline.tsv (base's file minus my 4 rows; baseline 26). Local runs at this head: wheel-pass-through 5/5 in chromium and webkit, and latency harness 5/5 runs with no new errors. The only red is Tier routing (tests/test_cmux_next_route.py, Swift module lists that changed on base), which this webviews-only diff can't affect. |
|
Shipped in:
|
![Fix with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/fix-with-codesmith-light-3x.png)
The next batch of the fixed-waits ratchet. The baseline goes from 75 to 26 (base after #23584/#23585, which this PR merged); this PR removes 49 waits.
test/latency/actions.ts (23 → 0): between runs, the harness waits for the page to hold still (
quiet: 10 painted frames with no DOM change and nothing animating) instead of fixedsettle(ms)sleeps. Each prepare step waits for the state it needs:currentTimereaching 50 ms, or the slide having ended when a loaded frame outlasts itscripts/latency/run.tsinstalls the painted-frame helpers once per page.test/latency/picker.harness.tsx (7 → 0) and test/latency/mock-host.ts (3 → 0): the mock hosts' reply delay is the stand-in for the IPC round trip the harness measures against, so it is marked
// fixed-wait:rather than removed.test/agent-pane-wheel-pass-through.test.ts (16 → 0): after a wheel, a draft insert or arrow keys, the test waits for the transcript's offset, the draft's offset and the composer card's box to hold for 6 painted frames (
still).Runs on cmux16 at 4eb8754:
bun run latency, 5 full runs over both engines: every action took all 5 samples with no prepare errors, except "model menu open", which never responds at base either. WebKit's budget passes match base (17–20 of 23 per run, against 17 at base). Chromium on cmux16 paints at 17–30 Hz and fails its budgets at base too.Agent session: cmux16
🤖 Generated with Claude Code