Skip to content

test(daemon): pin that the first click after an unobservable iOS open taps the settled point - #3368

Merged
thymikee merged 1 commit into
mainfrom
test/ios-open-click-settled-dispatch-3354
Oct 10, 2026
Merged

thymikee merged 1 commit into
mainfrom
test/ios-open-click-settled-dispatch-3354

Conversation

@thymikee

@thymikee thymikee commented Oct 10, 2026 •

Copy link
Copy Markdown
Member

Summary

Adds an end-to-end regression test for #3354. The existing test in #3356 only shows that the screen read settles. This one shows that the tap goes where the target settled.

The test runs the real daemon open com.apple.Preferences route. It checks that the response reports timing.postOpenObservation: "unobservable", then runs click 'label="General"'. The scripted iOS runner serves General at y=319, then at y=406 twice. The test asserts that the one tap the runner receives is at (201, 428), the centre of the settled cell. assertComplete() confirms that the click used all three reads, with no extra read before or after the tap.

Test-only: ios-world.ts gains createIosSettledClickWorld, and ios-lifecycle.test.ts gains the test.

Validation

  • Commenting out the markPostOpenStabilization call in session-open-execution.ts makes the test fail. The tap goes to y=341, the centre of the stale cell, instead of y=428.
  • pnpm check:affected --run passed on 7ba8865b6.

🤖 Generated with Claude Code

View guided diff Turn on auto-fix

… taps the settled point (#3354)

Drives the real daemon open then selector click through the scripted iOS
runner whose first read puts General at y=319 and the next two at y=406,
and asserts the dispatched tap is the settled cell centre.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 2 files

View guided diff | Turn on auto-fix | Re-trigger cubic

@github-actions

Copy link
Copy Markdown
Contributor

Size Report

Metric Base Current Diff
Installed (including dependencies) 5.16 MB 5.16 MB 0 B
Package (unpacked) 5.16 MB 5.16 MB 0 B
Package (download) 1.55 MB 1.55 MB +1 B

Startup median (7 runs, lower is better):

Scenario Base Current Diff
CLI --version 19.0 ms 16.9 ms -2.0 ms
CLI --help 49.2 ms 50.2 ms +1.0 ms

@thymikee

Copy link
Copy Markdown
Member Author

This looks ready at 7ba8865. The new provider-scenario test pins that the first click after an unobservable iOS open taps the settled point, not the pre-shift one. The diff only adds the test and its world, so no production route changes and no live run is needed.

Not blocking: generalCellSnapshot({ y }) in ios-world.ts#L459 nearly duplicates runnerSnapshot() just above it; an optional { y } parameter on runnerSnapshot() would cover both.

All 19 checks pass, and there are no conflicts.

@thymikee thymikee added the ready-for-human Valid work that needs human implementation, judgment, or maintainer merge label Oct 10, 2026
@thymikee
thymikee merged commit 19203c6 into main Oct 10, 2026
19 checks passed
@thymikee
thymikee deleted the test/ios-open-click-settled-dispatch-3354 branch October 10, 2026 14:46
@github-actions

Copy link
Copy Markdown
Contributor
PR Preview Action v1.8.1
Preview removed because the pull request was closed.
2026-10-10 14:46 UTC

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.

1 participant