Skip to content

chore: sync remaining copy and tooltips with mobile figma#41233

Merged
nickewansmith merged 6 commits into
mainfrom
MUSD-465-extension-review-and-update-tooltips-and-toast-message-across-single-convert-experience-1
Mar 26, 2026
Merged

chore: sync remaining copy and tooltips with mobile figma#41233
nickewansmith merged 6 commits into
mainfrom
MUSD-465-extension-review-and-update-tooltips-and-toast-message-across-single-convert-experience-1

Conversation

@nickewansmith

@nickewansmith nickewansmith commented Mar 26, 2026

Copy link
Copy Markdown
Contributor

Description

Polish mUSD conversion UX: education headline/body use pre-line for intended line breaks; confirmation header info popover adds Relay attribution, aria-label, and a wider popover (maxWidth 250); claimable bonus row tooltip uses new copy placeholders and aria-label. Home Get/Buy mUSD CTA reuses musdBoostTitle / musdBoostDescription and matches asset CTA styling tweaks. Removed unused musdEarnBonusPercentage from locales (verify-locales). en_GB kept identical to en.

Open in GitHub Codespaces

Changelog

CHANGELOG entry: Updated mUSD conversion education and confirmation copy: clearer bonus explanation layout, Powered by Relay on the header info popover, wider info popover (maxWidth 250px), accessible names on bonus tooltips, aligned home mUSD CTA copy/typography with the asset overview CTA, and removed unused musdEarnBonusPercentage locale entries after reusing boost strings.

Related issues

Fixes: https://consensyssoftware.atlassian.net/browse/MUSD-465

Manual testing steps

Feature: mUSD conversion copy and tooltips

Scenario: Education headline respects line breaks
Given the mUSD conversion education screen is shown
Then the main heading should show the bonus headline with a line break between "ON" and "STABLECOINS"

Scenario: Header bonus popover shows attribution and is accessible
Given an mUSD conversion confirmation is shown
When the user focuses or uses the header bonus info control
Then the control should have an accessible name for bonus details
When the user opens the bonus info popover
Then the popover should show "Powered by Relay" and use a wider max width

Scenario: Claimable bonus tooltip is accessible
Given the claimable bonus row is visible on the conversion confirmation
Then the info control should have an accessible name for claimable bonus details

Scenario: Home mUSD CTA matches boost messaging
Given the home mUSD Get/Buy CTA is shown
Then the primary and secondary lines should show the boost title and description with the configured APY

Screenshots/Recordings

Before

After

image Screenshot 2026-03-26 at 4 26 54 AM Screenshot 2026-03-26 at 4 27 07 AM Screenshot 2026-03-26 at 4 27 47 AM

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: mostly copy/layout tweaks, small style adjustments, and added aria-labels for tooltip triggers; no transaction or security logic changes.

Overview
Polishes the mUSD conversion UX by updating localized strings and restructuring bonus/claim tooltips: the bonus explanation copy is reflowed with intended line breaks, Powered by Relay is added as separate attribution, and claimable-bonus tooltip placeholders are simplified (dropping the APY interpolation) while removing the unused musdEarnBonusPercentage key.

Improves accessibility and UI consistency by adding context-specific ariaLabel support to InfoPopoverTooltip and wiring new accessible-name strings for the conversion and claimable-bonus info controls, widening the tooltip popover max width (240→250), and aligning home/asset mUSD CTA typography and icon styling. Tests are updated accordingly.

Written by Cursor Bugbot for commit ea74348. 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/confirmations (6 files, +96 -36)
  • 📁 ui/
    • 📁 pages/
      • 📁 confirmations/
        • 📁 components/
          • 📁 confirm/
            • 📁 header/
              • 📄 simple-confirmation-header.test.tsx +24 -1
          • 📁 info/
            • 📁 musd-conversion-info/
              • 📄 musd-conversion-header-content.tsx +53 -32
          • 📁 info-popover-tooltip/
            • 📄 info-popover-tooltip.test.tsx +1 -0
            • 📄 info-popover-tooltip.tsx +6 -2
          • 📁 rows/
            • 📁 claimable-bonus-row/
              • 📄 claimable-bonus-row.test.tsx +11 -0
              • 📄 claimable-bonus-row.tsx +1 -1

👨‍🔧 @MetaMask/metamask-earn (6 files, +42 -21)
  • 📁 ui/
    • 📁 components/
      • 📁 app/
        • 📁 musd/
          • 📄 musd-asset-cta.scss +3 -3
          • 📄 musd-asset-cta.tsx +11 -3
          • 📄 musd-buy-get-cta.test.tsx +13 -3
          • 📄 musd-buy-get-cta.tsx +8 -11
    • 📁 pages/
      • 📁 musd/
        • 📁 screens/
          • 📄 education.test.tsx +5 -1
          • 📄 education.tsx +2 -0

@nickewansmith nickewansmith marked this pull request as ready for review March 26, 2026 09:23
@nickewansmith nickewansmith requested a review from a team as a code owner March 26, 2026 09:23
Comment thread app/_locales/de/messages.json
matthewwalsh0
matthewwalsh0 previously approved these changes Mar 26, 2026
…s-and-toast-message-across-single-convert-experience-1
@metamaskbotv2

metamaskbotv2 Bot commented Mar 26, 2026

Copy link
Copy Markdown
Contributor
Builds ready [eea65e8]
⚡ Performance Benchmarks
👆 Interaction Benchmarks
BenchmarkMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P75 (ms)P95 (ms)
Load New Accountload_new_account30529632813299328
total30529632813299328
Confirm Txconfirm_tx613061156142961376142
total613061156142961376142
Bridge User Actionsbridge_load_page27525629413275294
bridge_load_asset_picker26623329121285291
bridge_search_token76974779617781796
total1298123613454413421345
🔌 Startup Benchmarks
BenchmarkMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P75 (ms)P95 (ms)
Chrome Browserify Startup Standard HomeuiStartup1467124418009715031649
load1213102514459112411396
domContentLoaded1206102114398812361369
domInteractive2917100202490
firstPaint1477039075202288
backgroundConnect21920227512222240
firstReactRender22145662337
initialActions107123
loadScripts100181412358810341165
setupStore1473551722
numNetworkReqs393183163781
Chrome Browserify Startup Power User HomeuiStartup53042141181402875634910183
load13241149177413513831587
domContentLoaded13071145175712613491564
domInteractive43213284338143
firstPaint213911209140276361
backgroundConnect209331914323244825256617
firstReactRender27194752937
initialActions105113
loadScripts1080935149712011181326
setupStore1564161827
numNetworkReqs1565232952174262
🧭 User Journey Benchmarks
BenchmarkMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P75 (ms)P95 (ms)
Onboarding Import WalletimportWalletToSocialScreen2192172211220221
srpButtonToSrpForm101931076106107
confirmSrpToPwForm25222722727
pwFormToMetricsScreen15151501515
metricsToWalletReadyScreen15151601616
doneButtonToHomeScreen61851975384673753
openAccountMenuToAccountListLoaded292529212927329272927
total3919383240357539784035
Onboarding New WalletcreateWalletToSocialScreen2212192252222225
srpButtonToPwForm1251171305128130
createPwToRecoveryScreen999099
skipBackupToMetricsScreen41414214242
agreeButtonToOnboardingSuccess17171701717
doneButtonToAssetList51049852312520523
total92190494013923940
Asset DetailsassetClickToPriceChart9486109992109
total9486109992109
Solana Asset DetailsassetClickToPriceChart503162136162
total503162136162
Import Srp HomeloginToHomeScreen2318220123887423762388
openAccountMenuAfterLogin594273106373
homeAfterImportWithNewWallet1536299237994422772379
total404527295303102546455303
Send TransactionsopenSendPageFromHome471781267481
selectTokenToSendFormLoaded31234473444
reviewTransactionToConfirmationPage1077876138218711731382
total1156969150719812131507
SwapopenSwapPageFromHome1196017845146178
fetchAndDisplaySwapQuotes269126862695326922695
total2811274628704828472870
🌐 Dapp Page Load Benchmarks

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

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.07s (±41ms) 🟡 | historical mean value: 1.04s ⬆️ (historical data)
  • domContentLoaded-> current mean value: 752ms (±39ms) 🟢 | historical mean value: 731ms ⬆️ (historical data)
  • firstContentfulPaint-> current mean value: 84ms (±10ms) 🟢 | historical mean value: 88ms ⬇️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.07s 41ms 1.04s 1.37s 1.09s 1.37s
domContentLoaded 752ms 39ms 728ms 1.05s 773ms 1.05s
firstPaint 84ms 10ms 72ms 172ms 92ms 172ms
firstContentfulPaint 84ms 10ms 72ms 172ms 92ms 172ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 6.84 MiB (100%)
  • ui: 8.35 MiB (100%)
  • common: 11.34 MiB (100%)

matthewwalsh0
matthewwalsh0 previously approved these changes Mar 26, 2026
…-message-across-single-convert-experience-1' of https://github.com/MetaMask/metamask-extension into MUSD-465-extension-review-and-update-tooltips-and-toast-message-across-single-convert-experience-1

