Skip to content

fix(maestro): stabilize Graal state and C000045 - #6157

Closed
EdgeClaws wants to merge 19 commits into
EdgeApp:developfrom
EdgeClaws:qa/maestro-graal-output-scope
Closed

fix(maestro): stabilize Graal state and C000045#6157
EdgeClaws wants to merge 19 commits into
EdgeApp:developfrom
EdgeClaws:qa/maestro-graal-output-scope

Conversation

@EdgeClaws

@EdgeClaws EdgeClaws commented Aug 14, 2026

Copy link
Copy Markdown

Summary

  • Persist JavaScript values used across Maestro commands in output.* for GraalJS compatibility.
  • Normalize scalar-or-array ASSET_NAMES inputs at shared helper boundaries.
  • Bound the shared import-wallet Next loop and fix iOS keyboard dismissal.
  • Add stable automation IDs for Manage Tokens, wallet naming, and split-wallet confirmation flows.
  • Update affected wallet/login flows for the current UI.
  • Keep C190284's current Enter 2FA code wording while restoring selector-based Deny, Deny All, and SKIP handling.
  • Remove all coordinate taps introduced by this branch, including the obsolete update-modal workaround in launch-cleared.

Why

Maestro 2.7 uses GraalJS, where local variables and reassigned environment values do not persist into later commands. Several flows also depended on brittle selectors or stale UI text.

The coordinate taps were temporary diagnostics/workarounds, not maintainable test behavior. Current builds do not require the update-modal dismissal, and C190284 retains its text-selector fallback for the optional approval-list path.

Verification

  • All changed YAML passed maestro check-syntax during the original remediation.
  • The final coordinate-free maestro/common/launch-cleared.yaml and maestro/03-login/C190284-2fa-01.yaml each pass maestro check-syntax.
  • git diff --check passes.
  • C190284 completed on iPhone Air Simulator / iOS 26.5 using Zealot maestro-testMaestro release 4931, app 4.50.2-testMaestro (26081916).
  • The recorded C190284 run submitted the backup code, dismissed the security prompt, reached Assets, confirmed Wallets, and exited 0.
  • The approval-list screen did not appear after voucher cleanup; Deny, Deny All, and SKIP were absent and skipped as optional, so that branch remains unverified.
  • The repository precommit hook currently reaches an unrelated existing HelpModal snapshot mismatch (Version undefined vs Version undefined-m); no snapshot or unrelated product files are included in these commits.

Runtime evidence

  • C190284 proof: iPhone Air Simulator, iOS 26.5, exact testMaestro build 26081916.
  • Chat-safe recording starts at 2FA-code entry and redacts the private backup code.
  • Prior C000045 iOS focused passes and GraalJS evidence remain recorded in the QA artifacts for this work.

Remaining limitations

  • The C190284 approval-list/Deny path still needs a run where pending authorization requests actually exist.
  • Android platform/full-suite verification remains outstanding.
  • Restore the intermediate returned-screen MOG assertion once both linked Manage Tokens product bugs are complete.

Tracking

Publication state

This PR is intentionally kept as a Draft for GitHub backup and continued QA work. It is not being submitted for review or publication yet.

@EdgeClaws
EdgeClaws force-pushed the qa/maestro-graal-output-scope branch 2 times, most recently from c78ab02 to d372862 Compare August 15, 2026 00:35
@EdgeClaws
EdgeClaws force-pushed the qa/maestro-graal-output-scope branch from d372862 to 7795512 Compare August 18, 2026 18:20
@EdgeClaws EdgeClaws changed the title fix(maestro): persist JavaScript state via output fix(maestro): stabilize Graal state and C000045 Aug 18, 2026
Comment thread maestro/common/import-wallets.yaml

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 0da6fd1. Configure here.

- tapOn: ".*Ethereum"
- tapOn: Next
- tapOn:
id: "createWalletRow.create-ethereum-ethereum"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wrong Ethereum split row testID

High Severity

The new Ethereum split selector uses createWalletRow.create-ethereum-ethereum, but create-list keys are create-${walletType}-${pluginId}. Ethereum’s walletType is wallet:ethereum, so the real testID is createWalletRow.create-wallet:ethereum-ethereum. Maestro will not find the row, and C000037 fails before the split confirm.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 0da6fd1. Configure here.

@EdgeClaws
EdgeClaws marked this pull request as draft August 21, 2026 06:02
@EdgeClaws

Copy link
Copy Markdown
Author

Superseded by #6172, the single direct-to-develop Maestro repair PR containing the Graal YAML change and all recent existing-flow fixes.

@EdgeClaws EdgeClaws closed this Aug 21, 2026
@EdgeClaws
EdgeClaws deleted the qa/maestro-graal-output-scope branch August 21, 2026 22:43
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