Repository navigation
B-02: poll the screen generation instead of fixed loading sleeps - #60
Merged
austinintelligence merged 8 commits intoOct 15, 2026
Merged
austinintelligence merged 8 commits into
austinintelligence merged 8 commits into
Conversation
After an action, poll the helper's status generation every 40 ms and read rows only when it moves, up to the old 1.5 s cap, and give a tap that changed nothing 600 ms for a late change. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VBuuDWN89yt1W59QT8aHLo
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configuration
You can disable this status message by setting the Use the checkbox below for a quick retry:
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 |
9 of 11 tasks
This reverts commit a5f0438.
This reverts commit 289f293.
…ext and starts its timer at the first read The fake helper reported every row as a button, so a Loading screen was never recognised and the test passed only because the screen had settled before the first read (and failed on a faster runner). The window is now 120-450 ms. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VBuuDWN89yt1W59QT8aHLo
…ot by wall time Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VBuuDWN89yt1W59QT8aHLo
… train agent_tests.rs: B-10 turned fake_helper into a FakeLink closure; B-02's delayed-screen state (later, unread) now lives in that closure and is checked at the start of each request. Gates and helper javac pass. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01NZLaa2TojSgBwyk35cJjco
austinintelligence
merged commit Oct 15, 2026
3382bdf
into
claude/friendly-dirac-embe85
7 checks passed
austinintelligence
added a commit
that referenced
this pull request
Oct 15, 2026
A-01 budgets and fail-closed gates, with these merged into it in dependency order: B-10 #65, B-01 #62, A-20 #76, A-21 #61, A-09 #56, A-07 #68, A-04 #63, A-10 #59, A-11 #72, A-12 #57, A-13 #73, A-17 #58, A-18 #67, A-19 #70, B-11 #69, A-15 #64, B-02 #60, B-03 #71, B-05 #74, B-04 #75, B-06 #77, B-07 #78, B-13 #82, A-14 #86, A-16 #84, B-08 #87, B-09 #88, A-02 #79, A-03 #80, A-05 #83, A-06 #81, A-08 #85, B-12 #66. All checks green on Linux, macOS and Windows (Rust, helper build and format, installer, package smoke, CodeQL, dependency audit). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01NZLaa2TojSgBwyk35cJjco
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
After an action,
present.rsafter_actionpolls the helper's screen generation (the cheapstatusquery) every 40 ms and reads rows only when the generation moves. It replaces the 3 × 500 ms sleeps while a screen is empty or "Loading", keeping the same 1.5 s overall cap. A tap that left the generation unchanged now waits up to 600 ms for a late change before reporting.Why
Fixed sleeps made every late-loading screen cost a full 500 ms step. Polling reports the screen as soon as it is ready, which aims at the 1.3.0 tap p50/p95 gate (600/1,500 ms) and at no misses on the three late-loading Settings tasks.
Tests in
computer/src/agent_tests.rs:a_loading_screen_is_reported_when_it_finishes_not_after_a_fixed_sleep: a screen that finishes loading 120 ms after it is first read is reported in 120–450 ms. With a 500 ms poll it fails.a_tap_whose_change_lands_late_is_reported_as_changed: a tap whose change lands at 400 ms is reported as changed.Known limits
TYPE_VIEW_CLICKEDas a change, so on a device a real tap usually moves the generation at once and the 600 ms wait rarely runs. The late-change test models a tap that does not move the generation. Whether it pays off needs an emulator run.Safety and compatibility
adb, or page JavaScript; command forms are unchanged.Verification
cargo fmt --all -- --checkcargo clippy --workspace --all-targets --all-features -- -D warningscargo test --workspace --all-targetscargo xtask checkandcargo xtask docsnpm testandnpm run lint(not run)Gradle and device/emulator checks were not run: this container has no Android SDK and no device. The p50/p95 effect still needs an emulator run.
Release impact
Base is
claude/friendly-dirac-embe85(A-01, PR #55); retarget tomainonce it merges.🤖 Generated with Claude Code
https://claude.ai/code/session_01VBuuDWN89yt1W59QT8aHLo