Repository navigation
Conversation
describeVega turned every page-source fetch error except the multi-VVD ambiguity into an empty tree plus a "relaunch the app" hint, so describe succeeded with an empty screen when no VVD was running. Rethrow the VEGA_DEVICE_NOT_FOUND failure like tv-remote and screenshot surface it. Closes #1337
|
No actionable comments were generated in the recent review. ℹ️ Recent review info
Walkthrough
Merge Risk:
|
…nd pin both rethrows
…the allowlist Fold VEGA_MULTIPLE_DEVICES into DISCOVERY_FAILURES instead of a separate instanceof check, and add a case showing a typed non-discovery failure (adb forward) still degrades to the relaunch hint.
latekvo
left a comment
There was a problem hiding this comment.
[Diplomat, Opus 5.5]: Ran a 5-dimension review (claims vs code, nearest twin, non-happy paths, real-HTTP E2E against main's vega.ts, mutation) over this head merged with current main. No high or medium findings. Two low ones are inline.
waitForVegaAutomation swallowed every describeVega throw, so a VVD that went missing after restart-app ended as generic relaunch advice. Return the error still standing at the deadline, as androidDevtoolsReady does.
…appear Only VEGA_DEVICE_NOT_REGISTERED clears up while polling; a missing or ambiguous VVD now ends the gate on the first read. The reason names the VVD rather than the toolkit, since discovery is what failed.
A ps probe timing out under load also reads as VEGA_DEVICE_NOT_FOUND, so failing fast on it would abort a launch the old loop recovered from. Poll every throw to the deadline and report the last one, under a prefix that does not repeat the error's own subject.
Closes #1337
With no VVD running, Vega
describesucceeded with an empty tree and a "relaunch the app" hint, because every page-source fetch error except the multi-VVD one became that hint. It now rethrowsVEGA_DEVICE_NOT_FOUNDandVEGA_DEVICE_NOT_REGISTERED(VVD running but not on adb), the same errorstv-remoteandscreenshotalready give. The flow launch gate (waitForVegaAutomation) still polls these to its deadline, but reports the last one instead of generic relaunch advice.No docs update needed.
Verification
No mocks: a scratch vitest in
packages/tool-server/test/builds aRegistrywithdescribe+await-ui-element, then sends requests through the realcreateHttpApp. It uses the realpsprobe (no VVD running on the host) and the real adb dependency check. The request isPOST /tools/describe {udid:"amazon-0000bogus"}.Before:
After:
flow-executewith no VVD still fails atrestart-appfirst (real HTTP, unchanged).flow-vega-launch-gate.test.tspins the gate: the error still standing at the deadline lands on the launch step, and a hint-only timeout keeps the relaunch advice. It fails on the previous head, and so do the reset and first-error-only mutants.Checks:
npx tsc --build: exit 0.tsc -p tsconfig.test.json --noEmit: exit 0.vega-describe.test.tspins both rethrows (fail on main).test/flows(3 shards): 2309 passed, pluse2e-tool-aliases, which fails locally on main too.