fix: import token design fixes
Description
- Bolder text for an import token header
- Fixed display of scam warning link
Changelog
CHANGELOG entry: Fixed minor display issues with the import token dialog
Related issues
Fixes: https://consensyssoftware.atlassian.net/browse/ASSETS-2067 Fixes: https://consensyssoftware.atlassian.net/browse/ASSETS-2066
Manual testing steps
- Go to this page...
Screenshots/Recordings
Before
After
Pre-merge author checklist
- [X] I've followed MetaMask Contributor Docs and MetaMask Extension Coding Standards.
- [X] I've completed the PR template to the best of my ability
- [X] I’ve included tests if applicable
- [X] I’ve documented my code using JSDoc format if applicable
- [X] I’ve applied the right labels on the PR (see labeling guidelines). Not required for external contributors.
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] Tightens import-tokens modal UI by boldening the confirmation header and fixing the scam warning link using TextButton-wrapped anchor.
- UI:
- Increase header emphasis in
import-tokens-modal-confirm.jsby settingTextfontWeighttoMedium.- Update scam warning link in
import-tokens-modal.jsto useTextButton(wrapping an<a>), improving rendering and external link handling toZENDESK_URLS.TOKEN_SAFETY_PRACTICES.Written by Cursor Bugbot for commit 7a41450fa193c0d5f1cbbac07da77ce88b0f7455. This will update automatically on new commits. Configure here.
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.
✨ Files requiring CODEOWNER review ✨
👨🔧 @MetaMask/core-extension-ux (2 files, +15 -7)
- 📁 ui/
- 📁 components/
- 📁 multichain/
- 📁 import-tokens-modal/
- 📄
import-tokens-modal-confirm.js+1 -1 - 📄
import-tokens-modal.js+14 -6
- 📄
- 📁 import-tokens-modal/
- 📁 multichain/
- 📁 components/
Builds ready [7a41450]
- builds: chrome, firefox
- builds (beta): chrome, firefox
- builds (flask): chrome, firefox
- builds (test): chrome, firefox
- builds (test-flask): chrome, firefox
- bundle size: Bundle Size Stats
- user-actions-benchmark: User Actions Stats
- storybook: Storybook
- typescript migration: Dashboard
- all artifacts
UI Startup Metrics (1227 ± 104 ms)
| Platform | BuildType | Page | Metric | Mean (ms) | Min (ms) | Max (ms) | Std Dev (ms) | P 75 (ms) | P 95 (ms) |
|---|---|---|---|---|---|---|---|---|---|
| Chrome | Browserify | Standard Home | uiStartup | 1227 | 989 | 1485 | 104 | 1305 | 1366 |
| load | 1005 | 840 | 1205 | 84 | 1066 | 1150 | |||
| domContentLoaded | 999 | 836 | 1193 | 83 | 1061 | 1146 | |||
| domInteractive | 24 | 15 | 90 | 17 | 21 | 76 | |||
| firstPaint | 541 | 83 | 1164 | 408 | 1014 | 1102 | |||
| backgroundConnect | 206 | 187 | 246 | 11 | 213 | 232 | |||
| firstReactRender | 45 | 30 | 96 | 14 | 54 | 74 | |||
| getState | 39 | 16 | 120 | 19 | 47 | 64 | |||
| initialActions | 1 | 0 | 5 | 1 | 1 | 2 | |||
| loadScripts | 799 | 648 | 982 | 81 | 862 | 931 | |||
| setupStore | 11 | 6 | 31 | 5 | 13 | 21 | |||
| numNetworkReqs | 13 | 6 | 84 | 20 | 6 | 74 | |||
| Browserify | Power User Home | uiStartup | 1905 | 1555 | 2436 | 166 | 1969 | 2251 | |
| load | 1066 | 880 | 1626 | 129 | 1124 | 1310 | |||
| domContentLoaded | 1055 | 872 | 1611 | 127 | 1117 | 1296 | |||
| domInteractive | 31 | 17 | 166 | 26 | 25 | 96 | |||
| firstPaint | 539 | 89 | 1319 | 388 | 972 | 1192 | |||
| backgroundConnect | 250 | 197 | 712 | 98 | 231 | 549 | |||
| firstReactRender | 48 | 38 | 86 | 7 | 49 | 61 | |||
| getState | 204 | 144 | 768 | 101 | 206 | 274 | |||
| initialActions | 1 | 0 | 2 | 1 | 1 | 2 | |||
| loadScripts | 844 | 671 | 1377 | 125 | 905 | 1086 | |||
| setupStore | 16 | 7 | 42 | 8 | 15 | 36 | |||
| numNetworkReqs | 71 | 58 | 144 | 20 | 68 | 130 | |||
| Webpack | Standard Home | uiStartup | 823 | 676 | 1567 | 111 | 863 | 961 | |
| load | 657 | 566 | 925 | 73 | 700 | 800 | |||
| domContentLoaded | 651 | 561 | 920 | 72 | 692 | 794 | |||
| domInteractive | 25 | 16 | 101 | 19 | 22 | 88 | |||
| firstPaint | 249 | 88 | 826 | 188 | 223 | 746 | |||
| backgroundConnect | 11 | 5 | 45 | 6 | 13 | 28 | |||
| firstReactRender | 50 | 32 | 204 | 28 | 51 | 118 | |||
| getState | 30 | 14 | 71 | 12 | 37 | 54 | |||
| initialActions | 1 | 0 | 3 | 1 | 1 | 2 | |||
| loadScripts | 648 | 559 | 909 | 71 | 690 | 786 | |||
| setupStore | 12 | 6 | 43 | 6 | 15 | 26 | |||
| numNetworkReqs | 13 | 6 | 81 | 19 | 6 | 72 | |||
| Webpack | Power User Home | uiStartup | 1479 | 1096 | 2123 | 219 | 1672 | 1852 | |
| load | 764 | 608 | 1073 | 109 | 876 | 941 | |||
| domContentLoaded | 756 | 601 | 1059 | 108 | 869 | 929 | |||
| domInteractive | 32 | 17 | 124 | 25 | 27 | 106 | |||
| firstPaint | 313 | 110 | 914 | 230 | 311 | 858 | |||
| backgroundConnect | 59 | 7 | 666 | 120 | 37 | 225 | |||
| firstReactRender | 52 | 42 | 90 | 6 | 54 | 62 | |||
| getState | 198 | 150 | 323 | 40 | 232 | 265 | |||
| initialActions | 1 | 0 | 2 | 0 | 1 | 2 | |||
| loadScripts | 753 | 599 | 1045 | 107 | 861 | 927 | |||
| setupStore | 19 | 6 | 293 | 29 | 16 | 39 | |||
| numNetworkReqs | 71 | 57 | 142 | 20 | 67 | 130 | |||
| Firefox | Browserify | Standard Home | uiStartup | 1399 | 1086 | 2451 | 217 | 1505 | 1835 |
| load | 1122 | 924 | 2088 | 140 | 1182 | 1288 | |||
| domContentLoaded | 1122 | 920 | 2087 | 140 | 1181 | 1288 | |||
| domInteractive | 73 | 32 | 245 | 43 | 90 | 165 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 64 | 23 | 350 | 62 | 73 | 178 | |||
| firstReactRender | 38 | 30 | 96 | 9 | 39 | 49 | |||
| getState | 14 | 7 | 190 | 19 | 13 | 28 | |||
| initialActions | 1 | 0 | 2 | 0 | 1 | 2 | |||
| loadScripts | 1087 | 908 | 1997 | 128 | 1131 | 1261 | |||
| setupStore | 19 | 6 | 230 | 38 | 11 | 109 | |||
| numNetworkReqs | 15 | 6 | 83 | 21 | 9 | 76 | |||
| Browserify | Power User Home | uiStartup | 2560 | 1525 | 3447 | 518 | 2964 | 3254 | |
| load | 1594 | 965 | 2482 | 480 | 2025 | 2313 | |||
| domContentLoaded | 1594 | 965 | 2482 | 480 | 2018 | 2312 | |||
| domInteractive | 123 | 29 | 1272 | 211 | 92 | 371 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 230 | 21 | 1119 | 290 | 210 | 1025 | |||
| firstReactRender | 55 | 36 | 121 | 15 | 59 | 83 | |||
| getState | 132 | 61 | 1009 | 95 | 148 | 185 | |||
| initialActions | 3 | 0 | 33 | 5 | 2 | 3 | |||
| loadScripts | 1478 | 939 | 2317 | 445 | 1866 | 2263 | |||
| setupStore | 35 | 4 | 995 | 102 | 29 | 125 | |||
| numNetworkReqs | 75 | 57 | 135 | 21 | 80 | 124 | |||
| Webpack | Standard Home | uiStartup | 1547 | 1331 | 2041 | 167 | 1667 | 1938 | |
| load | 1285 | 1093 | 1758 | 113 | 1355 | 1504 | |||
| domContentLoaded | 1285 | 1093 | 1758 | 113 | 1355 | 1504 | |||
| domInteractive | 74 | 27 | 212 | 39 | 100 | 139 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 51 | 17 | 169 | 33 | 69 | 124 | |||
| firstReactRender | 42 | 32 | 90 | 10 | 47 | 55 | |||
| getState | 17 | 7 | 205 | 28 | 14 | 56 | |||
| initialActions | 1 | 0 | 3 | 1 | 1 | 2 | |||
| loadScripts | 1256 | 1080 | 1692 | 106 | 1330 | 1435 | |||
| setupStore | 17 | 4 | 165 | 23 | 13 | 53 | |||
| numNetworkReqs | 16 | 6 | 91 | 22 | 8 | 79 | |||
| Webpack | Power User Home | uiStartup | 2652 | 1774 | 3841 | 520 | 3058 | 3453 | |
| load | 1872 | 1124 | 2792 | 499 | 2347 | 2548 | |||
| domContentLoaded | 1871 | 1123 | 2791 | 499 | 2347 | 2547 | |||
| domInteractive | 209 | 29 | 996 | 321 | 145 | 967 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 135 | 26 | 938 | 134 | 180 | 262 | |||
| firstReactRender | 58 | 36 | 105 | 15 | 64 | 90 | |||
| getState | 136 | 82 | 297 | 50 | 161 | 240 | |||
| initialActions | 2 | 0 | 7 | 1 | 2 | 3 | |||
| loadScripts | 1809 | 1100 | 2703 | 478 | 2234 | 2493 | |||
| setupStore | 27 | 4 | 285 | 48 | 23 | 100 | |||
| numNetworkReqs | 70 | 45 | 128 | 20 | 79 | 118 |
📊 Page Load Benchmark Results
Current Commit: 7a41450 | Date: 12/10/2025
📄 Localhost MetaMask Test Dapp
Samples: 100
Summary
- pageLoadTime-> current mean value: 1.05s (±63ms) 🟡 | historical mean value: 1.03s ⬆️ (historical data)
- domContentLoaded-> current mean value: 737ms (±76ms) 🟢 | historical mean value: 720ms ⬆️ (historical data)
- firstContentfulPaint-> current mean value: 88ms (±126ms) 🟢 | historical mean value: 78ms ⬆️ (historical data)
📈 Detailed Results
| Metric | Mean | Std Dev | Min | Max | P95 | P99 |
|---|---|---|---|---|---|---|
| pageLoadTime | 1.05s | 63ms | 1.01s | 1.34s | 1.26s | 1.34s |
| domContentLoaded | 737ms | 76ms | 701ms | 1.27s | 937ms | 1.27s |
| firstPaint | 88ms | 126ms | 60ms | 1.34s | 84ms | 1.34s |
| firstContentfulPaint | 88ms | 126ms | 60ms | 1.34s | 84ms | 1.34s |
| largestContentfulPaint | 0ms | 0ms | 0ms | 0ms | 0ms | 0ms |
Bundle size diffs [🚨 Warning! Bundle size has increased!]
- background: 58 Bytes (0%)
- ui: 170 Bytes (0%)
- common: 20 Bytes (0%)