Skip to content

fix: cp-13.25.0 update get/buy cta list item styling to match mobile design / cta segment prop update#41226

Merged
nickewansmith merged 10 commits into
mainfrom
MUSD-556-extension-align-buy-get-musd-cta-design-with-single-convert-mobile-figma
Mar 27, 2026
Merged

fix: cp-13.25.0 update get/buy cta list item styling to match mobile design / cta segment prop update#41226
nickewansmith merged 10 commits into
mainfrom
MUSD-556-extension-align-buy-get-musd-cta-design-with-single-convert-mobile-figma

Conversation

@nickewansmith

@nickewansmith nickewansmith commented Mar 26, 2026

Copy link
Copy Markdown
Contributor

Description

Buy/Get Cta Style Alignment

Adjust the token-list mUSD banner so the bonus subtitle uses primary text
color and the action control is a secondary (outline) button instead of
primary.

Segment event prop updates for Claim CTA location and Convert CTA 2&3 redirectTo

  • MusdConversionCtaClicked: Asset overview and token-list convert CTAs now emit properties via createMusdCtaClickedEventProperties, with redirects_to from resolveMusdConversionCtaRedirectsTo (aligned with buy vs conversion and education vs custom amount). Replaces incorrect chain_id / token_symbol with network_chain_id, network_name, and asset_symbol. Convert link location follows entryPoint (musdConversionFlowEntryPointToCtaEventLocation).
  • MusdClaimBonusButtonClicked: location is token_list_item or asset_overview via resolveMerklClaimBonusAnalyticsLocation from TokenCell (showMusdConvertCta), not claim_bonus_bottom_sheet. DeFi TokenCell usage no longer opts into Merkl/mUSD list props; tests assert that.

Open in GitHub Codespaces

Changelog

CHANGELOG entry: Updated Buy/Get mUSD CTA styling

Related issues

Fixes: https://consensyssoftware.atlassian.net/browse/MUSD-556
Fixes: https://consensyssoftware.atlassian.net/browse/MUSD-558

Manual testing steps

Feature: mUSD home CTA visual design
  As a user viewing the token list mUSD banner
  I want the bonus line and action control to match the intended hierarchy
  So primary copy stays clear and the action reads as secondary to the row

  Background:
    Given the mUSD Buy/Get CTA is visible on the home token list

  Scenario: Bonus subtitle uses primary default text color
    When I view the mUSD CTA
    Then the bonus percentage subtitle is styled with primary default text color
    And the subtitle remains readable against the banner background

  Scenario: Action control uses secondary button styling
    When I view the mUSD CTA
    Then the CTA action is a secondary (outline) button
    And the button label matches the main CTA copy ("Buy mUSD" or "Get mUSD")

  Scenario Outline: Design applies for both CTA variants
    Given the CTA shows "<variant_title>" as the main line
    When I view the mUSD CTA
    Then the bonus subtitle uses primary default text color
    And the action control is a secondary button labeled "<variant_title>"

    Examples:
      | variant_title |
      | Buy mUSD      |
      | Get mUSD      |

Screenshots/Recordings

Before

image

After

image

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 due to cross-component changes to mUSD CTA/claim analytics payloads and TokenCell prop shape, which could affect event tracking and CTA visibility if misconfigured.

Overview
Updates the home token-list mUSD banner copy/styling to match mobile: headline now uses the product name ("MetaMask USD"), subtitle uses the new musdEarnBonusPercentage string, and the action is a secondary button while keeping the row clickable.

Refactors TokenCell mUSD integration from boolean flags to a single musd options prop (with exported presets for token list and asset overview), and uses that to gate the Merkl claim badge and convert link plus their analytics locations/entry points.

Standardizes mUSD analytics across MusdBuyGetCta, MusdAssetCta, MusdConvertLink, and ClaimBonusBadge: events now include redirects_to derived from education/buy intent, correct network/asset fields (network_chain_id, network_name, asset_symbol), and consistent location mapping; adds/updates tests and snapshots accordingly.

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

@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.

@metamaskbotv2

metamaskbotv2 Bot commented Mar 26, 2026

Copy link
Copy Markdown
Contributor

✨ Files requiring CODEOWNER review ✨

💎 @MetaMask/metamask-assets (3 files, +60 -45)
  • 📁 ui/
    • 📁 components/
      • 📁 app/
        • 📁 assets/
          • 📁 token-cell/
            • 📄 token-cell.test.tsx +19 -8
            • 📄 token-cell.tsx +38 -33
          • 📁 token-list/
            • 📄 token-list.tsx +3 -4

👨‍🔧 @MetaMask/metamask-earn (11 files, +481 -109)
  • 📁 ui/
    • 📁 components/
      • 📁 app/
        • 📁 musd/
          • 📄 claim-bonus-badge.test.tsx +34 -1
          • 📄 claim-bonus-badge.tsx +16 -18
          • 📄 index.ts +6 -0
          • 📄 musd-asset-cta.test.tsx +33 -3
          • 📄 musd-asset-cta.tsx +30 -15
          • 📄 musd-buy-get-cta.test.tsx +105 -17
          • 📄 musd-buy-get-cta.tsx +20 -26
          • 📄 musd-convert-link.test.tsx +47 -4
          • 📄 musd-convert-link.tsx +34 -14
          • 📄 musd-events.test.ts +70 -0
          • 📄 musd-events.ts +86 -11

@metamaskbotv2

metamaskbotv2 Bot commented Mar 26, 2026

Copy link
Copy Markdown
Contributor
Builds ready [0e26c15]
⚡ Performance Benchmarks
👆 Interaction Benchmarks
BenchmarkMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P75 (ms)P95 (ms)
Load New Accountload_new_account2832752937285293
total2832752937285293
Confirm Txconfirm_tx6096603161957461776195
total6096603161957461776195
Bridge User Actionsbridge_load_page21418823922233239
bridge_load_asset_picker25624026810264268
bridge_search_token76474478715774787
total1235120512762412451276
🔌 Startup Benchmarks
BenchmarkMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P75 (ms)P95 (ms)
Chrome Browserify Startup Standard HomeuiStartup14721228180810615331670
load12211015152210212631397
domContentLoaded12141005151010112571382
domInteractive3117132242594
firstPaint1436930660198236
backgroundConnect22120326811227244
firstReactRender22145362434
initialActions106113
loadScripts100879912949910491171
setupStore1374151623
numNetworkReqs393180154077
Chrome Browserify Startup Power User HomeuiStartup5308221617205245763388554
load13471166190313513881624
domContentLoaded13281161184612513671572
domInteractive43223034536133
firstPaint234871582202288399
backgroundConnect194732213891196728734565
firstReactRender28198893041
initialActions103112
loadScripts1088940157311611081321
setupStore1674671725
numNetworkReqs1386229341144235
🧭 User Journey Benchmarks
BenchmarkMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P75 (ms)P95 (ms)
Onboarding Import WalletimportWalletToSocialScreen2192182190219219
srpButtonToSrpForm97921044100104
confirmSrpToPwForm22212202222
pwFormToMetricsScreen15151501515
metricsToWalletReadyScreen16151601616
doneButtonToHomeScreen54653556411544564
openAccountMenuToAccountListLoaded30112920316510231003165
total3885381740057238634005
Onboarding New WalletcreateWalletToSocialScreen2192182191219219
srpButtonToPwForm1161081287121128
createPwToRecoveryScreen888088
skipBackupToMetricsScreen38383803838
agreeButtonToOnboardingSuccess16161601616
doneButtonToAssetList51250052711527527
total91189093619936936
Asset DetailsassetClickToPriceChart685381117881
total685381117881
Solana Asset DetailsassetClickToPriceChart713793218593
total713793218593
Import Srp HomeloginToHomeScreen23392214254912023792549
openAccountMenuAfterLogin82749068690
homeAfterImportWithNewWallet2338232523461023462346
total4707460647907847754790
Send TransactionsopenSendPageFromHome60111063375106
selectTokenToSendFormLoaded34293633636
reviewTransactionToConfirmationPage1166905159524512661595
total12721016166622713701666
SwapopenSwapPageFromHome874912230120122
fetchAndDisplaySwapQuotes268726792697726922697
total2774272928143227992814
🌐 Dapp Page Load Benchmarks

Current Commit: 0e26c15 | Date: 3/26/2026

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.07s (±59ms) 🟡 | historical mean value: 1.03s ⬆️ (historical data)
  • domContentLoaded-> current mean value: 758ms (±70ms) 🟢 | historical mean value: 729ms ⬆️ (historical data)
  • firstContentfulPaint-> current mean value: 97ms (±137ms) 🟢 | historical mean value: 87ms ⬆️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.07s 59ms 1.05s 1.55s 1.08s 1.55s
domContentLoaded 758ms 70ms 734ms 1.37s 764ms 1.37s
firstPaint 97ms 137ms 68ms 1.46s 92ms 1.46s
firstContentfulPaint 97ms 137ms 68ms 1.46s 92ms 1.46s
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs
  • background: 58 Bytes (0%)
  • ui: 6 Bytes (0%)
  • common: 20 Bytes (0%)

@github-actions github-actions Bot added size-L and removed size-S labels Mar 26, 2026
@nickewansmith nickewansmith marked this pull request as ready for review March 26, 2026 06:16
@nickewansmith nickewansmith requested a review from a team as a code owner March 26, 2026 06:16
@nickewansmith nickewansmith changed the title fix: update get/buy cta list item styling to match mobile figma design fix: update get/buy cta list item styling to match mobile design / cta segment prop update Mar 26, 2026
@metamaskbotv2

metamaskbotv2 Bot commented Mar 26, 2026

Copy link
Copy Markdown
Contributor
Builds ready [52cc586]
⚡ Performance Benchmarks
👆 Interaction Benchmarks
BenchmarkMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P75 (ms)P95 (ms)
Load New Accountload_new_account2852732969294296
total2852732969294296
Confirm Txconfirm_tx606860626071460706071
total606860626071460706071
Bridge User Actionsbridge_load_page2102012186212218
bridge_load_asset_picker25824627210261272
bridge_search_token75973578016773780
total125312511255212551255
🔌 Startup Benchmarks
BenchmarkMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P75 (ms)P95 (ms)
Chrome Browserify Startup Standard HomeuiStartup14711251176310315281664
load1217102214829912761431
domContentLoaded1211101714779812701422
domInteractive3017125222585
firstPaint160711265133209296
backgroundConnect22220327512227242
firstReactRender22135662234
initialActions106124
loadScripts100380812709710641202
setupStore1473461625
numNetworkReqs393187163778
Chrome Browserify Startup Power User HomeuiStartup5510214014631247861488883
load13311113266319913591637
domContentLoaded13091100265319613331621
domInteractive44212764633121
firstPaint222901219149279420
backgroundConnect192029911684226430195309
firstReactRender27185472940
initialActions104113
loadScripts1082885244218811031330
setupStore1665781929
numNetworkReqs25812440568309344
🧭 User Journey Benchmarks
BenchmarkMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P75 (ms)P95 (ms)
Onboarding Import WalletimportWalletToSocialScreen2182172191219219
srpButtonToSrpForm97969709797
confirmSrpToPwForm24232512425
pwFormToMetricsScreen17161701717
metricsToWalletReadyScreen17171701717
doneButtonToHomeScreen59455162828607628
openAccountMenuToAccountListLoaded2941290629782929782978
total3959389940355139824035
Onboarding New WalletcreateWalletToSocialScreen2192192190219219
srpButtonToPwForm11310513110119131
createPwToRecoveryScreen889099
skipBackupToMetricsScreen40384424244
agreeButtonToOnboardingSuccess15151601616
doneButtonToAssetList51047255032544550
total90886297240935972
Asset DetailsassetClickToPriceChart71541032085103
total71541032085103
Solana Asset DetailsassetClickToPriceChart553875145875
total553875145875
Import Srp HomeloginToHomeScreen2456241124923024742492
openAccountMenuAfterLogin663398248898
homeAfterImportWithNewWallet11842702614101922262614
total36662832516699945695166
Send TransactionsopenSendPageFromHome25232822628
selectTokenToSendFormLoaded492881237381
reviewTransactionToConfirmationPage1137911138517312091385
total12181019143715312971437
SwapopenSwapPageFromHome1101011207113120
fetchAndDisplaySwapQuotes268826852695426892695
total2796275428332628142833
🌐 Dapp Page Load Benchmarks

Current Commit: 52cc586 | Date: 3/26/2026

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.04s (±43ms) 🟡 | historical mean value: 1.03s ⬆️ (historical data)
  • domContentLoaded-> current mean value: 731ms (±61ms) 🟢 | historical mean value: 727ms ⬆️ (historical data)
  • firstContentfulPaint-> current mean value: 91ms (±126ms) 🟢 | historical mean value: 86ms ⬆️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.04s 43ms 1.02s 1.37s 1.08s 1.37s
domContentLoaded 731ms 61ms 710ms 1.28s 766ms 1.28s
firstPaint 91ms 126ms 68ms 1.35s 88ms 1.35s
firstContentfulPaint 91ms 126ms 68ms 1.35s 88ms 1.35s
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs
  • background: 58 Bytes (0%)
  • ui: 1.19 KiB (0.01%)
  • common: -675 Bytes (-0.01%)

@Jwhiles Jwhiles 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.

Generally looks good - but I think there's a bit of dead code and confusing naming being introduced. Would be good to clean up a bit.

Comment thread ui/components/app/musd/musd-events.ts Outdated
Comment thread ui/components/app/musd/musd-convert-link.tsx
Comment thread ui/components/app/musd/musd-buy-get-cta.tsx Outdated

@cursor cursor Bot left a comment

Copy link
Copy Markdown

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.

Fix All in Cursor

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

Comment thread ui/components/app/assets/token-list/token-list.tsx Outdated
Jwhiles
Jwhiles previously approved these changes Mar 26, 2026
@metamaskbotv2

metamaskbotv2 Bot commented Mar 26, 2026

Copy link
Copy Markdown
Contributor
Builds ready [e1e1b5f]
⚡ Performance Benchmarks
👆 Interaction Benchmarks
BenchmarkMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P75 (ms)P95 (ms)
Load New Accountload_new_account29127030916302309
total29127030916302309
Confirm Txconfirm_tx609360916094160946094
total609360916094160946094
Bridge User Actionsbridge_load_page22119623515234235
bridge_load_asset_picker2702612755273275
bridge_search_token74971976619765766
total1244122212721712491272
🔌 Startup Benchmarks
BenchmarkMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P75 (ms)P95 (ms)
Chrome Browserify Startup Standard HomeuiStartup14231161174511214751648
load117395813949512281351
domContentLoaded116695413889412221345
domInteractive2816106192485
firstPaint1666439569204269
backgroundConnect20819027213212227
firstReactRender2213213202233
initialActions207124
loadScripts97477011849210271145
setupStore1374661524
numNetworkReqs393190173185
Chrome Browserify Startup Power User HomeuiStartup5120245413733222458637785
load13921183187314614391707
domContentLoaded13711175182414014141686
domInteractive51223355838170
firstPaint2751041307146334425
backgroundConnect17742999976185324234669
firstReactRender29185973047
initialActions108114
loadScripts1149967155413111801457
setupStore19773112043
numNetworkReqs1408426239149237
🧭 User Journey Benchmarks
BenchmarkMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P75 (ms)P95 (ms)
Onboarding Import WalletimportWalletToSocialScreen2182182180218218
srpButtonToSrpForm95939719697
confirmSrpToPwForm22222202222
pwFormToMetricsScreen15151501515
metricsToWalletReadyScreen15151601516
doneButtonToHomeScreen618514766118758766
openAccountMenuToAccountListLoaded2924291029331029332933
total39193816406311540554063
Onboarding New WalletcreateWalletToSocialScreen2202202221222222
srpButtonToPwForm1141081226121122
createPwToRecoveryScreen989099
skipBackupToMetricsScreen38373903839
agreeButtonToOnboardingSuccess16161601616
doneButtonToAssetList49547852217496522
total89586893526900935
Asset DetailsassetClickToPriceChart84581081886108
total84581081886108
Solana Asset DetailsassetClickToPriceChart45356195161
total45356195161
Import Srp HomeloginToHomeScreen2378234024283223762428
openAccountMenuAfterLogin644883126383
homeAfterImportWithNewWallet361262499100460499
total28232671295011529162950
Send TransactionsopenSendPageFromHome32313413434
selectTokenToSendFormLoaded453559105059
reviewTransactionToConfirmationPage9638971061619591061
total103796611426410231142
SwapopenSwapPageFromHome1508321648173216
fetchAndDisplaySwapQuotes268926832694426922694
total2839277129105128642910
🌐 Dapp Page Load Benchmarks

Current Commit: e1e1b5f | Date: 3/26/2026

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.04s (±40ms) 🟡 | historical mean value: 1.04s ⬆️ (historical data)
  • domContentLoaded-> current mean value: 736ms (±37ms) 🟢 | historical mean value: 732ms ⬆️ (historical data)
  • firstContentfulPaint-> current mean value: 84ms (±11ms) 🟢 | historical mean value: 85ms ⬇️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.04s 40ms 1.01s 1.33s 1.06s 1.33s
domContentLoaded 736ms 37ms 706ms 1.01s 757ms 1.01s
firstPaint 84ms 11ms 68ms 168ms 96ms 168ms
firstContentfulPaint 84ms 11ms 68ms 168ms 96ms 168ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 58 Bytes (0%)
  • ui: 1.67 KiB (0.02%)
  • common: 152 Bytes (0%)

@metamaskbotv2

metamaskbotv2 Bot commented Mar 26, 2026

Copy link
Copy Markdown
Contributor
Builds ready [4647946]
⚡ Performance Benchmarks
👆 Interaction Benchmarks
BenchmarkMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P75 (ms)P95 (ms)
Load New Accountload_new_account30728333219320332
total30728333219320332
Confirm Txconfirm_tx6097607661281960946128
total6097607661281960946128
Bridge User Actionsbridge_load_page24122726113244261
bridge_load_asset_picker27525030319274303
bridge_search_token77475979312773793
total1272123713032312741303
🔌 Startup Benchmarks
BenchmarkMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P75 (ms)P95 (ms)
Chrome Browserify Startup Standard HomeuiStartup14751229196012515331688
load1229986166312012901427
domContentLoaded1222983161411612841399
domInteractive2916114212583
firstPaint166691383145207300
backgroundConnect22620033419231256
firstReactRender21144862231
initialActions107124
loadScripts1011786140110810631185
setupStore1463051724
numNetworkReqs393183163781
Chrome Browserify Startup Power User HomeuiStartup5428201315863251460858986
load13681137224815514031666
domContentLoaded13461131222215113821652
domInteractive41222443933142
firstPaint238921346174285389
backgroundConnect217035814035244730325706
firstReactRender28175562939
initialActions105113
loadScripts1111921196814311321409
setupStore1665481734
numNetworkReqs21710537459269330
🧭 User Journey Benchmarks
BenchmarkMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P75 (ms)P95 (ms)
Onboarding Import WalletimportWalletToSocialScreen2242192273226227
srpButtonToSrpForm1091071122109112
confirmSrpToPwForm25242612526
pwFormToMetricsScreen18172011920
metricsToWalletReadyScreen19172221822
doneButtonToHomeScreen58953968255574682
openAccountMenuToAccountListLoaded3042292231619431453161
total4134408442024541444202
Onboarding New WalletcreateWalletToSocialScreen2192172201220220
srpButtonToPwForm1101091111110111
createPwToRecoveryScreen889099
skipBackupToMetricsScreen40384324143
agreeButtonToOnboardingSuccess16151711617
doneButtonToAssetList626487911172740911
total1026881131717811521317
Asset DetailsassetClickToPriceChart76638598285
total76638598285
Solana Asset DetailsassetClickToPriceChart735498168398
total735498168398
Import Srp HomeloginToHomeScreen23942223274119924952741
openAccountMenuAfterLogin56506355863
homeAfterImportWithNewWallet1499324230893923032308
total39542700472885646164728
Send TransactionsopenSendPageFromHome412666165166
selectTokenToSendFormLoaded32224063440
reviewTransactionToConfirmationPage1100905139220513041392
total1173992144119913891441
SwapopenSwapPageFromHome13812515613156156
fetchAndDisplaySwapQuotes2702268627231327112723
total2841276228964628672896
🌐 Dapp Page Load Benchmarks

Current Commit: 4647946 | Date: 3/26/2026

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.03s (±40ms) 🟡 | historical mean value: 1.04s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 723ms (±38ms) 🟢 | historical mean value: 732ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 84ms (±11ms) 🟢 | historical mean value: 85ms ⬇️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.03s 40ms 1.00s 1.33s 1.06s 1.33s
domContentLoaded 723ms 38ms 699ms 1.01s 747ms 1.01s
firstPaint 84ms 11ms 64ms 172ms 92ms 172ms
firstContentfulPaint 84ms 11ms 64ms 172ms 92ms 172ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 58 Bytes (0%)
  • ui: 1.55 KiB (0.02%)
  • common: 307 Bytes (0%)

@nickewansmith nickewansmith changed the title fix: update get/buy cta list item styling to match mobile design / cta segment prop update fix: cp-13.25.0 update get/buy cta list item styling to match mobile design / cta segment prop update Mar 26, 2026
@metamaskbotv2

metamaskbotv2 Bot commented Mar 26, 2026

Copy link
Copy Markdown
Contributor
Builds ready [9a38179]
⚡ Performance Benchmarks
👆 Interaction Benchmarks
BenchmarkMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P75 (ms)P95 (ms)
Load New Accountload_new_account29627132720304327
total29627132720304327
Confirm Txconfirm_tx6077604661152560926115
total6077604661152560926115
Bridge User Actionsbridge_load_page2051962169211216
bridge_load_asset_picker25922531632272316
bridge_search_token76173679219766792
total1239120012622412601262
🔌 Startup Benchmarks
BenchmarkMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P75 (ms)P95 (ms)
Chrome Browserify Startup Standard HomeuiStartup14811263181510815041677
load1216103514519312511404
domContentLoaded1207102814108912461374
domInteractive3017111192782
firstPaint224711416202255436
backgroundConnect20218429916203232
firstReactRender2313225212231
initialActions107113
loadScripts102284812308810611174
setupStore1364161623
numNetworkReqs393185153878
Chrome Browserify Startup Power User HomeuiStartup54672081161483403581915769
load13311121264918614021526
domContentLoaded13061115258917213671491
domInteractive3519383383367
firstPaint245801284201280381
backgroundConnect2486299134583256310112150
firstReactRender29196183242
initialActions105123
loadScripts1082917226716211301246
setupStore1664061827
numNetworkReqs2247437959262322
🧭 User Journey Benchmarks
BenchmarkMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P75 (ms)P95 (ms)
Onboarding Import WalletimportWalletToSocialScreen2182172201219220
srpButtonToSrpForm9690105699105
confirmSrpToPwForm21212102121
pwFormToMetricsScreen15141501515
metricsToWalletReadyScreen15151501515
doneButtonToHomeScreen53050657024530570
openAccountMenuToAccountListLoaded310130983103231033103
total3977397039931039733993
Onboarding New WalletcreateWalletToSocialScreen2212202242222224
srpButtonToPwForm1141101204115120
createPwToRecoveryScreen999099
skipBackupToMetricsScreen40384114141
agreeButtonToOnboardingSuccess16161701717
doneButtonToAssetList571481762114644762
total971875116911910461169
Asset DetailsassetClickToPriceChart714987158187
total714987158187
Solana Asset DetailsassetClickToPriceChart9281101796101
total9281101796101
Import Srp HomeloginToHomeScreen2384236524061724062406
openAccountMenuAfterLogin564076146876
homeAfterImportWithNewWallet23592224252311424562523
total4746467148627947744862
Send TransactionsopenSendPageFromHome36274783947
selectTokenToSendFormLoaded32234063640
reviewTransactionToConfirmationPage9748771053639871053
total1106107411292411291129
SwapopenSwapPageFromHome895116643104166
fetchAndDisplaySwapQuotes269226882696326942696
total2797274528544428382854
🌐 Dapp Page Load Benchmarks

Current Commit: 9a38179 | Date: 3/26/2026

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.04s (±53ms) 🟡 | historical mean value: 1.03s ⬆️ (historical data)
  • domContentLoaded-> current mean value: 733ms (±50ms) 🟢 | historical mean value: 730ms ⬆️ (historical data)
  • firstContentfulPaint-> current mean value: 85ms (±10ms) 🟢 | historical mean value: 84ms ⬆️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.04s 53ms 1.01s 1.33s 1.11s 1.33s
domContentLoaded 733ms 50ms 707ms 1.01s 790ms 1.01s
firstPaint 85ms 10ms 64ms 160ms 104ms 160ms
firstContentfulPaint 85ms 10ms 64ms 160ms 104ms 160ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 58 Bytes (0%)
  • ui: 1.55 KiB (0.02%)
  • common: 307 Bytes (0%)

@metamaskbotv2

metamaskbotv2 Bot commented Mar 27, 2026

Copy link
Copy Markdown
Contributor
Builds ready [4548825]
⚡ Performance Benchmarks
👆 Interaction Benchmarks
BenchmarkMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P75 (ms)P95 (ms)
Load New Accountload_new_account2782732865280286
total2782732865280286
Confirm Txconfirm_tx6037600960541860516054
total6037600960541860516054
Bridge User Actionsbridge_load_page2452382515247251
bridge_load_asset_picker24121927219249272
bridge_search_token75273278118762781
total1238121912501212471250
🔌 Startup Benchmarks
BenchmarkMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P75 (ms)P95 (ms)
Chrome Browserify Startup Standard HomeuiStartup14751242198811614991691
load12211013169110412481394
domContentLoaded12151010168610212431384
domInteractive2917102202588
firstPaint1457041573201257
backgroundConnect22220027814228250
firstReactRender22136082238
initialActions107113
loadScripts1009817147510010331182
setupStore1362951621
numNetworkReqs393183163879
Chrome Browserify Startup Power User HomeuiStartup4965219613670233560358470
load14161250248616014501706
domContentLoaded13881237246415614191626
domInteractive3923198284065
firstPaint21192542104287394
backgroundConnect188731510975215827635717
firstReactRender27195162938
initialActions104112
loadScripts11351001152610311721317
setupStore1786692035
numNetworkReqs2278935269293327
🧭 User Journey Benchmarks
BenchmarkMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P75 (ms)P95 (ms)
Onboarding Import WalletimportWalletToSocialScreen2202172232221223
srpButtonToSrpForm94929619496
confirmSrpToPwForm23212622426
pwFormToMetricsScreen15151501515
metricsToWalletReadyScreen16151711517
doneButtonToHomeScreen55353557416562574
openAccountMenuToAccountListLoaded3007293831107930983110
total39693837406410040434064
Onboarding New WalletcreateWalletToSocialScreen2172172180218218
srpButtonToPwForm1091041134112113
createPwToRecoveryScreen888088
skipBackupToMetricsScreen38383903839
agreeButtonToOnboardingSuccess15141711617
doneButtonToAssetList59947370699683706
total99087410889510721088
Asset DetailsassetClickToPriceChart695687158787
total695687158787
Solana Asset DetailsassetClickToPriceChart70381062690106
total70381062690106
Import Srp HomeloginToHomeScreen2337225524798823972479
openAccountMenuAfterLogin775010724103107
homeAfterImportWithNewWallet39929650688466506
total2827274329166628592916
Send TransactionsopenSendPageFromHome401661175661
selectTokenToSendFormLoaded482877227377
reviewTransactionToConfirmationPage91588595727938957
total100395410714710451071
SwapopenSwapPageFromHome853811028109110
fetchAndDisplaySwapQuotes269426862708826962708
total2779272528173328062817
🌐 Dapp Page Load Benchmarks

Current Commit: 4548825 | Date: 3/27/2026

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.04s (±48ms) 🟡 | historical mean value: 1.03s ⬆️ (historical data)
  • domContentLoaded-> current mean value: 731ms (±61ms) 🟢 | historical mean value: 730ms ⬆️ (historical data)
  • firstContentfulPaint-> current mean value: 92ms (±127ms) 🟢 | historical mean value: 84ms ⬆️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.04s 48ms 1.01s 1.44s 1.07s 1.44s
domContentLoaded 731ms 61ms 701ms 1.29s 755ms 1.29s
firstPaint 92ms 127ms 64ms 1.36s 88ms 1.36s
firstContentfulPaint 92ms 127ms 64ms 1.36s 88ms 1.36s
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 58 Bytes (0%)
  • ui: 1.55 KiB (0.02%)
  • common: 307 Bytes (0%)

@sonarqubecloud

Copy link
Copy Markdown

@metamaskbotv2

metamaskbotv2 Bot commented Mar 27, 2026

Copy link
Copy Markdown
Contributor
Builds ready [9aa0d85]
⚡ Performance Benchmarks
👆 Interaction Benchmarks
BenchmarkMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P75 (ms)P95 (ms)
Load New Accountload_new_account394274512104482512
total394274512104482512
Confirm Txconfirm_tx612061086132861226132
total612061086132861226132
Bridge User Actionsbridge_load_page24821428126275281
bridge_load_asset_picker26822332135289321
bridge_search_token76473778418784784
total128112801283112831283
🔌 Startup Benchmarks
BenchmarkMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P75 (ms)P95 (ms)
Chrome Browserify Startup Standard HomeuiStartup15271227198411716031691
load1263981158111513291438
domContentLoaded1253978157411313231424
domInteractive3217153262893
firstPaint203721229141264404
backgroundConnect21218527816223240
firstReactRender22147082337
initialActions105123
loadScripts1058801138811011241224
setupStore1464371725
numNetworkReqs383185163181
Chrome Browserify Startup Power User HomeuiStartup52552080162232819596311151
load13881134284424414161687
domContentLoaded13611124279823613741655
domInteractive46202504238152
firstPaint3229416722933301247
backgroundConnect228829212915256929527060
firstReactRender28196173242
initialActions107114
loadScripts1130921242817911511408
setupStore17674112030
numNetworkReqs2518144787321356
🧭 User Journey Benchmarks
BenchmarkMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P75 (ms)P95 (ms)
Onboarding Import WalletimportWalletToSocialScreen2192172212220221
srpButtonToSrpForm97959929899
confirmSrpToPwForm23222402324
pwFormToMetricsScreen16161601616
metricsToWalletReadyScreen17161811718
doneButtonToHomeScreen56154360122571601
openAccountMenuToAccountListLoaded293829352941229412941
total3877384639122338783912
Onboarding New WalletcreateWalletToSocialScreen2212172263223226
srpButtonToPwForm1171121245123124
createPwToRecoveryScreen989099
skipBackupToMetricsScreen40404114141
agreeButtonToOnboardingSuccess17161701717
doneButtonToAssetList52150454615521546
total92189994317932943
Asset DetailsassetClickToPriceChart76611051771105
total76611051771105
Solana Asset DetailsassetClickToPriceChart66607146771
total66607146771
Import Srp HomeloginToHomeScreen2276218424208823172420
openAccountMenuAfterLogin1045516540136165
homeAfterImportWithNewWallet1145288226591322542265
total35252741452281145044522
Send TransactionsopenSendPageFromHome452371185971
selectTokenToSendFormLoaded311845103645
reviewTransactionToConfirmationPage1141918132817113081328
total12171009142216813501422
SwapopenSwapPageFromHome1093416149157161
fetchAndDisplaySwapQuotes268226812684126832684
total2794272828414628412841
🌐 Dapp Page Load Benchmarks

Current Commit: 9aa0d85 | Date: 3/27/2026

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.03s (±38ms) 🟡 | historical mean value: 1.03s ⬆️ (historical data)
  • domContentLoaded-> current mean value: 724ms (±35ms) 🟢 | historical mean value: 723ms ⬆️ (historical data)
  • firstContentfulPaint-> current mean value: 85ms (±10ms) 🟢 | historical mean value: 82ms ⬆️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.03s 38ms 1.00s 1.31s 1.07s 1.31s
domContentLoaded 724ms 35ms 701ms 981ms 748ms 981ms
firstPaint 85ms 10ms 68ms 164ms 100ms 164ms
firstContentfulPaint 85ms 10ms 68ms 164ms 100ms 164ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 58 Bytes (0%)
  • ui: 1.55 KiB (0.02%)
  • common: 307 Bytes (0%)

@nickewansmith nickewansmith added this pull request to the merge queue Mar 27, 2026
Merged via the queue into main with commit 33f54c5 Mar 27, 2026
208 checks passed
@nickewansmith nickewansmith deleted the MUSD-556-extension-align-buy-get-musd-cta-design-with-single-convert-mobile-figma branch March 27, 2026 13:40
@github-actions github-actions Bot locked and limited conversation to collaborators Mar 27, 2026
@metamaskbot metamaskbot added the release-13.26.0 Issue or pull request that will be included in release 13.26.0 label Mar 27, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

release-13.26.0 Issue or pull request that will be included in release 13.26.0 size-L team-earn

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants