test(ios): give the post-probe type its own commandId

Merged
TH
7d ago
+3-1

Summary

  • testFreshCoordinateTapContainsUnavailableTextInputProbe sent two type commands with commandId: "type-after-unavailable-probe". Since #4140 the runner command journal answers a repeated commandId from its record (ADR 0005), so the second send replayed TEXT_INPUT_NOT_FOCUSED and the field stayed empty. The second type now has its own id, type-after-probe-recovery. Journal behavior is unchanged. 1 file touched.
  • PR-lane routing: not changed. The PR lane runs only shared tests whose bodies branch by platform (--ios-pr-tests, derived from #if guards). Simulator-only tests such as this one are nightly-only by design. A journal-to-probe mapping would need a new changed-path-to-test selector, which is not cheap.
  • Other failures in the latest nightly (run 42163259459, 2026-11-06), not fixed here: testLitPanelBookingAndCoordinateFallbackShareScreenPointsForPartialWindows and testPlacedIPadWindowDispatchUsesTheMeasuredSoleDisplay (RunnerRequestPanelTests.swift:84, "No matches found for Descendants matching type Button"). They also failed on 2026-11-05 and have a different cause. Both pass locally on iPhone Air with iOS 27.1, while CI runs 26.2.

Fixes #4212

Validation

  • Base b76abbba48, head cb24591666, same command on iPhone Air 1B89356B… (booted for the run, shut down afterwards): xcodebuild test-without-building … -only-testing:…/testFreshCoordinateTapContainsUnavailableTextInputProbe with AGENT_DEVICE_XCUITEST_INCLUDE_UNIT_TESTS=1.
    • Base: fails at lines 239 and 240, the same assertions as the nightly.
    • Head: passes.
  • pnpm check:affected --run --head cb24591666: passed, exactCommit=true, includes xctest-selection.
  • CI: the XCTest Nightly iPhone full suite will confirm the panel tests separately.

🤖 Generated with Claude Code


Autofix with [code]smith
Open in [code]smith · Need help on this PR? Tag @codesmith-bot with what you need.