Skip to content

Conversation

@juanmigdr
Copy link
Member

@juanmigdr juanmigdr commented Jan 30, 2026

Description

The marketing team has asked for a deeplink to the NFTs screen/tab. After researching other components I found two kind of behaviors (taking users to the NFTs tab or taking users to the NFTs screen) and raised the question to the marketing team:
image

Here is the video I attached them (Sound ON):
https://github.com/user-attachments/assets/f7b563c2-8d54-4e77-8297-662469828a6e

Here is their response:
image

Therefore we will be navigating to the NFTs screen (not tab) whenever the deeplink is opened

Changelog

CHANGELOG entry: added deeplinking to the NFT screen

Related issues

Fixes: https://consensyssoftware.atlassian.net/browse/ASSETS-2570

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

Screen.Recording.2026-01-30.at.10.36.25.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

Low Risk
Low risk: adds a new deeplink route and handler that only performs in-app navigation plus analytics route mapping, with tests covering the new handler’s error paths.

Overview
Adds support for the /nft universal link action so marketing links like https://link.metamask.io/nft navigate directly to the NFTs full view.

Wires the new ACTIONS.NFT through handleUniversalLink, the supported-action/type lists, and deep-link analytics route extraction/mapping (no sensitive params extracted). Includes unit tests for handleNftUrl, including fallback navigation to Routes.WALLET.HOME on errors.

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

@juanmigdr juanmigdr requested a review from a team as a code owner January 30, 2026 09:38
@juanmigdr juanmigdr enabled auto-merge January 30, 2026 09:38
@github-actions github-actions bot added size-S and removed size-M labels Jan 30, 2026
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 1 potential issue.

@github-actions github-actions bot added size-M and removed size-S labels Jan 30, 2026
@juanmigdr juanmigdr added the skip-sonar-cloud Only used for bypassing sonar cloud when failures are not relevant to the changes. label Jan 30, 2026
@github-actions
Copy link
Contributor

🔍 Smart E2E Test Selection

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

E2E Test Selection:
This PR adds a new NFT universal deeplink action and handler, and updates deeplink analytics/mapping. Changes touch the central universal link handler switch and deep link route mapping, which are shared for swap/bridge and on/off-ramp deep links. While the change is additive and targeted, errors in the universal link handler could impact existing deep link flows. Running SmokeTrade (covers swap/bridge deep links) and SmokeRamps (covers buy/sell deep link navigation) provides targeted coverage of the deeplink system without running unrelated suites. No controllers/Engine or shared UI components were modified, and navigation changes are localized to the new NFT route.

Performance Test Selection:
No performance-impacting areas were changed. The update adds URL parsing, route mapping, and a simple navigation to the NFT screen with a fallback. No rendering lists, controller/state management, startup initialization, or heavy data loading paths were modified; thus performance tests are unnecessary.

View GitHub Actions results

@sonarqubecloud
Copy link

Quality Gate Failed Quality Gate failed

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

See analysis details on SonarQube Cloud

@juanmigdr juanmigdr added this pull request to the merge queue Jan 30, 2026
Merged via the queue into main with commit 971cfc4 Jan 30, 2026
98 of 99 checks passed
@juanmigdr juanmigdr deleted the feat/nft-deeplink branch January 30, 2026 15:59
@github-actions github-actions bot locked and limited conversation to collaborators Jan 30, 2026
@metamaskbot metamaskbot added the release-7.65.0 Issue or pull request that will be included in release 7.65.0 label Jan 30, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

release-7.65.0 Issue or pull request that will be included in release 7.65.0 size-M skip-sonar-cloud Only used for bypassing sonar cloud when failures are not relevant to the changes. team-assets

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants