Skip to content

chore(test): remove Maestro entirely, iOS e2e is Appium now - #29529

Open
chrisnojima wants to merge 1 commit into
masterfrom
nojima/HOTPOT-maestro-clean
Open

chore(test): remove Maestro entirely, iOS e2e is Appium now#29529
chrisnojima wants to merge 1 commit into
masterfrom
nojima/HOTPOT-maestro-clean

Conversation

@chrisnojima

Copy link
Copy Markdown
Contributor

iOS functional e2e moved to Appium + WebdriverIO a while back, but the Maestro tree and its docs stayed behind and still read as the live harness. This removes Maestro completely.

Deleted

  • shared/.maestro/ — all 22 yamls (performance, subflows, visual-diff)
  • shared/perf/run-maestro.sh — iOS perf driver
  • shared/perf/visual-diff-take-ios.sh — iOS visual-diff capture
  • shared/perf/visual-diff-compare-ios.sh — orphaned once the capture script is gone
  • yarn perf:ios, perf:inbox:ios, perf:teams:ios, perf:thread:ios
  • the .maestro entry in the Metro blockList
  • the dead Bash(yarn maestro*) entry in .claude/settings.json

This drops iOS perf profiling and iOS visual-diff as workflows — both were Maestro-only and no Appium replacement is written here. Desktop perf and desktop visual-diff are untouched.

Docs corrected

They pointed at Maestro as the iOS harness, which is actively misleading now:

  • skill/keybase-e2e-tests — description said "iOS (Maestro)"; the body already documented Appium
  • skill/visual-diff — iOS half removed, desktop workflow promoted
  • plans/flow-test.md — "Maestro command patterns" → Appium/WebdriverIO
  • shared/perf/PERF-TESTING.md — iOS section removed, now desktop-only
  • 10 stale // Maestro: tapOn ... breadcrumbs left in the Appium flows by the port

Deliberately kept

  • ios/Keybase/PerfFPSMonitor.swift + its AppDelegate hook — gated on the PERF_FPS_MONITOR launch argument, not on Maestro, so it is still drivable by hand or from Appium. Removing it means editing the Xcode project.
  • shared/perf/react-profiler.tsx — imported by six app files and by run-desktop-perf.js. Its documentation moved into the desktop section.

Testing

Docs, comments, and deleted tooling only — no app code changed. The .ts diff is comment lines exclusively. shared/package.json and .claude/settings.json re-parse as valid JSON; shared/metro.config.js and shared/perf/compare-perf.js pass node --check.

Delete the Maestro flow tree and its two drivers, along with the iOS
perf-profiling and iOS visual-diff workflows that only Maestro could
drive:

- shared/.maestro/ (performance, subflows, visual-diff yamls)
- perf/run-maestro.sh, perf/visual-diff-take-ios.sh,
  perf/visual-diff-compare-ios.sh (orphaned once take-ios is gone)
- yarn perf:ios / perf:{inbox,teams,thread}:ios
- the .maestro entry in the Metro blockList
- the dead Bash(yarn maestro*) permission

Also correct the docs that still pointed at Maestro: the
keybase-e2e-tests and visual-diff skills, plans/flow-test.md,
PERF-TESTING.md (now desktop-only), and the stale "// Maestro: ..."
breadcrumbs left in the Appium flows by the port.

ios/Keybase/PerfFPSMonitor.swift stays: it is gated on the
PERF_FPS_MONITOR launch argument, not on Maestro, and can still be
driven by hand or from Appium.
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