Conversation
There was a problem hiding this comment.
All reported issues were addressed across 25 files
Tip: instead of fixing issues one by one fix them all with cubic
Re-trigger cubic
|
This adds real value (a watchOS Simulator runtime) but at 3995110 it isn't ready to merge, mostly because the physical-watch boundary and the classification it depends on aren't actually enforced.
The
Not blocking: the only test of the new backend ( Is the size of this change proportionate to what it needs to do? The production diff is +641/−60 lines under the usual threshold, but it still touches kernel, discovery, facts and snapshot with roughly a dozen scattered I did not run this on a device, so I can't confirm the HID message layout in CI shows one check reported for this cross-repo PR, and it's green; no failing job overlaps the diff, but the full unit suite, typecheck and the darwin The path to merge is: address the shared-cache duplication, the device-set-aware helper addressing, identifier-only watchOS classification, the physical-watch fact gap, honest scroll-input refusals, and typed bridge failures for watchOS snapshots, then attach the live watchOS Simulator transcript described above. |
|
@csark0812 can you send some demos of how this works? |
…s-runtime # Conflicts: # packages/platform-apple/src/snapshot-source/cache.ts
There was a problem hiding this comment.
All reported issues were addressed across 25 files (changes from recent commits).
Tip: instead of fixing issues one by one fix them all with cubic
Re-trigger cubic
|
I added regression coverage for the physical-watch boundary, missing LegacyHID refusal, and normalized tap coordinates; the iOS XCTest build-for-testing also compiles the Watch runtime source. I cannot provide a live watchOS demo from this host: CoreSimulatorService is refusing connections and reports no available runtimes. The demo/live runtime proof remains outstanding, and I have not claimed it. |
There was a problem hiding this comment.
All reported issues were addressed across 9 files (changes from recent commits).
Tip: Review your code locally with the cubic CLI to iterate faster.
Fix all with cubic | Re-trigger cubic
|
Live watchOS Simulator demo run on Apple Watch SE 3 (40mm), watchOS 27.0 (UDID 669DABEF-3AB2-41B1-B86A-DEB883C7FC48): opened the installed Calculator app with agent-device, captured its accessibility tree (29 nodes including Calculator and semantic button refs), tapped digit 5 twice through the watchos-coresimulator backend, and captured the screen showing 55; then cleared the input and closed the session. This verifies the public open/snapshot/tap/screenshot path on a real booted watch runtime. Boundary: this host does not have the companion-marker/nested-widget fixture installed on this unclaimed Watch, so this is not the full app+WidgetKit fixture demo. The Calculator AX tree also does not expose its changing numeric display value, so the post-tap oracle here is the screenshot. |
|
Thanks for the update. The Crown scroll, back and home work and the snapshot route look better since 3995110, but I found two problems at 105a776 that need a fix before merge. The first problem is a regression for existing iOS targets. The comment in inventory-classification.ts says watchOS identity must never come from a user-editable label. But The second problem is the HID probe in runtime.ts. On every fact inspection, Not blocking, and you can take or leave these: in snapshot-route.ts:320 a "preparing" bridge failure on watchOS throws The one reported check passes. This PR shows no full unit, typecheck or darwin -Werror helper lanes, so a green result does not cover them. I did not run tests or builds, I did not compile WatchControl.m with -Werror, and I did not confirm that Your demo covers open, snapshot, tap and screenshot on a booted watch, and I have not seen it run myself. Before merge, please attach raw CLI output from a watchOS Simulator at 105a776 for these: |
Summary
Verification
pnpm format:checkpnpm lintpnpm typecheckpnpm buildpnpm test:unit— 1,414 files; 11,475 passed; 1 skippedpnpm package:npmrelease pipeline components: all Apple runner builds and macOS helper passed; Android assets prepared with API 36;pnpm check:packagepassedRuntime boundary
The backend checks the selected Simulator's
simctl io ... enumerateoutput for a LegacyHID display and derives its pixel geometry and scale before advertising interaction. Text entry, app switcher, orientation, settings, multi-touch, and physical watchOS devices remain unsupported.