Skip to content

feat(card): embed Metal Card checkout flow into onboarding flow#27420

Merged
Brunonascdev merged 4 commits into
mainfrom
feat/mm-card-metal-card-onboarding-embedding
Mar 12, 2026
Merged

feat(card): embed Metal Card checkout flow into onboarding flow#27420
Brunonascdev merged 4 commits into
mainfrom
feat/mm-card-metal-card-onboarding-embedding

Conversation

@Brunonascdev

@Brunonascdev Brunonascdev commented Mar 12, 2026

Copy link
Copy Markdown
Contributor

Description

This PR embed the metal card checkout flow into the Card onboarding/sign-up flow.

Changelog

CHANGELOG entry: embed the metal card checkout flow into the Card onboarding/sign-up flow.

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

Simulator.Screen.Recording.-.iPhone.17.-.2026-03-11.at.10.42.24.mov

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
Changes card onboarding navigation (including new home flow params and StackActions replacement) and adds new UI/animation behavior, which could affect user progression through card setup if eligibility logic or routing params are wrong.

Overview
Eligible US users who press Enable Card from CardHome are now redirected to Routes.CARD.CHOOSE_YOUR_CARD (new flow: 'home') instead of always starting delegation/spending-limit setup; the route passes through shippingAddress plus token/delegation/external wallet context.

ChooseYourCard is updated to support the new home flow, adds a swipe/peek affordance and an upgrade-to-metal link, refreshes metal/virtual copy, and routes virtual-card selection into SPENDING_LIMIT with flow: 'manage' and the forwarded params.

Post-order behavior changes so OrderCompleted uses StackActions.replace to take onboarding users directly to SPENDING_LIMIT (while upgrade users still go back to CARD.HOME), and SpendingLimit now blocks back navigation during loading using a ref to avoid stale listener state. Tests and English strings are updated accordingly.

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

@Brunonascdev Brunonascdev self-assigned this Mar 12, 2026
@Brunonascdev Brunonascdev requested a review from a team as a code owner March 12, 2026 12:16
@github-actions

Copy link
Copy Markdown
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-card Card Team label Mar 12, 2026
Comment thread app/components/UI/Card/Views/CardHome/CardHome.tsx
Comment thread app/components/UI/Card/Views/CardHome/CardHome.tsx
@github-actions

Copy link
Copy Markdown
Contributor

🔍 Smart E2E Test Selection

  • Selected E2E tags: SmokeCard, SmokeTrade, SmokeConfirmations
  • Selected Performance tags: None (no tests recommended)
  • Risk Level: medium
  • AI Confidence: 91%
click to see 🤖 AI reasoning details

E2E Test Selection:
The changes are isolated to the MetaMask Card feature UI (CardHome, ChooseYourCard, OrderCompleted, SpendingLimit, and Card routes) plus related localization updates. These directly impact the MetaMask Card user flows and navigation.

Per tag rules:

  • SmokeCard must be selected because Card UI and routing were modified.
  • SmokeTrade must also be selected because Card’s Add Funds flow integrates with Swap via the Trade wallet actions.
  • SmokeConfirmations must be selected because Add Funds (Swap) requires transaction confirmations.

No core Engine, controller, network, identity, or multi-chain logic was modified. No changes affect onboarding, login, account list, swaps engine logic, predictions, perps, ramps, or snaps.

Therefore, limiting execution to Card + its required dependent flows (Trade + Confirmations) provides adequate coverage with minimal risk.

Performance Test Selection:
Changes are limited to Card UI components and routing. No modifications to performance-critical paths such as onboarding, login, swaps engine, asset loading, predictions, perps, or app launch. UI changes here are unlikely to materially impact measured performance benchmarks, so no performance tests are required.

View GitHub Actions results

@cursor cursor Bot left a comment

Copy link
Copy Markdown
Contributor

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 1 potential issue.

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

Comment thread app/components/UI/Card/Views/ChooseYourCard/ChooseYourCard.tsx
@sonarqubecloud

Copy link
Copy Markdown

@github-actions

Copy link
Copy Markdown
Contributor

E2E Fixture Validation — Schema is up to date
17 value mismatches detected (expected — fixture represents an existing user).
View details

@Brunonascdev Brunonascdev added this pull request to the merge queue Mar 12, 2026
@github-merge-queue github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Mar 12, 2026
@Brunonascdev Brunonascdev added this pull request to the merge queue Mar 12, 2026
Merged via the queue into main with commit 4e42bef Mar 12, 2026
96 checks passed
@Brunonascdev Brunonascdev deleted the feat/mm-card-metal-card-onboarding-embedding branch March 12, 2026 19:43
@github-actions github-actions Bot locked and limited conversation to collaborators Mar 12, 2026
@metamaskbot metamaskbot added the release-7.71.0 Issue or pull request that will be included in release 7.71.0 label Mar 12, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

release-7.71.0 Issue or pull request that will be included in release 7.71.0 size-L team-card Card Team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants