106 Commits

Author SHA1 Message Date
Michał Pierzchała 1b71dfee4c fix: defer remote connect lease and metro setup (#417) 2026-04-16 17:53:04 +02:00
Michał Pierzchała f0eb8c6d4f feat: add runtime admin, batch, diagnostics, and recording commands (#416)
* feat: add runtime admin and orchestration commands

* feat: add runtime diagnostics commands

* refactor: clean up runtime router surface

* refactor: remove runtime cleanup dead weight

* fix: clean up admin install temp inputs on resolve failure
2026-04-16 17:41:16 +02:00
Michał Pierzchała afcd375323 feat: add runtime system and gesture commands (#415) 2026-04-16 15:32:17 +02:00
Michał Pierzchała 2c41225b7b feat: add runtime app commands (#414) 2026-04-16 14:41:10 +02:00
Michał Pierzchała 8bcefb754a feat: add runtime command boundary (#412)
* feat: add runtime command boundary

* refactor: harden runtime command boundary

* fix: address runtime boundary review

* fix: preserve selector snapshot flags

* fix: preserve selector get and screenshot cleanup

* fix: harden runtime boundary follow-ups

* fix: close runtime parity gaps

* test: harden android replay navigation

* fix: close screenshot surface edge cases

* test: harden packaged runtime API smoke

* fix: close runtime review edge cases

* test: isolate CLI state dir in unit helpers
2026-04-16 13:03:31 +02:00
Michał Pierzchała 5868ace77b fix: optimize remote install artifact uploads (#413)
* fix: optimize remote install artifact uploads

* refactor: clean up upload client flow

* fix: fall back after direct upload failure

* docs: correct ios install source examples
2026-04-16 12:25:50 +02:00
Michał Pierzchała 364844e01d feat: add recording quality flag (#409)
* feat: add recording quality flag

* test: cover quality edge cases

* fix: scale transform translation in resize

* fix: narrow recording quality flag
2026-04-15 13:18:57 +02:00
Michał Pierzchała 47a1529e98 feat: add remote connect lifecycle (#407) 2026-04-13 14:11:40 +02:00
Michał Pierzchała 17317d01ac fix: support saved screenshot diffs (#404) 2026-04-12 14:09:55 +02:00
Michał Pierzchała 3e0a7b56bb feat: enrich screenshot diff guidance (#403)
* feat: enrich screenshot diff guidance

* fix: address screenshot diff review feedback

* docs: organize screenshot diff skill guidance

* refactor: prune screenshot diff result metadata

* refactor: tighten screenshot diff readout

* refactor: generalize screenshot diff heuristics

* feat: add compact screenshot diff hints

* refactor: prune screenshot diff guidance output
2026-04-12 12:45:15 +02:00
Michał Pierzchała f4f143ced7 fix: restore helper subpath exports (#402)
* fix: restore helper subpath exports

* fix: polish helper subpath typings
2026-04-11 22:16:32 +02:00
Michał Pierzchała d63cfcd956 fix: harden executable override policy (#398) 2026-04-11 21:36:54 +02:00
Michał Pierzchała 24f398c9a9 refactor: remove scrollintoview command (#400) 2026-04-11 21:07:54 +02:00
Michał Pierzchała 8e42f2e654 fix: harden public API boundaries (#399) 2026-04-11 21:01:09 +02:00
Michał Pierzchała 6cf63c262c feat: expose selector helper subpath (#384) 2026-04-11 19:07:42 +02:00
Michał Pierzchała ffd472a5bf feat: expose typed client command methods (#380) 2026-04-11 16:24:16 +02:00
Michał Pierzchała 52d9707647 feat: expose apps list in node client (#378) 2026-04-11 12:33:58 +02:00
Michał Pierzchała 66d65c887c refactor: expose metro and remote config node apis (#372)
* refactor: expose metro and remote config node apis

* refactor: tighten public node api surface

* refactor: tighten metro public type boundaries

* refactor: normalize remote config public profile

* refactor: make remote config parser library-owned

* refactor: share remote config parsing primitives

* refactor: avoid regex in base url normalization
2026-04-10 13:03:13 +02:00
Michał Pierzchała f3181a51b6 fix: auto-manage metro companion for remote runs (#370)
* fix: auto-manage metro companion for remote runs

* fix: fail fast on non-retryable metro bridge errors

* fix: scope metro companion ownership by profile

* fix: align remote close metro companion cleanup

* fix: guard metro companion shutdown reconnect

* test: ignore expected bridge reset in metro reconnect test

* chore: format, cleanup
2026-04-10 09:42:38 +02:00
Michał Pierzchała 9cbba956b0 fix: require auth for non-loopback remote daemons (#369)
* fix: require auth for non-loopback remote daemons

* fix: allow mapped loopback remote daemons

* refactor: use net blocklist for loopback checks
2026-04-08 13:45:52 +02:00
Michał Pierzchała c6666803c1 fix: address vite and lodash dependabot alerts (#368)
* fix: address vite and lodash dependabot alerts

* fix: update rspress theme dependencies
2026-04-08 09:09:38 +02:00
Michał Pierzchała 83db76f14a feat: add iOS device perf sampling (#358)
* feat: add iOS device perf sampling

* fix: restart stale daemon after source changes

* chore: ignore tests in daemon signature

* fix: dedupe iOS perf samples by pid

* chore: move daemon invalidation out of perf PR

* refactor: use fast xml parser for iOS perf exports

* refactor: simplify iOS perf XML coverage

* test: align iOS perf parser follow-ups

* fix: preserve duplicate iOS perf export columns

* refactor: reuse XML parser for plist fallback

* refactor: share iOS XML parsing helpers
2026-04-07 16:46:15 +02:00
Michał Pierzchała d437efe079 feat: generalize perf sampling for Apple app sessions (#351)
* feat: generalize perf sampling for Apple app sessions

* fix: report physical ios perf as unsupported

* refactor: simplify Apple perf sampling flow

* docs: refresh debugging skill guidance
2026-04-02 12:36:27 +02:00
Michał Pierzchała cd44582d40 fix: tighten dogfood snapshot and session UX (#350)
* fix: tighten dogfood snapshot and session UX

* fix: improve iOS simulator network dump recovery

* fix: honor simulator device set in iOS log recovery
2026-04-02 10:02:34 +02:00
Michał Pierzchała 413f67cdba feat: add Android perf cpu and memory sampling (#349)
* feat: add Android perf cpu and memory sampling

* fix: degrade Android perf metrics individually
2026-04-02 07:55:19 +02:00
Michał Pierzchała 7df452b3b5 feat: add rotate command for iOS and Android (#344)
* feat: add device rotation command

* fix: simplify rotate command handling
2026-04-01 20:34:56 +02:00
Michał Pierzchała 8df45b69a8 fix: make snapshot refs visible-first (#337)
* fix: make snapshot refs visible-first

* fix: handle zero-height visible rects

* refactor: simplify scrollintoview success handling

* feat: hint hidden scroll content in snapshots

* refactor: simplify snapshot output helpers

* feat: add hidden scroll-area hints to snapshots

* refactor: keep scroll containers in interactive snapshots

* perf: reuse Android snapshot tree for scroll hints

* refactor: trim hidden scroll hint scope

* refactor: unify mobile visible-first snapshot semantics

* fix: suppress noisy system scroll-container labels

* refactor: unify scroll indicator heuristics

* refactor: trim android hinting overhead

* fix: avoid viewport-sized ancestor promotion for ref taps

* refactor: dedupe viewport helpers and clarify hint naming
2026-04-01 19:00:02 +02:00
Michał Pierzchała 3d736ebba1 docs: use GIF for README video (#339)
* update readme

* chore: update demo link

* chore: use gif
2026-04-01 16:40:08 +02:00
Michał Pierzchała 31b80ff436 docs: add demo video to the repo (#338)
* docs: add demo video to the repo

* update readme
2026-04-01 12:34:24 +02:00
Michał Pierzchała 94966abefc fix: tighten Expensify Android flow guidance (#330)
* fix: tighten agent-device expensify flow guidance

* fix: tighten Expensify Android flow guidance

* fix: surface diff snapshot stale warnings

* fix: clarify inactive network log recovery
2026-04-01 07:44:22 +02:00
Michał Pierzchała 8aea3e0902 feat: improve snapshot diff and network exploration ergonomics (#326)
* feat: improve snapshot diff and network exploration ergonomics

* refactor: tighten snapshot diff guidance and Android log correlation
2026-03-31 19:37:26 +02:00
Michał Pierzchała 58e64933fb feat: add lightweight upgrade check (#324)
* feat: add lightweight upgrade check

* refactor: simplify upgrade check

* refactor: remove update-check test DI
2026-03-31 15:20:27 +02:00
Michał Pierzchała 876f091c00 feat: close macOS parity gaps (#311)
* feat: close macos parity gaps

* fix: support targeted macOS menubar app snapshots

* chore: clarify menubar fallback heuristics

* chore: address review nits

* fix: complete macOS parity flow
2026-03-28 19:06:52 +01:00
Michał Pierzchała f13ad2054d feat: add screenshot ref overlays (#307)
* feat: add screenshot ref overlays

* fix: refresh overlay refs from a fresh snapshot

* chore: tighten screenshot overlay plumbing

* fix: improve screenshot overlay targeting

* docs: trim screenshot overlay docs

* feat: add overlay ref centers

* docs: trim fallback guidance

* fix: improve android overlay labels
2026-03-27 19:04:34 +01:00
Michał Pierzchała 73298e5c9a Bound scrollintoview with max-scroll and progress guards (#290)
* fix: bound scrollintoview termination

* fix: finish scrollintoview review follow-ups

* fix: finish rebased scrollintoview follow-ups

* refactor: address remaining scroll review nits

* fix: finalize rebased scrollintoview merge
2026-03-27 12:52:02 +01:00
Michał Pierzchała 1669c7a101 feat: support pixel-based scroll gestures (#293)
* feat: add pixel-based scroll gestures

* fix: address remaining scroll review comments

* chore: make scroll direction switch exhaustive

* docs: keep readme informational

* docs: revert readme changes

* refactor: reuse shared apple scroll planning

* refactor: reduce apple scroll runner churn
2026-03-27 12:06:57 +01:00
Michał Pierzchała 11b47a25a7 Fix keyboard dismiss semantics across iOS and Android (#291)
* fix: correct keyboard dismiss semantics

* fix: address PR review feedback

* fix: preserve iOS keyboard dismiss contract

* fix: restore session handler platform import

* docs: update skill guidance for keyboard commands
2026-03-27 11:49:30 +01:00
Michał Pierzchała c9ca550f1e feat: add --delay-ms support to type and fill (#292)
* feat: add delayed typing support

* fix: keep literal delay tokens in replay

* chore: tighten delay-ms follow-up polish
2026-03-27 10:43:52 +01:00
Michał Pierzchała 90b8544c75 feat: improve cli batch output and acknowledgments (#280)
* feat: improve cli batch output and acknowledgments

* docs: clarify skill guidance for cheaper models

* fix: move success messages into command responses

* refactor: add shared success message helpers

* refactor: address PR review follow-ups

* refactor: reuse daemon success payloads
2026-03-27 10:34:31 +01:00
Michał Pierzchała 55c1341304 fix: align is visible with snapshot semantics (#286)
* fix: align is visible with snapshot semantics

* fix: address visibility review feedback
2026-03-27 10:28:25 +01:00
Michał Pierzchała dc8f318f76 Split back navigation into explicit in-app and system semantics (#288)
* feat: split back navigation semantics

* fix: address back review feedback

* fix: make in-app back the default
2026-03-27 10:18:00 +01:00
Michał Pierzchała c393ffe612 feat: add light test runner for .ad scripts (#266)
* feat: add metadata-aware ad test runner

* test: migrate platform integrations to replay suites

* fix: stop macos runner during close

* fix: harden ad test runner

* fix: tighten ad test runner retries and reporting

* refactor: tighten replay test suite runtime

* test: cover replay suite helpers

* docs: trim replay test guidance in skill

* refactor: extract replay test cli helpers
2026-03-26 19:21:16 +01:00
Michał Pierzchała e8065b87d4 fix: bump rspress core to remediate docs advisories (#265) 2026-03-26 13:00:34 +01:00
Michał Pierzchała 7100fc5920 feat: add macOS desktop snapshot surfaces (#258)
* feat: add macOS desktop snapshot surfaces

* fix: tighten macos desktop surface routing

* refactor: harden macos helper snapshot traversal

* fix: scope frontmost macos snapshots to visible windows
2026-03-25 15:10:52 +01:00
Michał Pierzchała 9c37d76381 feat: improve macOS phase 1 support (#256)
* feat: improve macOS phase 1 support

* fix: address macOS phase 1 review comments

* fix: address macOS PR review feedback

* chore: remove unused apple log alias

* fix: allow mocked macOS helper outside darwin
2026-03-25 13:45:40 +01:00
Michał Pierzchała 0cca41f673 feat: add gesture telemetry recording overlays (#245)
* feat: add gesture telemetry recording overlays

* fix: stabilize recording validation and telemetry artifacts

* fix: tighten recording telemetry helpers

* fix: clean up android recording stop fallback

* refactor: split ios recording handlers

* fix: tighten runner-backed touch telemetry

* refactor: simplify touch recording recovery

* feat: add gesture telemetry recording overlays

* refactor: split touch interaction recording flow

* fix: rebase gesture telemetry onto main

* test: fix recording overlay CI expectations
2026-03-24 13:38:41 +01:00
Michał Pierzchała 4b8fc2f4f6 fix: improve macOS runner snapshot and context menus (#252)
* fix: improve macos runner snapshot and context menus

* fix: address macos runner review feedback

* refactor: simplify xctestrun product resolution

* refactor: future-proof macos runner and click flows

* refactor: remove secondary click alias

* fix: tighten macos runner review follow-ups

* update readme

* fix: discover macos apps from standard bundles

* fix: stabilize macos app listing test on linux
2026-03-23 16:01:52 +01:00
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 da9d4527ad feat: add client metro prepare command (#236)
* feat: add client metro prepare command

* fix: tighten metro prepare cli behavior
2026-03-18 16:29:22 +01:00