Skip to content

docs(ios): record SpringBoard sessions as verified on a physical iPhone - #3840

Merged
thymikee merged 1 commit into
callstack:mainfrom
camchis:docs/ios-device-springboard
Oct 20, 2026
Merged

thymikee merged 1 commit into
callstack:mainfrom
camchis:docs/ios-device-springboard

Conversation

@camchis

@camchis camchis commented Oct 19, 2026 •

Copy link
Copy Markdown
Contributor

Summary

The docs say SpringBoard sessions are verified on simulators only. This records the physical-iPhone gate from #1296 as met: a SpringBoard snapshot and one selector-driven interaction through public XCTest. The widget add/edit/remove flow stays documented as simulator-verified. Runtime behavior is unchanged. 3 files: the ios-system-ui help topic, its test, commands.md. Refs #1296.

Validation

iPhone 12 (iPhone13,2), iOS 27.0.1 (24A446), Xcode 26.6 (17F113), 507ef237 with no code change. Both snapshots report snapshotQuality.backend: tree; physical iOS has no private-AX backend.

  1. open com.apple.springboard --platform ios: bound.
  2. Home page 2: snapshot -i gave 81 nodes (status bar, home-screen icons, dock). Page-1 icons are listed with 0×0 rects and hittable: false, so press 'label="Clock"' here taps (0, 0) and reports success with no effect. That is a shared-resolver issue, reported separately.
  3. home, then on page 1: snapshot -i gave 62 nodes; Clock at (296, 359, 68×91).
  4. press 'label="Clock"' tapped (330, 404); the next snapshot showed the Clock app.

Not run on the device: the widget gallery and the edit/remove flow.

pnpm check:affected --run --head dc3e0d3d: passed on Node 22.20 (format, lint, typecheck, layering, fallow, build, related vitest, command-docs, docs-links, docs-prose), exactCommit=true.

View guided diff

@thymikee

Copy link
Copy Markdown
Member

This PR is ready at dc3e0d3. The change is only a help string and docs prose, and the one reported check is green. No conflicts. Nothing else stands in the way of merge.

Not blocking: the new text says selector presses on "visible home-screen icons" are verified, but icons on other home pages appear in the snapshot with 0x0 rects and hittable false, and pressing one taps (0,0) and reports success with no effect. You could add one clause to the help topic in https://github.com/callstack/agent-device/blob/dc3e0d3/src/commands/schema/cli-help.ts#L529 and to commands.md saying such icons are not pressable until their page is shown, or say "icons with a non-zero rect and hittable true". Take it or leave it.

I did not reproduce the physical-iPhone run and relied on the device log in the PR body. I did not search the repo for other SpringBoard verification claims, and I did not run the tests locally.

@thymikee thymikee added the ready-for-human Valid work that needs human implementation, judgment, or maintainer merge label Oct 20, 2026
@thymikee
thymikee merged commit f5a0442 into callstack:main Oct 20, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ready-for-human Valid work that needs human implementation, judgment, or maintainer merge

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants