Commit Graph

127 Commits

Author SHA1 Message Date
Michał Pierzchała 28a1dcdb0a refactor: extract provider device runtime seam 2026-06-29 16:53:46 +02:00
Michał Pierzchała 8f92572ae4 feat: expose web screen recording (#891) 2026-06-26 19:36:50 +02:00
Michał Pierzchała 2d6fc98222 refactor: tighten daemon output helpers (#892)
* refactor: tighten daemon screenshot typing

* refactor: share screenshot result typing

* refactor: inline record shape checks

* refactor: inline record readers

* refactor: type batch and network output

* refactor: type batch run response

* refactor: narrow batch and observability output types

* refactor: validate typed batch runtime hints

* refactor: restore record boundary guard

* refactor: split daemon output parsers

* refactor: narrow screenshot overlay parser

* refactor: type screenshot overlay data

* refactor: type shutdown result payload
2026-06-26 16:32:52 +02:00
Michał Pierzchała be1e1c9931 feat: add cdp command agent-cdp passthrough (#873)
* feat: add agent-cdp passthrough

* docs: narrow agent-cdp memory guidance

* chore: pin agent-cdp 1.6.0

* test: cover agent-cdp guidance

* fix: preserve agent-cdp passthrough flags

* fix: expose CDP wrapper as cdp

* docs: move CDP workflow to debugging guide

* docs: mention cdp in command reference
2026-06-25 21:44:47 +02:00
Michał Pierzchała 8c49d54ff1 fix: clarify proxy runner ownership (#882)
* fix: clarify proxy runner ownership

* fix: tighten proxy runner review follow-ups
2026-06-25 21:44:31 +02:00
Michał Pierzchała 98c0b1d3bf test: migrate test app to expo dev client (#881)
* test: migrate test app to expo dev client

* docs: align test app device targeting

* docs: clarify dev client setup tradeoffs

* docs: remove stale sdk reference
2026-06-25 21:43:14 +02:00
Michał Pierzchała 56d8e3902a test: migrate Android recording sizing coverage (#876) 2026-06-25 17:33:51 +02:00
Michał Pierzchała f253d50a63 fix: resolve web find locators (#870) 2026-06-25 10:12:29 +02:00
Michał Pierzchała ba825d8df2 fix: use desktop scroll events on macOS (#863)
* fix: use desktop scroll events on macOS

* fix: support paced macOS desktop scroll

* fix: clear scroll CI quality gates

* fix: address macos scroll review feedback

* refactor: simplify macos scroll plumbing

* fix: tighten scroll duration contract

* fix: limit apple scroll duration reporting
2026-06-25 07:38:21 +02:00
Michał Pierzchała d8e6bb7aa7 fix: add web viewport control and screenshot aliases (#865)
* fix: add web full-page screenshots

* fix: add web viewport command and screenshot aliases

* fix: address viewport CI regressions
2026-06-24 19:35:03 +02:00
Michał Pierzchała d47cd30117 feat: add agent-device proxy command (#844) 2026-06-23 17:20:08 +02:00
Michał Pierzchała c28148420b fix: use native web ref interactions (#843) 2026-06-23 16:36:21 +02:00
Michał Pierzchała a8fb2a3704 docs: document multi-worktree Metro workflow (#841) 2026-06-22 20:31:59 +02:00
Michał Pierzchała d7beb52768 feat: expose web network dump through agent-browser (#838)
* feat: expose web network dump through agent-browser

* fix: reduce web network mapper complexity

* fix: gate web network headers by include mode

* test: assert compact web network summary

* refactor: simplify web network dump mapping

* refactor: trim web network coverage
2026-06-22 14:40:25 +02:00
Michał Pierzchała 467e174b47 test: improve SkillGym guidance coverage (#839)
* test: improve skillgym guidance coverage

* test: reduce SkillGym assertion complexity
2026-06-22 12:52:04 +02:00
Michał Pierzchała 02481e8b7f docs: document minimal web support (#831)
* docs: document minimal web support

* docs: clarify web support scope

* docs: remove duplicate web help entry

* docs: trim README web support notes
2026-06-22 11:01:13 +02:00
Michał Pierzchała c6fd3dc972 test: add live web platform smoke (#832)
* test: add live web platform smoke

* test: harden web smoke cleanup
2026-06-21 13:05:51 +02:00
Michał Pierzchała d05cfc727b feat: manage web backend setup (#833) 2026-06-20 11:44:00 +02:00
Aldo Ryanda 73dc7f882d feat(recording): align quality and max-size controls (#816)
* feat(recording): make iOS export quality configurable

Wire the existing recording-export-quality enum through the record command
down to the Swift export preset. Adds a `--export-quality <medium|high>`
option for iOS recordings that controls the AVAssetExportSession preset used
when a recording is re-encoded.

`medium` stays the default and selects AVAssetExportPresetMediumQuality, which
preserves the fast simulator-friendly export. `high` opts into
AVAssetExportPresetHighestQuality for evidence-grade output. This is separate
from the existing integer `--quality <5-10>` capture flag that scales render
resolution.

Closes #568

* fix(recording): apply export quality to touch-overlay export path

The --export-quality flag was only wired into the resize export path. The
touch-overlay re-encode (finalizeRecordingOverlay -> overlayRecordingTouches ->
recording-overlay.swift) ignored it and always picked AVAssetExportPresetMediumQuality,
so record stop with --export-quality high had no effect when the stop path
re-encodes only to burn in touch overlays.

Thread the recording's exportQuality through finalizeRecordingOverlay and
overlayRecordingTouches, pass it as --export-quality to recording-overlay.swift,
and resolve the preset there via the same exportPresetName() helper used by
recording-resize.swift. Medium stays the default when the arg is absent, so
behavior is unchanged for callers that do not set it.

* feat: align recording quality and size flags

---------

Co-authored-by: Michał Pierzchała <thymikee@gmail.com>
2026-06-19 18:44:38 +02:00
Michał Pierzchała bc5726e8b0 test: cover web provider scenario (#827) 2026-06-19 13:39:39 +02:00
Michał Pierzchała 833479e01b feat: add semantic web provider seam (#825)
* feat: add semantic web provider seam

* fix: forward web provider through request router
2026-06-19 12:26:19 +02:00
Michał Pierzchała 0b499f22db chore: update stale callstackincubator references 2026-06-15 20:12:03 +01:00
Michał Pierzchała 9e165114c0 perf: optimize rslib startup build (#803) 2026-06-15 08:51:47 +02:00
Michał Pierzchała a6bb86539f fix: stabilize Android Maestro replay interactions (#805)
* fix: stabilize Android Maestro replay interactions

* refactor: dedupe Maestro visible recovery

* test: relax Android Maestro snapshot count assertions

* refactor: unify Maestro recoverable interaction state
2026-06-14 15:46:26 +02:00
Michał Pierzchała 945a780c37 fix: stabilize iOS runner gestures (#800)
* fix: avoid stale iOS window viewport queries

* fix: synthesize iOS swipe gestures

* fix: honor iOS drag gesture durations

* test: update iOS gesture provider transcript

* fix: align sequence drag fallback timing
2026-06-13 09:54:53 +02:00
Michał Pierzchała 5c83fe4e50 fix: improve daemon diagnostics and remove compact snapshots (#786)
* fix: improve daemon startup diagnostics

* perf: relax query-sweep recovery budget

* fix: make compact snapshot flag a no-op

* fix: remove compact snapshot mode

* test: align tvOS remote provider expectation

* test: drop compact snapshot progress target
2026-06-12 17:32:56 +02:00
Michał Pierzchała 48c121d5e6 feat: add debug symbols workflow (#756) 2026-06-12 13:14:14 +02:00
Michał Pierzchała f0d1674cdf feat: add Android native perf profiling (#757)
* feat: add Android native perf profiling

* fix: satisfy fallow for Android perf profiling

* fix: harden Android native perf lifecycle

* test: reduce native perf mock complexity

* docs: show compact native perf evidence example

* fix: align perf rebase validation

* fix: summarize Android perfetto artifacts

* fix: clean up Android native perf on session close
2026-06-12 13:12:41 +02:00
Michał Pierzchała f8704f46ef feat: add Apple xctrace perf profiling (#755) 2026-06-11 16:45:29 +02:00
Michał Pierzchała a35c444df6 feat: add perf memory diagnostics (#759)
* feat: add perf memory diagnostics

* fix: address perf memory CI findings

* fix: address perf memory review feedback

* docs: explain perf memory diagnostics benefits
2026-06-11 14:58:09 +02:00
Michał Pierzchała 93f104aaaa fix: make Device Hub simulator launch opt-in (#766) 2026-06-11 13:00:53 +02:00
Thiago Brezinski b2e4ace12c fix: focus booted iOS simulators with Device Hub (#750)
* fix: focus booted iOS simulators with Xcode Device Hub

* fix: expose Device Hub opt-out

* test: cover Device Hub screenshot retry focus

---------

Co-authored-by: Michał Pierzchała <thymikee@gmail.com>
2026-06-10 20:07:08 +02:00
Michał Pierzchała 69d296cd32 test: cover daemon HTTP server edge cases (#738) 2026-06-10 11:32:33 +02:00
Michał Pierzchała 22fba8718c feat: add shutdown command (#718)
* feat: add shutdown command

* fix: address shutdown review feedback

* fix: reject active session shutdown targets

* fix: preserve shutdown failure details

* fix: satisfy shutdown fallow audit

* fix: simplify shutdown session handling
2026-06-10 10:24:42 +02:00
Michał Pierzchała 16312d073d fix: use XCTest drag for iOS swipes (#716)
* fix: use XCTest drag for iOS swipes

* fix: update iOS drag CI expectations
2026-06-09 17:25:31 +02:00
Michał Pierzchała c2b29d5600 fix: stabilize Maestro replay on iOS (#713)
* fix: stabilize Maestro replay on iOS

* fix: scope iOS runner cleanup to daemon owner

* fix: lease iOS runner ownership per device

* fix: release prepared iOS runner daemon in CI

* fix: inline runner lease release cleanup
2026-06-09 14:12:57 +02:00
Michał Pierzchała 35f54a863c fix: resolve Maestro taps from regular snapshots (#709)
* fix: resolve Maestro taps from regular snapshots

* fix: tighten Maestro snapshot compatibility

* test: align Maestro snapshot freshness fixtures
2026-06-08 18:12:09 +02:00
Michał Pierzchała 31ce5903a2 feat: add replay test sharding (#707)
* feat: add replay test sharding

* refactor: simplify sharding device resolution

* fix: address sharding review feedback
2026-06-08 10:56:42 +02:00
Michał Pierzchała 81448c8f97 feat: add perf metrics and frames commands (#703)
* feat: add perf metrics and frames commands

* fix: tighten perf command ergonomics

* test: move perf area coverage to provider integration
2026-06-07 20:36:57 +02:00
Michał Pierzchała 76cee982ba fix: stabilize iOS runner navigation taps (#702)
* 0.16.14

* fix: stabilize iOS runner navigation taps

* fix: recover iOS runner after AX failures

* docs: clarify AX-unavailable snapshot recovery

* test: cover synthesized ios provider taps

* test: cover iOS runner AX failure paths

* fix: clarify sparse iOS AX recovery hint
2026-06-07 11:17:27 +02:00
Michał Pierzchała aa5b07faa5 fix: keep iOS runner hot across app closes (#700)
* fix: keep iOS runner hot across app closes

* fix: keep iOS snapshots fast after relaunch

* fix: bound compact iOS snapshots on broken AX trees

* docs: clarify iOS snapshot backend strategy

* test: update Settings replay selectors

* fix: stabilize Settings replay selectors

* fix: fall back for selector interactions

* chore: simplify flat interactive snapshot query
2026-06-06 21:26:12 +02:00
Michał Pierzchała f2424f9d3a refactor: centralize daemon command registry (#693) 2026-06-05 18:34:01 +02:00
Michał Pierzchała ad7b386444 feat: cache iOS runner artifacts during prepare (#688)
* feat: cache ios runner artifacts during prepare

* refactor: deepen ios runner lifecycle

* refactor: generalize apple runner prepare

* refactor: simplify apple runner lifecycle

* fix: clarify runner prepare recovery diagnostics

* refactor: trim apple runner provider surface

* test: simplify runner recovery diagnostics assertion
2026-06-04 15:37:05 -07:00
Michał Pierzchała bf21540b9d refactor: consolidate android gesture backend selection (#689) 2026-06-04 15:15:34 -07:00
Michał Pierzchała 7ab9998645 fix: stabilize Maestro post-gesture snapshots (#681)
* fix: stabilize maestro post-gesture snapshots

* fix: harden maestro ci diagnostics and ios prepare

* fix: preserve android freshness baseline for optimized taps

* fix: close ios runner host after sessionless commands

* fix: require tracked app for ios snapshots

* fix: keep in-page swipes on visible content

* test: align lock policy probes with ios snapshot guard

* fix: compose post-gesture snapshots with android freshness

* refactor: clarify post-action snapshot policies

* fix: avoid redundant swipe stabilization flag

* fix: route android swipes through gesture helper

* test: cover android swipe helper fallback
2026-06-04 14:44:33 -07:00
Michał Pierzchała 7400701857 perf: speed up iOS swipes and harden runner cache (#676)
* perf: speed up ios swipes and harden runner cache

* fix: harden maestro replay smoke tests
2026-06-03 04:59:13 -07:00
Michał Pierzchała 491ad7e922 fix: improve session ownership and recovery guidance (#674)
* fix: improve session recovery guidance

* fix: quote session recovery commands

* test: simplify record session cleanup fixtures

* test: cover recovery hint edge cases

* test: trim duplicate recovery quoting coverage

* fix: scope implicit sessions by caller workspace

* fix: surface session state directory

* fix: remove unused session store check

* test: trim duplicate session recovery coverage
2026-06-02 14:06:00 -07:00
Michał Pierzchała 041b48222f feat: add iOS runner prepare command (#673)
* feat: add ios runner prepare command

* fix: shorten snapshot request timeout

* fix: refine prepare and snapshot timeouts

* test: cover prepare ios runner provider scenario
2026-06-02 12:08:34 -07:00
Michał Pierzchała 3ae2472d44 fix: keep iOS runner status transport visible (#663) 2026-06-01 20:23:29 -07:00
Michał Pierzchała 3f65124ea4 refactor: add iOS runner lifecycle protocol (#658)
* refactor: add ios runner lifecycle protocol

* fix: avoid journaling ios runner status probes

* fix: cap ios runner journal responses

* perf: avoid snapshot journal serialization

* perf: skip ids for ios runner status probes

* refactor: keep ios runner status off main thread
2026-06-01 20:40:09 -05:00