@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/musd/musd-buy-get-cta.tsx
@sonarqubecloud

Copy link
Copy Markdown

@nickewansmith nickewansmith added this pull request to the merge queue Mar 26, 2026
@metamaskbotv2

metamaskbotv2 Bot commented Mar 26, 2026

Copy link
Copy Markdown
Contributor
Builds ready [ea74348]
⚡ Performance Benchmarks
👆 Interaction Benchmarks
BenchmarkMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P75 (ms)P95 (ms)
Load New Accountload_new_account29527432017298320
total29527432017298320
Confirm Txconfirm_tx6037602260631560426063
total6037602260631560426063
Bridge User Actionsbridge_load_page22217727736247277
bridge_load_asset_picker21116825729225257
bridge_search_token71969675321733753
total1151104812357312231235
🔌 Startup Benchmarks
BenchmarkMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P75 (ms)P95 (ms)
Chrome Browserify Startup Standard HomeuiStartup15051244197911315471706
load12411017168910812911420
domContentLoaded12321014165310512861398
domInteractive3016110202791
firstPaint213771297206246401
backgroundConnect21118925014220238
firstReactRender21144862235
initialActions109124
loadScripts1037832145710310841204
setupStore1364061624
numNetworkReqs393185163479
Chrome Browserify Startup Power User HomeuiStartup52072089163832701611311806
load13891216188713714221710
domContentLoaded13711211185513013961665
domInteractive46194355835128
firstPaint276911871216320443
backgroundConnect188331112891236820678210
firstReactRender27204152938
initialActions106113
loadScripts1132985158312111461399
setupStore1694871931
numNetworkReqs1355934144141234
🧭 User Journey Benchmarks
BenchmarkMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P75 (ms)P95 (ms)
Onboarding Import WalletimportWalletToSocialScreen2202202200220220
srpButtonToSrpForm9692103498103
confirmSrpToPwForm22222202222
pwFormToMetricsScreen15151601516
metricsToWalletReadyScreen17151911919
doneButtonToHomeScreen53151454212541542
openAccountMenuToAccountListLoaded2997291131219330993121
total39153794411512640124115
Onboarding New WalletcreateWalletToSocialScreen2172162191218219
srpButtonToPwForm1191151213121121
createPwToRecoveryScreen888088
skipBackupToMetricsScreen39374224042
agreeButtonToOnboardingSuccess15151601616
doneButtonToAssetList58349569584672695
total99289010948010721094
Asset DetailsassetClickToPriceChart72558097980
total72558097980
Solana Asset DetailsassetClickToPriceChart69451002187100
total69451002187100
Import Srp HomeloginToHomeScreen2291222423675623212367
openAccountMenuAfterLogin776192108392
homeAfterImportWithNewWallet2258220722963722962296
total4672458247657447204765
Send TransactionsopenSendPageFromHome423060135460
selectTokenToSendFormLoaded33283733337
reviewTransactionToConfirmationPage1109109711211011211121
total1204117712272012271227
SwapopenSwapPageFromHome13010216924137169
fetchAndDisplaySwapQuotes269626912702426972702
total2825279328662528392866
🌐 Dapp Page Load Benchmarks

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

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.09s (±42ms) 🟡 | historical mean value: 1.04s ⬆️ (historical data)
  • domContentLoaded-> current mean value: 766ms (±41ms) 🟢 | historical mean value: 733ms ⬆️ (historical data)
  • firstContentfulPaint-> current mean value: 84ms (±10ms) 🟢 | historical mean value: 85ms ⬇️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.09s 42ms 1.06s 1.40s 1.11s 1.40s
domContentLoaded 766ms 41ms 741ms 1.07s 784ms 1.07s
firstPaint 84ms 10ms 72ms 168ms 92ms 168ms
firstContentfulPaint 84ms 10ms 72ms 168ms 92ms 168ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 6.84 MiB (100%)
  • ui: 8.35 MiB (100%)
  • common: 11.34 MiB (100%)

@github-merge-queue github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Mar 26, 2026
@nickewansmith nickewansmith added this pull request to the merge queue Mar 26, 2026
Merged via the queue into main with commit 53bafe2 Mar 26, 2026
208 checks passed
@nickewansmith nickewansmith deleted the MUSD-465-extension-review-and-update-tooltips-and-toast-message-across-single-convert-experience-1 branch March 26, 2026 19:34
@github-actions github-actions Bot locked and limited conversation to collaborators Mar 26, 2026
@metamaskbot metamaskbot added the release-13.25.0 Issue or pull request that will be included in release 13.25.0 label Mar 26, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

release-13.25.0 Issue or pull request that will be included in release 13.25.0 size-M team-earn

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants