Skip to content

Conversation

@javiergarciavera
Copy link
Contributor

@javiergarciavera javiergarciavera commented Dec 19, 2025

Description

Changelog

CHANGELOG entry:

Related issues

Fixes:

Manual testing steps

Feature: my feature name

  Scenario: user [verb for user action]
    Given [describe expected initial app state]

    When user [verb for user action]
    Then [describe expected outcome]

Screenshots/Recordings

Before

After

Pre-merge author checklist

Pre-merge reviewer checklist

  • I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed).
  • I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.

Note

Raises/adjusts performance thresholds across login/onboarding/send/predict/perps tests and refactors waitForBalanceToStabilize with iOS fast-path and improved Android polling.

  • Performance test thresholds (quality gates) updated:
    • Login flows: asset-balances.spec.js, cross-chain-swap-flow.spec.js, eth-swap-flow.spec.js, send-flows.spec.js (added missing timer thresholds for some steps).
    • Perps flows: perps-add-funds.spec.js, perps-position-management.spec.js.
    • Predict flows: predict-available-balance.spec.js, predict-deposit.spec.js, predict-market-details.spec.js.
    • Onboarding flows: import-wallet.spec.js, new-wallet-account-creation.spec.js, launch-times/cold-start-to-onboarding.spec.js, and imported-wallet-account-creation.spec.js (remove ETH visibility checks; use SOL).
  • Wallet balance stabilization logic (wdio/screen-objects/WalletMainScreen.js):
    • Add platform-specific behavior: iOS single valid-read fast path; Android robust polling with re-queries and $0.00/empty filtering.
    • Adjust defaults: sameResultTimeout to 8000ms; maintain maxWaitTime=60000.
    • Improve stability/error handling around element re-fetching.
  • Flows utility (appwright/utils/Flows.js): increase timer thresholds in importSRPFlow; minor modal handling unchanged.
  • Misc: Wrap some TimerHelper.measure calls with explicit async functions and reorder/rename timers in onboarding import flow.

Written by Cursor Bugbot for commit 68320ca. This will update automatically on new commits. Configure here.

@github-actions
Copy link
Contributor

CLA Signature Action: All authors have signed the CLA. You may need to manually re-run the blocking PR check if it doesn't pass in a few minutes.

@metamaskbot metamaskbot added the team-qa QA team label Dec 19, 2025
@javiergarciavera javiergarciavera requested a review from a team as a code owner December 19, 2025 14:40
@github-actions
Copy link
Contributor

🔍 Smart E2E Test Selection

  • Selected E2E tags: None (no tests recommended)
  • Risk Level: low
  • AI Confidence: 95%
click to see 🤖 AI reasoning details

All 15 changed files are exclusively in the appwright/ and wdio/ directories, which are separate test frameworks (Appwright for performance testing and WebDriverIO for other testing purposes) - NOT Detox.

The changes consist of:

  1. Performance test threshold adjustments - Increasing timer thresholds in various performance tests (asset-balances, swap flows, perps, predict, send flows, onboarding) to accommodate slower performance on iOS and Android platforms
  2. Test utility refactoring - Improvements to waitForBalanceToStabilize() in WalletMainScreen.js with iOS-specific handling and better Android polling logic

No application code (app/, src/, components/, etc.) is modified. These are purely test infrastructure changes that:

  • Adjust performance test quality gates (timeout thresholds)
  • Improve test reliability for the Appwright/WDIO frameworks
  • Do not affect the actual MetaMask Mobile application behavior

Per the guidance: "Changes to wdio/ or appwright/ directories (separate test frameworks) do not require Detox tags - select none unless app code is also changed." Since no app code is changed, no Detox E2E tags are needed.

View GitHub Actions results

@sonarqubecloud
Copy link

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

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants