Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
133 commits
Select commit Hold shift + click to select a range
05b150e
feat(maestro): support killApp via close mode
Rohit3523 Sep 21, 2026
369a51b
refactor(maestro): table-drive app-target lifecycle dispatch
Rohit3523 Sep 21, 2026
78727e3
fix(maestro): fail killApp loud when the target survives
Rohit3523 Sep 21, 2026
6903130
fix(ios): serve a simulator recording whose recorder died with its da…
thymikee Sep 22, 2026
ddc0d50
test(ios): close the snapshot convergence evidence sweep at a final h…
thymikee Sep 22, 2026
9208b90
fix(fold): report screen dimensions in their native-panel coordinate …
thymikee Sep 22, 2026
68a5e64
fix(apple): harden Device Hub discovery and sidebar recovery (#2733)
thymikee Sep 22, 2026
d6ba105
refactor(capture-kit): resolve recording helper scripts from swift-ca…
thymikee Sep 22, 2026
0f825dd
feat(recording): decode contact-sheet frames from an exported clip (#…
thymikee Sep 22, 2026
6e765b6
feat(recording): choose the frames a contact sheet shows (#2745)
thymikee Sep 22, 2026
d8d3b35
feat(capture-kit): paint the contact-sheet grid onto one PNG (#2746)
thymikee Sep 22, 2026
bb4ccff
feat(recording): build a contact sheet from a finished recording (#2752)
thymikee Sep 22, 2026
9d6291f
feat(cli): read a recording with record contact-sheet (#2747)
thymikee Sep 22, 2026
ee9d203
fix(ios): target the active window for foldable interactions (#2724)
thymikee Sep 22, 2026
b566eb4
test(examples): add manual iPhone Duo pose-transition semantic check …
thymikee Sep 22, 2026
215229b
docs(adr): scroll clip authority — ownership is the parent edge (#2755)
thymikee Sep 22, 2026
6f4a9dc
fix(ios): capture the display that hosts the app, not the main screen…
thymikee Sep 22, 2026
7a13d2d
0.21.9
thymikee Sep 22, 2026
0787413
fix(ios): bind Safari as the target app for simulator web-URL opens (…
thymikee Sep 22, 2026
efc5a29
0.21.10
thymikee Sep 22, 2026
d69ee4b
chore(gates): drop the contact-sheet over-ceiling approval now that m…
thymikee Sep 22, 2026
5ec737d
fix(ios): read scroll indicator ownership from the parent edge (#2754…
thymikee Sep 22, 2026
0151b72
test(ios): enforce scroll-eligibility parity and settle ScrollArea fo…
thymikee Sep 22, 2026
fde74ac
0.21.11
thymikee Sep 22, 2026
ff678bb
feat(ios): replace Device Hub folding with simulator HID (#2762)
thymikee Sep 22, 2026
abba01e
feat(ios): animate fold with timed hinge keyframes (#2763)
thymikee Sep 22, 2026
01328de
0.21.12
thymikee Sep 22, 2026
bd84308
fix(ios): derive selected from the AX bridge traits word (#2768)
thymikee Sep 23, 2026
c32a09c
fix(ios): pay for one toolchain in the snapshot bridge identity read …
thymikee Sep 23, 2026
b38b1f9
refactor(replay): bootstrap packages/replay-port with the builtin-var…
thymikee Sep 23, 2026
15ae636
fix(recording): export touch overlay at capture size, never black (#2…
thymikee Sep 23, 2026
a55b88a
refactor(contracts): move unconfirmed fill evidence into a leaf modul…
thymikee Sep 23, 2026
ca2970b
fix(ios): derive hittable from geometric actionability on the AX brid…
thymikee Sep 23, 2026
485221f
docs(command-registry): state what the descriptor root actually guara…
thymikee Sep 23, 2026
12d3f5a
refactor(move): guard the descriptor root's literal unions beside the…
thymikee Sep 23, 2026
efd2108
docs(adr): retire the parity-gate claim, state press-shape refusal, r…
thymikee Sep 23, 2026
181a0f9
refactor(ios): declare runner screen-capture facts at the owning cont…
thymikee Sep 23, 2026
210f958
refactor(move): split runner failure classification out of the wire c…
thymikee Sep 23, 2026
9918e72
refactor(move): collocate the daemon device family under src/daemon/d…
thymikee Sep 23, 2026
19cb1fd
fix(ios): report capture refusals as typed reasons in back-fallback a…
thymikee Sep 23, 2026
746e9b3
fix(web): refuse the press shapes a browser click cannot drive (#2806)
thymikee Sep 23, 2026
d988768
refactor(contracts): make the alert legs optional members and drop th…
thymikee Sep 23, 2026
fa4109d
refactor(contracts): drop the Limrun iOS denials its facts already ma…
thymikee Sep 23, 2026
661229d
refactor(interactors): stop handing web and Vega a full wall of refus…
thymikee Sep 23, 2026
dd59b43
fix(scroll): name what a scroll observed and read an edge off one tre…
thymikee Sep 23, 2026
61b0a56
fix(scroll): observe the movement a directional scroll can claim (#2776)
thymikee Sep 23, 2026
4bad784
fix(scroll): answer with the movement a directional scroll observed (…
thymikee Sep 23, 2026
913e225
docs(scroll): tell the caller what a scroll's movement field means (#…
thymikee Sep 23, 2026
1f9f2bc
refactor(cli): drop the inert --device-hub option (#2821)
thymikee Sep 23, 2026
3f11d51
refactor(platform-apple): collapse the runner client chain and merge …
thymikee Sep 23, 2026
7e9031a
refactor(mcp): project command output schemas from their owning famil…
thymikee Sep 23, 2026
9b76f60
refactor(ios-runner): key TS runner retry rules on typed connect-fail…
thymikee Sep 23, 2026
81b4760
fix(ios-runner): log the fast app guard and gesture policy only when …
okwasniewski Sep 23, 2026
802adbe
fix(daemon): refuse to replace a reachable daemon newer than the clie…
okwasniewski Sep 23, 2026
5c0c412
fix(ios): spawn the AX bridge and fold helper inside the scoped simul…
thymikee Sep 23, 2026
3395242
refactor(ios): one simctl --set builder and one simulator state parse…
thymikee Sep 23, 2026
3fac0d8
fix(ios): let a Simulator open wait out a slow app discovery before o…
thymikee Sep 23, 2026
3f2fa08
fix(ios): stop requesting tap synthesis the runner cannot perform on …
thymikee Sep 23, 2026
c3e3451
test(ios): expect the AX bridge to derive hittability in the depth-fr…
thymikee Sep 23, 2026
81f39ca
fix(apple): classify visionOS simulators from their simctl runtime (#…
thymikee Sep 23, 2026
db4feb9
fix(install): answer the direct lookup in the shape Node asks for (#2…
alcpereira Sep 23, 2026
a913cb2
fix(ios): keep alert activation out of XCTest's interruption handling…
thymikee Sep 23, 2026
f5475e8
chore(ios-runner): delete the unreachable synthesized continuous drag…
thymikee Sep 23, 2026
7939464
chore(ios-runner): remove unset env knobs, the dead back wire command…
thymikee Sep 23, 2026
4bce8fa
refactor(ios-runner): key runner retry decisions on typed failures, n…
thymikee Sep 23, 2026
dabbeb5
refactor(ios-runner): drop the runner's snapshot warning text; the ve…
thymikee Sep 23, 2026
fa3b729
refactor(ios-runner): restrict the tap-witness synthesized type route…
thymikee Sep 23, 2026
5d0e66d
fix(macos): refuse --fullscreen on every helper-captured surface (#2849)
thymikee Sep 23, 2026
b3b58ca
fix(install): name the network error code when an app-source download…
alcpereira Sep 23, 2026
7fbf491
refactor(move): move the runner's inline unit tests into UnitTests/ (…
thymikee Sep 24, 2026
f356394
refactor(move): split RunnerTests+CommandExecution.swift along comman…
thymikee Sep 24, 2026
e7170c4
test(ios): stop cold-host timing from failing the occupancy test (#2847)
thymikee Sep 24, 2026
4cdd1c9
fix(interaction): report an unsettled post-gesture surface instead of…
thymikee Sep 24, 2026
fd8277e
refactor(platform-apple): dedupe xctrace logic behind perf-xctrace an…
thymikee Sep 24, 2026
eabe119
fix(ios-runner): keep snapshot-plan target state on main and bound th…
thymikee Sep 24, 2026
faa69ff
fix(ios): refuse every runner read over a not-running session app (#2…
thymikee Sep 24, 2026
9fac266
fix(ios): keep devicectl hints on physical install and delete the dea…
thymikee Sep 24, 2026
9dd5379
fix(ios-runner): return work that finished at the timeout boundary an…
thymikee Sep 24, 2026
072872e
fix(ios-runner): resend read-only commands across the RUNNER_BUSY dra…
okwasniewski Sep 24, 2026
7ddaff1
fix(ios): cut modal-contained presentations from bridge snapshots (#2…
thymikee Sep 24, 2026
5c19230
fix(apple-runner): resend a read only on the runner's busy refusal (#…
thymikee Sep 24, 2026
1b31bee
fix(providers): name the simulator HID helper in the fold refusal hin…
thymikee Sep 24, 2026
fd24123
fix(selectors): retire the stored tree after a side effect or a nativ…
thymikee Sep 24, 2026
6debef0
fix(ios-runner): adopt the scene lifecycle so the host app launches o…
thymikee Sep 24, 2026
0749551
0.21.13
thymikee Sep 24, 2026
6433dcc
docs(adr): rewrap the overlong ADR 0013 gesture-schedule line (#2874)
thymikee Sep 24, 2026
57886b3
ci(diagnose): retire the 1874 diagnose loop (#2875)
thymikee Sep 24, 2026
f47e9c9
docs(ios-runner): point RUNNER_PROTOCOL.md at the current declaration…
thymikee Sep 24, 2026
fe2ac00
test(ios): recover the E2E visibility search from a scroll that overs…
thymikee Sep 24, 2026
7286206
fix(ios): drop -Werror from runtime clang builds and cache the fold h…
thymikee Sep 24, 2026
0192348
fix(ios): parse the Xcode 27 <tagged-backtrace> time-profile stack (#…
thymikee Sep 24, 2026
d852b79
fix(interaction): carry one post-gesture outcome on the tree and disc…
thymikee Sep 24, 2026
b916605
fix(apple): refuse fold on a scoped simulator set at runtime admissio…
thymikee Sep 24, 2026
a363a02
refactor(ios): make unscoped simctl argv a type error at the Apple to…
thymikee Sep 24, 2026
dbc08a4
fix(install): send a default User-Agent with app-source downloads (#2…
alcpereira Sep 24, 2026
d5c21f8
fix(android): carry the content description beside the label on the s…
okwasniewski Sep 24, 2026
8c61aea
docs(adr): repair 0004 paths, record the RUNNER_BUSY asymmetry, settl…
thymikee Sep 24, 2026
81aff32
fix(ios-runner): one synthesize-then-fallback helper; sequence taps u…
thymikee Sep 24, 2026
bb5089a
fix(ios): find a popover dismiss region in one query instead of readi…
thymikee Sep 24, 2026
86d719d
test(ios): wait out the launch an accepted deep-link confirmation rel…
thymikee Sep 24, 2026
efce352
fix(android): carry the heading flag and the role description on the …
okwasniewski Sep 24, 2026
dc9ab86
chore: remove CHANGELOG.md in favor of generated release notes (#2922)
thymikee Sep 24, 2026
d665e02
refactor(ios-e2e): use canonical wait reasons in confirmation helper …
thymikee Sep 24, 2026
6508ef8
test(android): a content description change invalidates snapshot reus…
okwasniewski Sep 24, 2026
5dee3be
fix(ios): carry the snapshot viewport across the runner boundary as a…
thymikee Sep 24, 2026
cdfbad6
refactor(ios): brand the simctl builders and require the brand where …
thymikee Sep 24, 2026
2c7856d
perf(ios): shorten smoke critical path with affected XCTest selection…
thymikee Sep 24, 2026
622435e
0.21.14
thymikee Sep 24, 2026
14bf77b
fix(android): carry the field's hint text on the snapshot node as pla…
okwasniewski Sep 24, 2026
438b43c
fix(timeouts): prove request envelopes cover their worst-case work (#…
thymikee Sep 24, 2026
4260aa7
fix(android): return from an app open only after the launched app is …
thymikee Sep 24, 2026
3e5af3a
fix(wait): report readiness work that consumed the wait budget (#2893)
thymikee Sep 24, 2026
d7a1f2c
refactor(ios-runner): make the snapshot quality verdict state a close…
thymikee Sep 24, 2026
fa1082d
refactor(macos): derive macOS surface routing from one owner table (#…
thymikee Sep 24, 2026
9b08543
fix(android): fill verification samples until a deadline instead of t…
okwasniewski Sep 24, 2026
2db7c42
fix(android): carry the checked state of a checkable control on the s…
okwasniewski Sep 24, 2026
86f0697
test(android): drop byte-identical duplicate text-input cases (#2931)
thymikee Sep 24, 2026
a4f72f0
feat(android): a helper capture carries the display's pixel density i…
okwasniewski Sep 24, 2026
0fb1577
refactor(provider-webdriver): remove superseded cloud runtime factori…
thymikee Sep 24, 2026
6428c54
test(ios-runner): pin production-built runner requests in a golden ta…
thymikee Sep 24, 2026
c35b7cf
fix(maestro): address killApp review feedback
Rohit3523 Sep 25, 2026
b2af2a9
feat(maestro): support killApp via close mode
Rohit3523 Sep 21, 2026
0fe6373
refactor(maestro): table-drive app-target lifecycle dispatch
Rohit3523 Sep 21, 2026
c63b1c8
fix(maestro): fail killApp loud when the target survives
Rohit3523 Sep 21, 2026
05128d8
fix(maestro): address killApp review feedback
Rohit3523 Sep 25, 2026
f2493dd
Merge branch 'feat/maestro-killapp-impl' of https://github.com/Rohit3…
Rohit3523 Sep 25, 2026
5058165
fix(maestro): address cubic killApp review comments
Rohit3523 Sep 25, 2026
f894395
fix(maestro): keep killApp tests hermetic and under the size ratchet
Rohit3523 Sep 25, 2026
e676ade
fix(maestro): corroborate a stale foreground read before killApp proc…
Rohit3523 Sep 25, 2026
e3387ef
fix(maestro): corroborate same-app foreground read and pin no-session…
Rohit3523 Sep 25, 2026
77d2eab
fix(maestro): read the kill precondition from the AMS resumed activity
Rohit3523 Sep 25, 2026
c76f103
fix(maestro): anchor the resumed-activity parse and cover all AMS mar…
Rohit3523 Sep 25, 2026
23ea708
test(maestro): cover the bare ResumedActivity marker shape
Rohit3523 Sep 25, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
11 changes: 5 additions & 6 deletions .fallowrc.json
Original file line number Diff line number Diff line change
Expand Up @@ -115,9 +115,6 @@
"isRetryableIosDeviceTraceRecordFailure",
"resolveIosDevicePerfHint",
"captureAppleMemorySnapshot",
"readAppleProcessSamples",
"resolveAppleExecutable",
"resolveIosDevicePerfTarget",
"sampleAppleFramePerf",
"sampleAppleMemoryPerf",
"cleanupAppleXctracePerfCapture",
Expand Down Expand Up @@ -160,7 +157,6 @@
"prepareIosRunner",
"resolveRunnerAppBundleId",
"detachIosRunnerSessionsForShutdown",
"getRunnerSessionSnapshot",
"stopIosRunnerSession",
"stopAllIosRunnerSessions",
"readStaleRunnerLease",
Expand Down Expand Up @@ -217,7 +213,7 @@
},
{
"comment": "Dedicated CLI command handlers are reached only through the dynamic `import()` table `dedicatedCliCommandHandlerLoaders` in src/cli/commands/router.ts, which --production analysis cannot follow to a consumer. Same shape as the daemon route-handler entry above; that table is what enumerates this list, so add/remove here whenever a loader is added/removed.",
"file": "src/cli/commands/{auth,connection,daemon,device,proxy,replay,screenshot,takeover}.ts",
"file": "src/cli/commands/{auth,connection,daemon,device,proxy,recording,replay,screenshot,takeover}.ts",
"exports": [
"authCommand",
"connectCommand",
Expand All @@ -226,6 +222,7 @@
"daemonCommand",
"deviceCommand",
"proxyCommand",
"recordingCommand",
"replayCommand",
"screenshotCommand",
"diffCommand",
Expand All @@ -243,7 +240,7 @@
"exports": ["*"]
},
{
"comment": "#1642: its three consumers (src/__tests__/cli-device-status.test.ts, src/daemon/__tests__/device-claims.test.ts, src/daemon/__tests__/device-claim-prune.test.ts) all reach it the only way a Vitest module mock can — `vi.mock(path, async (importOriginal) => (await import('...host-process-mock.ts')).pinOwnProcessStartTime(importOriginal))`. Dependency analysis cannot follow that dynamic import to a consumer, the same limitation the daemon route-handler entry above records.",
"comment": "#1642: its three consumers (src/__tests__/cli-device-status.test.ts, src/daemon/device/__tests__/device-claims.test.ts, src/daemon/device/__tests__/device-claim-prune.test.ts) all reach it the only way a Vitest module mock can — `vi.mock(path, async (importOriginal) => (await import('...host-process-mock.ts')).pinOwnProcessStartTime(importOriginal))`. Dependency analysis cannot follow that dynamic import to a consumer, the same limitation the daemon route-handler entry above records.",
"file": "src/__tests__/test-utils/host-process-mock.ts",
"exports": ["pinOwnProcessStartTime"]
},
Expand All @@ -257,6 +254,8 @@
"file": "{packages/command-registry/src/registry.ts,src/core/interactors/register-builtins.ts,src/core/platform-descriptor/registry.ts,src/daemon/request-platform-providers.ts}",
"exports": [
"CommandOwnerFileClaimsAreComplete",
"CommandUnionStaysLiteral",
"CliCommandUnionStaysLiteral",
"BuiltinPluginsCoverAllPlatforms",
"PlatformDescriptorsAreTotal",
"GatedKeysAreResolverKeys"
Expand Down
2 changes: 1 addition & 1 deletion .github/actions/setup-apple-runner-build/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ runs:
id: source-hash
run: |
set -euo pipefail
echo "value=${{ hashFiles('apple/runner/**', 'apple/snapshot-presentation/**', 'scripts/build-xcuitest-apple.sh', 'scripts/swift-toolchain-tmpdir.ts', 'scripts/patch-xcuitest-runner-icon.ts', 'scripts/write-xcuitest-cache-metadata.mjs', 'packages/platform-apple/src/runner/apple-runner-platform.ts', 'packages/platform-apple/src/runner/runner-cache-metadata.ts', 'packages/platform-apple/src/runner/runner-icon.ts', 'packages/platform-apple/src/runner/runner-xctestrun.ts', 'packages/platform-apple/src/runner/runner-xctestrun-products.ts', '.github/actions/setup-apple-runner-build/action.yml') }}" >> "$GITHUB_OUTPUT"
echo "value=${{ hashFiles('apple/runner/**', 'apple/snapshot-presentation/**', 'scripts/build-xcuitest-apple.sh', 'scripts/swift-toolchain-tmpdir.ts', 'scripts/patch-xcuitest-runner-icon.ts', 'scripts/write-xcuitest-cache-metadata.mjs', 'packages/platform-apple/src/runner/**', '!packages/platform-apple/src/runner/__tests__/**', '.github/actions/setup-apple-runner-build/action.yml') }}" >> "$GITHUB_OUTPUT"
shell: bash

- name: Resolve Apple runner build variant
Expand Down
132 changes: 0 additions & 132 deletions .github/workflows/1874-diagnose.yml

This file was deleted.

1 change: 0 additions & 1 deletion .github/workflows/android.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ on:
- 'website/**'
- 'README.md'
- 'AGENTS.md'
- 'CHANGELOG.md'
- 'CONTEXT.md'
- 'CONTRIBUTING.md'
- 'LICENSE'
Expand Down
1 change: 0 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ on:
- 'website/**'
- 'README.md'
- 'AGENTS.md'
- 'CHANGELOG.md'
- 'CONTEXT.md'
- 'CONTRIBUTING.md'
- 'LICENSE'
Expand Down
Loading
Loading