Skip to content

feat(maestro): export replay flows that switch apps - #2407

Merged
thymikee merged 1 commit into
callstack:mainfrom
PLASMA-FR:feat/maestro-export-app-targets-a-y52ctpw0
Sep 9, 2026
Merged

thymikee merged 1 commit into
callstack:mainfrom
PLASMA-FR:feat/maestro-export-app-targets-a-y52ctpw0

Conversation

@PLASMA-FR

Copy link
Copy Markdown
Contributor

Summary

replay export now preserves app switches in recorded flows:

open com.example.shop
open com.example.auth
open com.example.shop

Each launch carries its own launchApp.appId; the first app remains the flow default. This completes the existing local export workflow from #751 using already-supported Maestro syntax. Relaunch options and deep links retain their authored targets and order.

Eight files (+94/−32): exporter, behavioral regressions, CLI help, user docs, and changelog.

Validation

Tested commit: 865ed651a5b3b20c79b69b1ade0b2d236c905b3b (Linux arm64, Node 24.13.1, pnpm 11.17.0).

  • Three app-switch regressions failed on unchanged main (64867883) and pass with this change.
  • pnpm exec vitest run packages/maestro/src/internal/__tests__/export-navigation.test.ts packages/maestro/src/internal/__tests__/export-label-projection.test.ts src/cli/commands/__tests__/replay-maestro-export.test.ts: 19 passed.
  • pnpm maestro:conformance: 62 passed.
  • pnpm check:affected --run: passed, including build, formatting, lint, types, layering, Fallow, and 2,193 related tests across 294 files.
  • Built CLI stdout, JSON, --out, help, and unsupported-action refusal passed with an unreachable daemon URL.

Initial validation exposed missing host zip/unzip and a startup timeout. Archive tools are now provisioned; the final gate passed with four workers and unchanged test limits. CI is pending; full Coverage and Integration Tests remain GitHub-authoritative.

@thymikee

thymikee commented Sep 9, 2026

Copy link
Copy Markdown
Member

Code review is clean at 865ed65. Explicit launchApp.appId values preserve app switches, relaunch options and deep-link order through the existing runtime, and the regressions cover the previous rejection. Checks pass and there are no conflicts; ready for human review.

@thymikee thymikee added the ready-for-human Valid work that needs human implementation, judgment, or maintainer merge label Sep 9, 2026
@thymikee
thymikee merged commit ee11607 into callstack:main Sep 9, 2026
15 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ready-for-human Valid work that needs human implementation, judgment, or maintainer merge

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants