Commit Graph

124 Commits

Author SHA1 Message Date
Michał Pierzchała 9e1991daf6 feat: add apple-family macOS desktop support (#246)
* feat: add apple-family macos desktop support

* feat: extend macos desktop command support

* fix: stabilize CI for macos runner build

* fix: harden macos app resolution

* fix: tighten apple-family session routing

* fix: align macos log capabilities

* fix: support macos wait text

* fix: make iOS session refresh test host-agnostic
2026-03-23 10:22:55 +01:00
Michał Pierzchała aebc59b2a6 feat: streamline remote metro open flow (#240)
* feat: streamline remote metro open flow

* fix: honor remote config defaults and cli precedence
2026-03-20 14:07:17 +01:00
Michał Pierzchała 2be4de0a75 chore: prettier 2026-03-17 18:18:53 +01:00
Michał Pierzchała 8c30032ae4 perf: speed up iOS runner build-for-testing (#150)
* perf: speed up runner build-for-testing

* chore: drop redundant active-arch runner override

* test: run iOS simulator integration on CI by default
2026-02-28 14:13:39 +01:00
Michał Pierzchała b685a0b259 Add remote HTTP daemon mode with lease admission controls (#136)
* fix: add daemon remote HTTP server mode with isolation controls

* feat: add tenant lease lifecycle and admission control

* refactor: simplify lease scope and rpc method routing

* fix: correct smoke expectations for close without session
2026-02-25 18:25:15 +01:00
Michał Pierzchała 106a5f661d chore(breaking): remove AX snapshot backend and trim npm artifacts (#62)
* chore: remove AX snapshot backend and trim npm artifacts

* docs: remove AX backend references from commands page

* chore: update website
2026-02-17 12:00:21 +01:00
Michał Pierzchała ac078905c6 refactor: stabilize iOS app/session and daemon startup flows (#64)
* refactor: stabilize iOS app/session and daemon startup flows

* fix: wait for android app launch completion

* fix: address review findings for iOS appstate and daemon flows

* fixups
2026-02-16 18:19:17 +01:00
Michał Pierzchała 06a8778157 Enable iOS device core parity and align docs/skills (#55)
* Add iOS device runner support and document platform matrix

* ios: make signing identity override-only

* ios: address PR55 review follow-ups

* docs: remove v1 phrasing from support messages

* ios appstate: prefer xctest before ax fallback

* docs: clarify ios runner derived path override behavior

* ios: harden runner polling and appstate fallback

* ios: remove automatic AX fallback paths

* docs: clarify no automatic AX fallback

* ios: replace ad-hoc runner poll sleep with retry policy

* Harden iOS runner timeouts and cleanup safety

* args: align scrollintoview schema with capabilities

* test: skip iOS integration flows on CI by default
2026-02-15 21:12:10 +01:00
Michał Pierzchała 4e918408ae fix: harden android settings integration test (#58) 2026-02-15 10:42:41 +01:00
Michał Pierzchała f1eca35da7 test: stabilize android settings integration test (#56)
* fix: stabilize android settings integration test

* test: use selector click in android integration test

* test: simplify android selector integration flow
2026-02-14 13:29:33 +01:00
Michał Pierzchała e3b1aa6892 CI: add manual iOS runner prebuild cache for iOS job (#50)
* ci: add manual iOS runner prebuild cache for iOS workflow

* ci: simplify manual iOS prebuild workflow

* ci: pin cache actions in iOS workflows

* ci: fix iOS workflow env paths for parser compatibility

* ci: increase daemon timeout for iOS boot preflight

* ios: harden simulator state timeout and reuse preflight session

* ci: remove redundant iOS boot preflight step

* ios: retry transient simctl launch failures on simulator

* ci: pin iOS integration test target to resolved 26.2 simulator

* ci: harden iOS prebuild cache keys and remove derived-data copy path

* ci: simplify iOS workflow caching and drop redundant prebuild workflow

- Remove standalone ios-runner-prebuild.yml (redundant — ios.yml builds on cache miss)
- Switch from actions/cache/restore to actions/cache (auto-saves on miss)
- Drop restore-keys and -stable suffix (no longer needed without prebuild workflow)
- Remove UDID resolution step (test falls back to --platform ios)
- Use point-free shouldRetry for isTransientSimulatorLaunchFailure

Co-authored-by: Cursor <cursoragent@cursor.com>

* ios: increase simctl launch retry budget for CI simulators

SpringBoard can take several seconds after boot to accept app launches.
Increase from 3 attempts / 500ms–2s to 5 attempts / 1s–5s to give CI
simulators enough time.

Co-authored-by: Cursor <cursoragent@cursor.com>

* ios: use deadline-based retry for simulator app launch

The fixed-attempt retry (5 attempts, ~12s window) is too short for CI
simulators where SpringBoard needs 30-60s after boot to accept app
launches — especially when the build step is cached and provides zero
warm-up time.

Switch to a deadline-based approach matching ensureBootedSimulator:
- Default 30s timeout (configurable via AGENT_DEVICE_IOS_APP_LAUNCH_TIMEOUT_MS)
- CI sets 60s to handle cold-boot scenarios
- maxAttempts set high (30) so the deadline is the real limit

Co-authored-by: Cursor <cursoragent@cursor.com>

* ci(ios): keep tests platform-based and stabilize simulator selection

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-13 18:47:39 +01:00
Michał Pierzchała a0ce6f1df2 feat: reinstall command for reuse and agent ergonomics (#47)
* Refine reinstall flow and add agent-focused coverage

* Avoid duplicate readiness preflight in open flow

* Document boot and reinstall in website docs and skill

* Bound iOS boot commands and enforce runCmd timeouts

* Align boot readiness with timeout profiles across platforms

* Refine boot docs: troubleshooting-only and non-CI wording

* Clarify open vs boot fallback guidance
2026-02-12 17:17:56 +01:00
Michał Pierzchała 70ab1a8e97 Improve Android open fallback, find ambiguity handling, and replay diagnostics (#45)
* Improve Android open fallback, find ambiguity handling, and replay diagnostics

* Fix iOS integration step to use unique selector for General
2026-02-12 14:51:17 +01:00
Michał Pierzchała 204184ac1e Improve boot readiness retries and normalized diagnostics (#41)
* Add boot diagnostics classification and deadline-based boot retries

* Fix TypeScript narrowing in boot diagnostics error paths

* update docs and cleanup

* Stabilize iOS integration assertion for Settings General page
2026-02-12 13:51:54 +01:00
Michał Pierzchała 835b59f9f6 Improve integration failure diagnostics (#40) 2026-02-12 09:53:02 +01:00
Zhongjin Lu 31a639ab5f feat: add version flags and unify version lookup (#44)
Co-authored-by: Zhongjin Lu <zhongjin.lu@mondorobotics.com>
2026-02-11 17:02:47 +01:00
Michał Pierzchała 8c50cee10d chore: use macos-26 runner for ios integration test; ubuntu for smoke (#34)
* chore: use macos-26 runner for ios integration test; ubuntu for smoke

* revert smoke test

* update test for iOS 26.2

* restart sim after timeout

* fixup timeout
2026-02-10 10:41:08 +01:00
Michał Pierzchała 4aed3fba72 fix: support TouchableOpacity as [other] on iOS when has content (#31)
* fix: support TouchableOpacity as [other] on iOS when has content

* update snapshot ios
2026-02-09 19:07:04 +01:00
Michał Pierzchała 9a3570fa1c feat: Daemon modularization + capability-gated command routing + CI/test pipeline (#20)
* feat: Daemon modularization + capability-gated command routing + CI/test pipeline updates

* update android test

* fix arch

* no serial

* fixup tests locally; update runner on CI

* increase timeout

* drop unnecessary node build
2026-02-08 15:20:59 +01:00
Michał Pierzchała ba66e57697 feat: retry 2026-02-03 10:02:15 +01:00
Michał Pierzchała 8845eb2c79 feat: home, app-switcher, wait for 2026-02-02 16:57:50 +01:00
Michał Pierzchała 0f90c61e7c remove rect; adjust error messages 2026-02-02 14:06:11 +01:00
Michał Pierzchała 9728c39f58 update tests 2026-01-31 17:21:36 +01:00
Michał Pierzchała 4da4745a6c initial commit 2026-01-30 19:41:00 +01:00