Skip to content

Conversation

@Brunonascdev
Copy link
Contributor

@Brunonascdev Brunonascdev commented Oct 24, 2025

Description

This PR introduces a Deeplink handler that enables the Card button for all users who open the app through the specific Deeplink metamask://enable-card-button. The handler ensures the link is properly parsed and triggers the correct in-app action to activate the Card feature seamlessly.

Changelog

CHANGELOG entry: Added Deeplink handler for metamask://enable-card-button to enable the Card button for all users

Related issues

Fixes:

Manual testing steps

Run npx uri-scheme open "metamask://enable-card-button" --ios or --android

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

ScreenRecording_10-24-2025.18-35-29_1.MP4

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

Adds a deeplink (enable-card-button) that enables the Card button (behind flag) and shows a toast via a new CardNotification screen.

  • Deeplink/Core:
    • Add new action enable-card-button to deeplink/universal link handling; whitelist and parse in handleUniversalLink and DeeplinkManager.
    • Implement handler to check cardExperimentalSwitch, dispatch setAlwaysShowCardButton(true), and navigate to notification.
  • UI/Navigation:
    • Introduce CardNotification component to display a toast and immediately close; add Routes.CARD.NOTIFICATION and register screen in App navigator.
  • i18n:
    • Add card.card_home.card_button_enabled_toast string.
  • Tests:
    • Add comprehensive unit tests for deeplink parsing/handling and CardNotification behavior.

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

@Brunonascdev Brunonascdev self-assigned this Oct 24, 2025
@Brunonascdev Brunonascdev requested a review from a team as a code owner October 24, 2025 03:40
@Brunonascdev Brunonascdev added the team-card Card Team label Oct 24, 2025
@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.

Copy link
Contributor

@Cal-L Cal-L left a comment

Choose a reason for hiding this comment

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

Left a comment

Copy link
Contributor

Choose a reason for hiding this comment

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

The recommended implementation is to leverage universal links instead of traditional links. In other words, let's move this logic to handleUniversalLink instead. Since it seems like we wanted to avoid the interstitial, you can add the ENABLE_CARD_BUTTON action to the WHITELISTED_ACTIONS, which will skip the interstitial UI. Teams should access this feature by using a universal link base aka https://link.metamask.io

cursor[bot]

This comment was marked as outdated.

@Brunonascdev Brunonascdev changed the title feat(card): add card experimental deeplink feat(card): cp-7.58.0 add card experimental deeplink Oct 28, 2025
@Brunonascdev Brunonascdev requested review from a team as code owners October 30, 2025 01:58
@Brunonascdev Brunonascdev requested review from a team as code owners October 30, 2025 01:59
@github-actions github-actions bot added size-XL and removed size-M labels Oct 30, 2025
@sonarqubecloud
Copy link

Quality Gate Failed Quality Gate failed

Failed conditions
75.0% Coverage on New Code (required ≥ 80%)

See analysis details on SonarQube Cloud

@github-actions github-actions bot locked and limited conversation to collaborators Oct 30, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants