Skip to content

DO NOT MERGE - Temp/musd quick convert march 5 uat build#27098

Open
Matt561 wants to merge 9 commits intomainfrom
temp/musd-quick-convert-march-5-uat-build
Open

DO NOT MERGE - Temp/musd quick convert march 5 uat build#27098
Matt561 wants to merge 9 commits intomainfrom
temp/musd-quick-convert-march-5-uat-build

Conversation

@Matt561
Copy link
Contributor

@Matt561 Matt561 commented Mar 5, 2026

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

Medium Risk
Medium risk because it toggles mUSD feature flags for CI builds and changes app versioning, and it modifies shared navigation (BottomSheet) and confirmation tooltip behavior which could affect multiple screens.

Overview
mUSD conversion UX tweaks + UAT enablement. Updates multiple mUSD conversion strings (education, quick convert header/subtitle, CTA copy, claimable bonus tooltip) and adjusts tests accordingly, including switching i18n placeholders from apy to percentage and clarifying copy as annualized bonus.

Improves related UI behaviors. The earn success toast now includes a secondary descriptive line, the confirmation PercentageRow tooltip now includes an underlined “Terms apply” link to the bonus terms URL and returns null for non-musdConversion tx types via hasTransactionType, and BottomSheet now only calls navigation.goBack() when the screen is focused (logging otherwise) to avoid duplicate/unfocused back navigations.

Build/config changes. Bitrise env flags are updated to enable MM_MUSD_CONVERSION_FLOW_ENABLED and MM_MUSD_QUICK_CONVERT_ENABLED (plus geo/min-balance settings), and app version fields are set to 7.68.0 with build number/code 3916 across Android, iOS, and package.json.

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

@Matt561 Matt561 requested review from a team as code owners March 5, 2026 22:42
Copy link

@cursor cursor bot left a comment

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 and found 3 potential issues.

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

{
"name": "metamask",
"version": "7.69.0",
"version": "7.68.0",
Copy link

Choose a reason for hiding this comment

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

Version downgraded from 7.69.0 to 7.68.0 across builds

High Severity

The app version is downgraded from 7.69.0 to 7.68.0 in package.json, build.gradle, project.pbxproj, and bitrise.yml. As indicated by the PR title "DO NOT MERGE - Temp", these are temporary UAT build changes. If accidentally merged, this would regress the production version number across Android, iOS, and the package manifest, potentially causing update conflicts, store submission issues, and version tracking problems.

Additional Locations (2)

Fix in Cursor Fix in Web

MM_ENABLE_SETTINGS_PAGE_DEV_OPTIONS: true
- opts:
is_expand: false
MM_RAMPS_UNIFIED_BUY_V1_ENABLED: true
Copy link

Choose a reason for hiding this comment

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

Dev settings and feature flags enabled in build config

High Severity

Several feature flags and dev settings are force-enabled in the build configuration, including MM_ENABLE_SETTINGS_PAGE_DEV_OPTIONS: true, MM_MUSD_QUICK_CONVERT_ENABLED: true, MM_RAMPS_UNIFIED_BUY_V1_ENABLED: true, and MM_MUSD_CONVERSION_GEO_BLOCKED_COUNTRIES: "" (empty, removing geographic restrictions). These are temporary UAT overrides that, if merged, would expose developer options and bypass geo-blocking in production builds.

Fix in Cursor Fix in Web

Logger.log(
'[BottomSheet] navigation.goBack skipped (screen not focused)',
);
}
Copy link

Choose a reason for hiding this comment

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

BottomSheet marks navigation complete without actually navigating

Medium Severity

didNavigateBackRef.current is set to true on line 75 before checking navigation.isFocused(). If the screen is not focused, goBack() is skipped but the ref permanently records that navigation occurred. Any subsequent close attempt is treated as a "duplicate close" and silently ignored, meaning goBack() can never be called for this component instance even if the screen later regains focus.

Fix in Cursor Fix in Web

@github-actions
Copy link
Contributor

github-actions bot commented Mar 5, 2026

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.

@github-actions
Copy link
Contributor

github-actions bot commented Mar 5, 2026

🔍 Smart E2E Test Selection

  • Selected E2E tags: SmokeWalletPlatform, SmokeTrade, SmokeConfirmations, SmokeAccounts, FlaskBuildTests, SmokeNetworkAbstractions
  • Selected Performance tags: None (no tests recommended)
  • Risk Level: medium
  • AI Confidence: 78%
click to see 🤖 AI reasoning details

E2E Test Selection:
This PR contains several types of changes:

  1. Version Rollback (7.69.0 → 7.68.0): Changes across package.json, bitrise.yml, build.gradle, and iOS project files - low risk, just version numbers.

  2. BottomSheet Navigation Fix (CRITICAL): Added navigation.isFocused() check before goBack() in the shared BottomSheet component. This component is widely used across the app including:

    • Snap approvals and dialogs (FlaskBuildTests)
    • Account permissions and actions (SmokeAccounts)
    • Add asset flows
    • Various modals and confirmations (SmokeConfirmations)
    • Network selection (SmokeNetworkAbstractions)
  3. Earn/mUSD Conversion Updates:

    • Copy/text changes in locales (terminology updates from "receive" to "earn", "bonus" to "annualized bonus")
    • Variable renaming (apypercentage) in MusdQuickConvertView
    • Added secondary description to success toast in useEarnToasts
    • Added clickable "Terms apply" link in percentage-row confirmation component
    • mUSD conversion tests use SmokeWalletPlatform tag
    • Gasless swap tests (involving mUSD) use SmokeTrade tag
  4. Bitrise Feature Flags: Enabled mUSD conversion features (MM_MUSD_CONVERSION_FLOW_ENABLED, MM_MUSD_QUICK_CONVERT_ENABLED, etc.)

Selected tags rationale:

  • SmokeWalletPlatform: mUSD conversion happy path tests are tagged with this
  • SmokeTrade: Gasless swap tests involving mUSD use this tag; swap/bridge flows require confirmations
  • SmokeConfirmations: percentage-row component is part of confirmations; BottomSheet affects confirmation flows
  • SmokeAccounts: BottomSheet is used in AccountActions and account-related flows
  • FlaskBuildTests: BottomSheet is heavily used in Snap approvals, dialogs, and installation flows
  • SmokeNetworkAbstractions: BottomSheet is used in network selection and add chain flows

Performance Test Selection:
The changes in this PR are primarily: (1) version number rollback, (2) a navigation fix in BottomSheet that adds a focus check before goBack(), and (3) copy/text changes in the Earn/mUSD feature. None of these changes are expected to impact app performance - the BottomSheet fix is a guard condition that prevents unnecessary navigation calls, the text changes are static string updates, and version changes don't affect runtime behavior. No UI rendering changes, data loading modifications, or state management alterations that would warrant performance testing.

View GitHub Actions results

@github-actions github-actions bot added the size-M label Mar 5, 2026
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.

2 participants