fix: preserve iOS AX snapshot failures

Merged
TH
5mo ago
+134-16

Summary

Preserve iOS XCTest accessibility snapshot serialization failures as typed IOS_AX_SNAPSHOT_FAILED errors instead of letting them look like runner transport failures.

Runner responses now carry a recovery hint through the Node client, so users get actionable guidance for scoped snapshots/direct selectors while the runner session remains usable for screenshot/logs/appstate.

Refs #637.

Touched files: 5. Scope stayed within iOS runner snapshot error handling and runner response parsing.

Validation

  • pnpm format
  • pnpm exec vitest run src/platforms/ios/__tests__/runner-client.test.ts
  • pnpm check:quick
  • pnpm build:xcuitest
  • Prototype simulator probe before removing the synthetic trigger confirmed the same runner session survived a typed AX snapshot failure and subsequent uptime succeeded.
  • Physical-device validation was blocked during investigation because Xcode reported the connected iPhones as offline.