metamask-extension icon indicating copy to clipboard operation
metamask-extension copied to clipboard

feat: shield-carousel-in-app-nav

Open tuna1207 opened this issue 1 month ago • 2 comments

Description

Previously, carousel and notification were using deeplink href in contentful data which open new extension tab on user click. This PR check for shield carousel slide and navigate in app instead

Open in GitHub Codespaces

Changelog

CHANGELOG entry: Update in app navigation for shield carousel slide

Related issues

Fixes:

Manual testing steps

  1. Go home page
  2. Click on shield carousel
  3. App should navigate to shield page instead of open new extension tab

Screenshots/Recordings

Before

After

Pre-merge author checklist

Pre-merge reviewer checklist

  • [x] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed).
  • [x] 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] Routes Shield carousel banner clicks to the in-app Shield plan route using a new carousel ID constant.

  • UI
    • Carousel click handling: When SHIELD_CAROUSEL_ID is clicked, navigate to ${SHIELD_PLAN_ROUTE} with UTM params in ui/components/multichain/account-overview/carousel.tsx.
    • Integrates useNavigate for in-app routing.
  • Shared
    • Adds SHIELD_CAROUSEL_ID in shared/modules/shield/constants.ts.

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

tuna1207 avatar Dec 10 '25 03:12 tuna1207

✨ Files requiring CODEOWNER review ✨

🔑 @MetaMask/accounts-engineers (1 files, +11 -0)
  • 📁 ui/
    • 📁 components/
      • 📁 multichain/
        • 📁 account-overview/
          • 📄 carousel.tsx +11 -0

👨‍🔧 @MetaMask/core-extension-ux (1 files, +11 -0)
  • 📁 ui/
    • 📁 components/
      • 📁 multichain/
        • 📁 account-overview/
          • 📄 carousel.tsx +11 -0

metamaskbot avatar Dec 10 '25 03:12 metamaskbot

Builds ready [44a6b84]
UI Startup Metrics (1279 ± 94 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard HomeuiStartup1279107215669413441425
load104287213208610911191
domContentLoaded103486513148510841186
domInteractive261592172278
firstPaint62074133241710471173
backgroundConnect22419927815232256
firstReactRender5031132185689
getState4217126205173
initialActions109114
loadScripts819659103981869959
setupStore1473561727
numNetworkReqs1467820675
BrowserifyPower User HomeuiStartup19111523236215519832229
load1070889134611811611258
domContentLoaded1060880133811711511250
domInteractive3017101212793
firstPaint57893134542210251243
backgroundConnect25319863797236555
firstReactRender47396754957
getState19613969878203276
initialActions103112
loadScripts84667711111169401044
setupStore1575771434
numNetworkReqs71572072269126
WebpackStandard HomeuiStartup805669100179852948
load64756486175712790
domContentLoaded64155785575706782
domInteractive2615115212287
firstPaint286103793202269756
backgroundConnect13693101531
firstReactRender53331902960130
getState281458103547
initialActions105112
loadScripts63855584874704780
setupStore1163151321
numNetworkReqs1468121676
WebpackPower User HomeuiStartup13821076216219215091724
load72158991891804900
domContentLoaded71458391091795893
domInteractive31161332625108
firstPaint27377878216266823
backgroundConnect69765113452552
firstReactRender49416555161
getState1847866257196251
initialActions102011
loadScripts71158190790793884
setupStore1684791537
numNetworkReqs71572182566134
FirefoxBrowserifyStandard HomeuiStartup13071041197618014051672
load104588112619011041210
domContentLoaded104487612619011041210
domInteractive57311542984114
firstPaint------
backgroundConnect60228068962177
firstReactRender37307093760
getState147138181128
initialActions102012
loadScripts101586011928010651161
setupStore12684121033
numNetworkReqs1568520974
BrowserifyPower User HomeuiStartup26751646402057931263575
load1653963265050921332371
domContentLoaded1653963265050921322371
domInteractive17733111428295988
firstPaint------
backgroundConnect171291024192200491
firstReactRender58361171561101
getState1286224139157204
initialActions2040423
loadScripts1593947253249220722336
setupStore3442764443113
numNetworkReqs74561272176123
WebpackStandard HomeuiStartup15271311227515315881785
load1269109915189813291461
domContentLoaded1269109815189813291461
domInteractive66271693689133
firstPaint------
backgroundConnect55221553257134
firstReactRender4232146154377
getState137155151323
initialActions102122
loadScripts1240105114829413061420
setupStore157126191253
numNetworkReqs1568721875
WebpackPower User HomeuiStartup26261726375448129853320
load18011122281343521642383
domContentLoaded18011121281343521632382
domInteractive14731102923892892
firstPaint------
backgroundConnect188211050243194895
firstReactRender5737186186388
getState1226725743148212
initialActions2030327
loadScripts16911099265841120252354
setupStore58694311651306
numNetworkReqs71491302174121
📊 Page Load Benchmark Results

Current Commit: 44a6b84 | Date: 12/10/2025

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.04s (±43ms) 🟡 | historical mean value: 1.04s ⬆️ (historical data)
  • domContentLoaded-> current mean value: 725ms (±36ms) 🟢 | historical mean value: 727ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 79ms (±14ms) 🟢 | historical mean value: 83ms ⬇️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.04s 43ms 1.02s 1.34s 1.05s 1.34s
domContentLoaded 725ms 36ms 707ms 1.00s 736ms 1.00s
firstPaint 79ms 14ms 60ms 204ms 84ms 204ms
firstContentfulPaint 79ms 14ms 60ms 204ms 84ms 204ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 58 Bytes (0%)
  • ui: 781 Bytes (0.01%)
  • common: 98 Bytes (0%)

metamaskbot avatar Dec 10 '25 04:12 metamaskbot