Skip to content

perf: improve Android Maestro snapshot helper performance#799

Open
thymikee wants to merge 3 commits into
mainfrom
fix/android-maestro-react-navigation
Open

perf: improve Android Maestro snapshot helper performance#799
thymikee wants to merge 3 commits into
mainfrom
fix/android-maestro-react-navigation

Conversation

@thymikee

Copy link
Copy Markdown
Member

Summary

Improve Android Maestro replay performance by letting persistent snapshot-helper requests use the helper command budget instead of timing out early, and by disabling the helper idle wait by default because daemon-side post-gesture stabilization already handles settling. This avoids repeated timeout-plus-fallback behavior on busy React Navigation drawer screens.

Touched-file count: 3. Scope is Android snapshot helper runtime/tests only.

Validation

Focused unit coverage passed: pnpm exec vitest run src/platforms/android/__tests__/snapshot.test.ts src/platforms/android/__tests__/snapshot-helper-session.test.ts (46/46).

Static checks passed via direct underlying gates because this worktree's aggregate pnpm check:quick hit a pnpm version guard before running checks: npm_config_pm_on_fail=ignore pnpm lint (0 warnings/errors) and npm_config_pm_on_fail=ignore pnpm typecheck.

Live Android validation on emulator-5554, app org.reactnavigation.playground, React Navigation 10-file Maestro subset: missing local helper artifacts failed/slow at 8/10 in 350.9s; packaged helpers on PR #795 passed 10/10 in 183.7s; this branch passed 10/10 in 155.2s. Focused drawer-master-detail.yml improved from 84.2s on PR #795 helper path to 66.2s with the session timeout change and 55.1s with the idle-wait change.

@github-actions

Copy link
Copy Markdown

Size Report

Metric Base Current Diff
JS raw 1.3 MB 1.3 MB -4.9 kB
JS gzip 411.6 kB 410.0 kB -1.6 kB
npm tarball 544.6 kB 543.0 kB -1.6 kB
npm unpacked 1.8 MB 1.8 MB -4.9 kB

Startup median (7 runs, lower is better):

Scenario Base Current Diff
CLI --version 20.9 ms 20.9 ms -0.0 ms
CLI --help 40.1 ms 40.7 ms +0.6 ms

Top changed chunks:

Chunk Raw diff Gzip diff
dist/src/2415.js -2.7 kB -900 B
dist/src/session.js -1.5 kB -467 B
dist/src/9542.js -750 B -290 B
dist/src/apps.js -29 B -15 B
dist/src/221.js -2 B -2 B

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant