Repository navigation
fix(j5): status shows the emulator to open only once it has booted - #839
Conversation
The Device panel lists an emulator only after Android has booted, so testers who took the serial from status, or from a setup that ran out of time, got "No device emulator-55xx". status now says the emulator is still booting and names the command that waits for it, and setup's timeout says not to call device_open yet. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Warning Review limit reached
This review includes 1 billable file and costs up to $0.25.
Reviews can continue after your included limit without a manual trigger. An admin must approve usage-based billing. Or wait 30 minutes for your next included review. View limit details
|
Jacksondr5
left a comment
There was a problem hiding this comment.
Combined review from both reviewers (Claude Opus 5.5 and GPT Sol 6.1), at 8ec26f07cb: no blocking findings.
emulatorBootedis a straight extraction fromwaitForBoot; its behaviour is unchanged.- The device line in
formatMobilenow checks the emulator process first, then the boot. Checked with fake SDK commands and a captured process identity, with no real device:- booted=0: no deviceId, and a warning not to call
device_open; - booted=1: prints
emulator-5556; - process gone: "not running".
- booted=0: no deviceId, and a warning not to call
- Not yet visible to adb: empty stdout, which counts as not booted.
Optional nit: while the emulator is booting, the Next: block below still says "1. device_open with the ids above". No ids are printed then, so it does no harm, but a cold agent sees two instructions that disagree. Step 1 could be dropped or changed while booting.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Jacksondr5
left a comment
There was a problem hiding this comment.
Combined re-review from both reviewers (Claude Opus 5.5 and GPT Sol 6.1), at eb10868482: the nit is resolved, and there are no findings.
Next:follows the emulator's state. Checked with fake SDK commands:- booting: no
device_open; it says to run setup, which waits; - stopped: it says setup starts the emulator;
- ready, on Android and iOS: it keeps
device_openand thenmobile-open.
- booting: no
- Teardown matches #838:
agent-device close, thendevice_close, thenstop.
Problem
The live-test crew's Android testers called
device_opentoo early and got "No device emulator-55xx on host local". The Device panel lists an emulator only after Android has booted, which takes about 2 minutes. Setup itself waits for that before printing the device, but two paths showed the serial early:statusprinted thedevice_openline for an emulator that was still booting;What changed
In
scripts/j5/live-test-mobile.ts:status(formatMobile) checkssys.boot_completedbefore naming the device. While the emulator boots, it says "emulator-55xx is still booting; do not call device_open yet", followed by the setup command, which waits for it. An emulator that isn't running is reported as such.device_openyet, and that running the command again waits and then prints the device to open.waitForBootandstatusshare one smallemulatorBootedhelper.Live testing
Builder, at
8ec26f07cb, on openclaw:statusprinted "j5-tester-2: emulator-5558 is still booting; do not call device_open yet. … --mobile android waits for it".--mobile androidprinteddeviceId "emulator-5556", andstatusprinted the same line, withEmulator: RUNNING.stopleft no emulator, AVD or claim behind.Checklist
statusand setup output; the skill's matching line is in docs(j5): a Mobile section in j5-live-test, and test-t3-mobile points at it #838device_openonly after setup has printed the deviceBuilt by Claude Opus 5.5 in Claude Code (J5 Code crew seat).
🤖 Generated with Claude Code