fix: transaction details total rendering
Description
Transaction details total was not rendered in the preferred chain
Changelog
CHANGELOG entry: fix: transaction detail total rendering
Related issues
Fixes: https://github.com/MetaMask/metamask-extension/issues/35558
Manual testing steps
- Select All Popular Networks
- Go to Send flow and select Avalanche network
- Cancel the send request
- Go to Activity tab
- Click on a Sent transaction and notice the Total is displayed in AVAX
Screenshots/Recordings
Before
After
Pre-merge author checklist
- [ ] I've followed MetaMask Contributor Docs and MetaMask Extension Coding Standards.
- [ ] I've completed the PR template to the best of my ability
- [ ] I’ve included tests if applicable
- [ ] I’ve documented my code using JSDoc format if applicable
- [ ] 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] Pass
chainIdthrough currency display components so transaction totals render in the correct chain currency; update tests accordingly.
- Frontend
ui/components/app/transaction-breakdown/transaction-breakdown.component.js
- Add
chainIdprop and forward it toUserPreferencedCurrencyDisplayfor total (primary/secondary) values.ui/components/app/user-preferenced-currency-display/user-preferenced-currency-display.component.js
- Accept
chainId; pass touseUserPreferencedCurrencyandCurrencyDisplay.- Tests
ui/components/app/transaction-list-item-details/transaction-list-item-details.component.test.js
- Update expected Total from
ETHtoPOLto reflect chain-aware rendering.Written by Cursor Bugbot for commit 812e9280155c59fbc147ec7ef179b6cfc811c34c. 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.
Builds ready [b0ac305]
- 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 (1251 ± 77 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 | 1251 | 1015 | 1436 | 77 | 1297 | 1381 |
| load | 1026 | 860 | 1215 | 72 | 1068 | 1161 | |||
| domContentLoaded | 1020 | 855 | 1207 | 70 | 1057 | 1156 | |||
| domInteractive | 21 | 15 | 41 | 6 | 21 | 36 | |||
| firstPaint | 522 | 82 | 1229 | 407 | 1019 | 1152 | |||
| backgroundConnect | 215 | 198 | 257 | 12 | 220 | 243 | |||
| firstReactRender | 43 | 31 | 211 | 18 | 45 | 59 | |||
| getState | 35 | 15 | 121 | 19 | 38 | 87 | |||
| initialActions | 1 | 0 | 4 | 1 | 1 | 2 | |||
| loadScripts | 811 | 656 | 978 | 68 | 845 | 942 | |||
| setupStore | 12 | 7 | 33 | 5 | 13 | 22 | |||
| numNetworkReqs | 8 | 6 | 30 | 6 | 6 | 29 | |||
| Browserify | Power User Home | uiStartup | 1894 | 1660 | 2529 | 128 | 1968 | 2107 | |
| load | 1068 | 910 | 1305 | 98 | 1163 | 1226 | |||
| domContentLoaded | 1058 | 900 | 1300 | 98 | 1152 | 1221 | |||
| domInteractive | 25 | 16 | 75 | 10 | 26 | 48 | |||
| firstPaint | 486 | 88 | 1297 | 395 | 981 | 1182 | |||
| backgroundConnect | 266 | 200 | 691 | 117 | 239 | 571 | |||
| firstReactRender | 47 | 38 | 95 | 7 | 48 | 59 | |||
| getState | 197 | 143 | 659 | 56 | 207 | 272 | |||
| initialActions | 1 | 0 | 2 | 1 | 1 | 2 | |||
| loadScripts | 848 | 695 | 1092 | 99 | 943 | 1016 | |||
| setupStore | 16 | 9 | 54 | 7 | 15 | 35 | |||
| numNetworkReqs | 67 | 58 | 108 | 12 | 65 | 103 | |||
| Webpack | Standard Home | uiStartup | 855 | 721 | 1148 | 66 | 893 | 968 | |
| load | 657 | 571 | 801 | 59 | 700 | 778 | |||
| domContentLoaded | 652 | 566 | 796 | 59 | 695 | 770 | |||
| domInteractive | 22 | 17 | 54 | 7 | 23 | 41 | |||
| firstPaint | 247 | 88 | 782 | 193 | 216 | 688 | |||
| backgroundConnect | 13 | 5 | 75 | 10 | 13 | 30 | |||
| firstReactRender | 61 | 34 | 303 | 48 | 61 | 153 | |||
| getState | 25 | 14 | 54 | 10 | 31 | 48 | |||
| initialActions | 1 | 0 | 3 | 1 | 1 | 2 | |||
| loadScripts | 648 | 564 | 794 | 59 | 692 | 768 | |||
| setupStore | 10 | 7 | 22 | 3 | 12 | 18 | |||
| numNetworkReqs | 8 | 6 | 31 | 6 | 6 | 29 | |||
| Webpack | Power User Home | uiStartup | 1451 | 1177 | 2325 | 190 | 1529 | 1767 | |
| load | 706 | 585 | 1067 | 88 | 731 | 887 | |||
| domContentLoaded | 699 | 578 | 1052 | 86 | 723 | 881 | |||
| domInteractive | 25 | 16 | 106 | 12 | 24 | 50 | |||
| firstPaint | 255 | 104 | 874 | 190 | 225 | 735 | |||
| backgroundConnect | 77 | 7 | 562 | 136 | 65 | 546 | |||
| firstReactRender | 50 | 41 | 99 | 9 | 50 | 71 | |||
| getState | 184 | 143 | 635 | 54 | 190 | 247 | |||
| initialActions | 1 | 0 | 7 | 1 | 1 | 1 | |||
| loadScripts | 696 | 576 | 1042 | 86 | 719 | 878 | |||
| setupStore | 14 | 9 | 40 | 6 | 14 | 35 | |||
| numNetworkReqs | 67 | 55 | 230 | 19 | 65 | 98 | |||
| Firefox | Browserify | Standard Home | uiStartup | 1383 | 1153 | 1953 | 133 | 1453 | 1596 |
| load | 1130 | 983 | 1527 | 91 | 1177 | 1264 | |||
| domContentLoaded | 1130 | 983 | 1527 | 91 | 1177 | 1264 | |||
| domInteractive | 67 | 33 | 268 | 40 | 85 | 147 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 46 | 25 | 176 | 27 | 50 | 117 | |||
| firstReactRender | 41 | 33 | 77 | 9 | 41 | 66 | |||
| getState | 12 | 7 | 45 | 7 | 11 | 28 | |||
| initialActions | 1 | 0 | 2 | 1 | 2 | 2 | |||
| loadScripts | 1102 | 964 | 1502 | 86 | 1147 | 1236 | |||
| setupStore | 12 | 7 | 87 | 9 | 11 | 24 | |||
| numNetworkReqs | 8 | 6 | 25 | 5 | 7 | 24 | |||
| Browserify | Power User Home | uiStartup | 2568 | 1577 | 3459 | 542 | 3008 | 3223 | |
| load | 1598 | 925 | 2419 | 525 | 2112 | 2279 | |||
| domContentLoaded | 1597 | 925 | 2419 | 525 | 2112 | 2279 | |||
| domInteractive | 197 | 30 | 1048 | 345 | 85 | 1035 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 173 | 21 | 1185 | 249 | 173 | 1100 | |||
| firstReactRender | 53 | 33 | 85 | 11 | 58 | 78 | |||
| getState | 135 | 77 | 306 | 46 | 162 | 215 | |||
| initialActions | 2 | 0 | 3 | 1 | 2 | 3 | |||
| loadScripts | 1513 | 909 | 2304 | 499 | 1970 | 2247 | |||
| setupStore | 34 | 5 | 261 | 56 | 34 | 215 | |||
| numNetworkReqs | 67 | 49 | 129 | 13 | 67 | 94 | |||
| Webpack | Standard Home | uiStartup | 1511 | 1303 | 2955 | 194 | 1571 | 1795 | |
| load | 1227 | 1084 | 2699 | 163 | 1269 | 1328 | |||
| domContentLoaded | 1227 | 1084 | 2699 | 163 | 1269 | 1328 | |||
| domInteractive | 69 | 27 | 1510 | 148 | 79 | 124 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 41 | 19 | 135 | 19 | 45 | 81 | |||
| firstReactRender | 39 | 31 | 87 | 7 | 40 | 51 | |||
| getState | 18 | 7 | 176 | 31 | 14 | 108 | |||
| initialActions | 1 | 0 | 3 | 1 | 1 | 2 | |||
| loadScripts | 1203 | 1069 | 2684 | 162 | 1243 | 1293 | |||
| setupStore | 15 | 6 | 126 | 19 | 12 | 52 | |||
| numNetworkReqs | 8 | 6 | 38 | 6 | 7 | 26 | |||
| Webpack | Power User Home | uiStartup | 2773 | 1803 | 3924 | 560 | 3203 | 3605 | |
| load | 1843 | 1153 | 2859 | 529 | 2350 | 2553 | |||
| domContentLoaded | 1843 | 1153 | 2858 | 529 | 2350 | 2552 | |||
| domInteractive | 214 | 30 | 1242 | 352 | 103 | 1046 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 143 | 24 | 1060 | 175 | 180 | 380 | |||
| firstReactRender | 57 | 39 | 123 | 15 | 61 | 91 | |||
| getState | 133 | 64 | 268 | 49 | 167 | 236 | |||
| initialActions | 3 | 0 | 39 | 5 | 2 | 7 | |||
| loadScripts | 1783 | 1112 | 2752 | 509 | 2278 | 2470 | |||
| setupStore | 24 | 4 | 352 | 49 | 20 | 64 | |||
| numNetworkReqs | 70 | 56 | 125 | 17 | 67 | 118 |
📊 Page Load Benchmark Results
Current Commit: b0ac305 | Date: 12/9/2025
📄 Localhost MetaMask Test Dapp
Samples: 100
Summary
- pageLoadTime-> current mean value: 1.04s (±56ms) 🟡 | historical mean value: 1.05s ⬇️ (historical data)
- domContentLoaded-> current mean value: 725ms (±70ms) 🟢 | historical mean value: 734ms ⬇️ (historical data)
- firstContentfulPaint-> current mean value: 89ms (±136ms) 🟢 | historical mean value: 79ms ⬆️ (historical data)
📈 Detailed Results
| Metric | Mean | Std Dev | Min | Max | P95 | P99 |
|---|---|---|---|---|---|---|
| pageLoadTime | 1.04s | 56ms | 1.01s | 1.52s | 1.07s | 1.52s |
| domContentLoaded | 725ms | 70ms | 699ms | 1.38s | 752ms | 1.38s |
| firstPaint | 89ms | 136ms | 60ms | 1.44s | 88ms | 1.44s |
| firstContentfulPaint | 89ms | 136ms | 60ms | 1.44s | 88ms | 1.44s |
| largestContentfulPaint | 0ms | 0ms | 0ms | 0ms | 0ms | 0ms |
Bundle size diffs [🚨 Warning! Bundle size has increased!]
- background: 58 Bytes (0%)
- ui: 139 Bytes (0%)
- common: 20 Bytes (0%)
✨ Files requiring CODEOWNER review ✨
👨🔧 @MetaMask/core-extension-ux (1 files, +1 -1)
- 📁 ui/
- 📁 components/
- 📁 app/
- 📁 transaction-list-item-details/
- 📄
transaction-list-item-details.component.test.js+1 -1
- 📄
- 📁 transaction-list-item-details/
- 📁 app/
- 📁 components/
Builds ready [20f70d1]
- 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 (1288 ± 101 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 | 1288 | 1079 | 1664 | 101 | 1349 | 1433 |
| load | 1055 | 885 | 1332 | 85 | 1107 | 1188 | |||
| domContentLoaded | 1048 | 874 | 1324 | 84 | 1099 | 1179 | |||
| domInteractive | 26 | 15 | 159 | 22 | 23 | 83 | |||
| firstPaint | 530 | 78 | 1247 | 407 | 1034 | 1150 | |||
| backgroundConnect | 217 | 198 | 260 | 12 | 222 | 242 | |||
| firstReactRender | 43 | 32 | 88 | 11 | 45 | 72 | |||
| getState | 38 | 17 | 114 | 19 | 42 | 77 | |||
| initialActions | 1 | 0 | 4 | 1 | 1 | 3 | |||
| loadScripts | 838 | 666 | 1113 | 82 | 880 | 971 | |||
| setupStore | 12 | 7 | 48 | 6 | 13 | 22 | |||
| numNetworkReqs | 13 | 6 | 76 | 19 | 6 | 72 | |||
| Browserify | Power User Home | uiStartup | 1915 | 1568 | 2254 | 136 | 1956 | 2217 | |
| load | 1066 | 877 | 1434 | 124 | 1158 | 1265 | |||
| domContentLoaded | 1057 | 869 | 1429 | 124 | 1151 | 1257 | |||
| domInteractive | 32 | 16 | 251 | 32 | 26 | 102 | |||
| firstPaint | 455 | 90 | 1350 | 378 | 907 | 1175 | |||
| backgroundConnect | 265 | 203 | 760 | 128 | 229 | 623 | |||
| firstReactRender | 48 | 38 | 95 | 8 | 50 | 66 | |||
| getState | 197 | 142 | 734 | 94 | 194 | 267 | |||
| initialActions | 1 | 0 | 3 | 1 | 1 | 2 | |||
| loadScripts | 847 | 663 | 1199 | 123 | 939 | 1054 | |||
| setupStore | 16 | 7 | 51 | 8 | 15 | 35 | |||
| numNetworkReqs | 71 | 57 | 149 | 20 | 68 | 130 | |||
| Webpack | Standard Home | uiStartup | 855 | 719 | 1067 | 80 | 902 | 1008 | |
| load | 652 | 576 | 846 | 66 | 700 | 785 | |||
| domContentLoaded | 647 | 572 | 841 | 66 | 696 | 777 | |||
| domInteractive | 26 | 15 | 117 | 22 | 23 | 92 | |||
| firstPaint | 222 | 82 | 743 | 154 | 206 | 621 | |||
| backgroundConnect | 11 | 5 | 31 | 6 | 13 | 28 | |||
| firstReactRender | 53 | 33 | 190 | 32 | 56 | 144 | |||
| getState | 29 | 15 | 62 | 11 | 36 | 49 | |||
| initialActions | 1 | 0 | 4 | 1 | 1 | 2 | |||
| loadScripts | 644 | 569 | 831 | 65 | 694 | 770 | |||
| setupStore | 11 | 7 | 30 | 5 | 14 | 20 | |||
| numNetworkReqs | 14 | 6 | 79 | 20 | 6 | 74 | |||
| Webpack | Power User Home | uiStartup | 1709 | 1285 | 2288 | 192 | 1805 | 2062 | |
| load | 818 | 629 | 1123 | 124 | 936 | 1021 | |||
| domContentLoaded | 809 | 624 | 1118 | 123 | 930 | 1008 | |||
| domInteractive | 36 | 18 | 168 | 33 | 31 | 125 | |||
| firstPaint | 365 | 109 | 1065 | 268 | 489 | 951 | |||
| backgroundConnect | 79 | 8 | 728 | 169 | 32 | 649 | |||
| firstReactRender | 56 | 42 | 102 | 10 | 60 | 71 | |||
| getState | 223 | 145 | 745 | 85 | 237 | 357 | |||
| initialActions | 1 | 0 | 3 | 1 | 1 | 2 | |||
| loadScripts | 805 | 622 | 1105 | 122 | 927 | 1005 | |||
| setupStore | 17 | 7 | 56 | 10 | 16 | 44 | |||
| numNetworkReqs | 74 | 58 | 230 | 28 | 68 | 135 | |||
| Firefox | Browserify | Standard Home | uiStartup | 1352 | 1099 | 1939 | 172 | 1435 | 1725 |
| load | 1091 | 925 | 1552 | 115 | 1154 | 1298 | |||
| domContentLoaded | 1090 | 924 | 1552 | 115 | 1154 | 1297 | |||
| domInteractive | 69 | 30 | 223 | 42 | 95 | 145 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 59 | 23 | 372 | 61 | 53 | 192 | |||
| firstReactRender | 38 | 30 | 74 | 8 | 38 | 56 | |||
| getState | 14 | 7 | 177 | 18 | 11 | 24 | |||
| initialActions | 1 | 0 | 2 | 1 | 2 | 2 | |||
| loadScripts | 1063 | 906 | 1514 | 101 | 1125 | 1264 | |||
| setupStore | 13 | 5 | 200 | 20 | 10 | 35 | |||
| numNetworkReqs | 16 | 6 | 82 | 22 | 7 | 77 | |||
| Browserify | Power User Home | uiStartup | 2593 | 1659 | 3474 | 526 | 3051 | 3292 | |
| load | 1631 | 971 | 2472 | 496 | 2079 | 2351 | |||
| domContentLoaded | 1631 | 965 | 2472 | 496 | 2078 | 2350 | |||
| domInteractive | 99 | 30 | 922 | 154 | 79 | 302 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 194 | 23 | 1165 | 240 | 233 | 1037 | |||
| firstReactRender | 58 | 39 | 173 | 19 | 60 | 97 | |||
| getState | 129 | 59 | 306 | 44 | 153 | 216 | |||
| initialActions | 2 | 0 | 7 | 1 | 2 | 3 | |||
| loadScripts | 1529 | 948 | 2297 | 453 | 1964 | 2209 | |||
| setupStore | 44 | 4 | 380 | 68 | 53 | 198 | |||
| numNetworkReqs | 74 | 57 | 124 | 19 | 81 | 117 | |||
| Webpack | Standard Home | uiStartup | 1680 | 1434 | 2160 | 180 | 1759 | 2095 | |
| load | 1355 | 1194 | 1616 | 103 | 1418 | 1581 | |||
| domContentLoaded | 1355 | 1189 | 1616 | 103 | 1418 | 1581 | |||
| domInteractive | 80 | 32 | 256 | 41 | 111 | 151 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 64 | 18 | 226 | 43 | 80 | 173 | |||
| firstReactRender | 46 | 37 | 100 | 8 | 50 | 59 | |||
| getState | 17 | 8 | 192 | 24 | 15 | 31 | |||
| initialActions | 1 | 0 | 3 | 1 | 2 | 2 | |||
| loadScripts | 1323 | 1177 | 1574 | 91 | 1385 | 1506 | |||
| setupStore | 27 | 7 | 218 | 42 | 15 | 132 | |||
| numNetworkReqs | 16 | 6 | 84 | 22 | 8 | 81 | |||
| Webpack | Power User Home | uiStartup | 2781 | 1757 | 4045 | 531 | 3188 | 3484 | |
| load | 1897 | 1138 | 2572 | 463 | 2296 | 2461 | |||
| domContentLoaded | 1896 | 1137 | 2572 | 463 | 2296 | 2461 | |||
| domInteractive | 134 | 28 | 986 | 231 | 82 | 939 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 163 | 24 | 981 | 168 | 198 | 457 | |||
| firstReactRender | 55 | 36 | 96 | 11 | 61 | 74 | |||
| getState | 139 | 70 | 990 | 95 | 161 | 232 | |||
| initialActions | 2 | 1 | 36 | 4 | 2 | 3 | |||
| loadScripts | 1801 | 1116 | 2547 | 438 | 2193 | 2360 | |||
| setupStore | 42 | 5 | 352 | 69 | 30 | 243 | |||
| numNetworkReqs | 75 | 55 | 146 | 22 | 77 | 126 |
📊 Page Load Benchmark Results
Current Commit: 20f70d1 | Date: 12/9/2025
📄 Localhost MetaMask Test Dapp
Samples: 100
Summary
- pageLoadTime-> current mean value: 1.06s (±52ms) 🟡 | historical mean value: 1.06s ⬆️ (historical data)
- domContentLoaded-> current mean value: 740ms (±50ms) 🟢 | historical mean value: 740ms ⬆️ (historical data)
- firstContentfulPaint-> current mean value: 79ms (±11ms) 🟢 | historical mean value: 81ms ⬇️ (historical data)
📈 Detailed Results
| Metric | Mean | Std Dev | Min | Max | P95 | P99 |
|---|---|---|---|---|---|---|
| pageLoadTime | 1.06s | 52ms | 1.03s | 1.34s | 1.13s | 1.34s |
| domContentLoaded | 740ms | 50ms | 714ms | 1.02s | 772ms | 1.02s |
| firstPaint | 79ms | 11ms | 60ms | 168ms | 88ms | 168ms |
| firstContentfulPaint | 79ms | 11ms | 60ms | 168ms | 88ms | 168ms |
| largestContentfulPaint | 0ms | 0ms | 0ms | 0ms | 0ms | 0ms |
Bundle size diffs [🚨 Warning! Bundle size has increased!]
- background: 2.36 KiB (0.04%)
- ui: 1.14 KiB (0.01%)
- common: 8.97 KiB (0.1%)
Builds ready [812e928]
- 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 (1264 ± 112 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 | 1264 | 1017 | 1490 | 112 | 1358 | 1449 |
| load | 1036 | 849 | 1240 | 94 | 1098 | 1203 | |||
| domContentLoaded | 1030 | 842 | 1234 | 94 | 1089 | 1192 | |||
| domInteractive | 26 | 16 | 102 | 19 | 22 | 78 | |||
| firstPaint | 578 | 81 | 1201 | 414 | 1030 | 1173 | |||
| backgroundConnect | 214 | 195 | 248 | 12 | 221 | 240 | |||
| firstReactRender | 47 | 32 | 159 | 18 | 55 | 78 | |||
| getState | 35 | 17 | 114 | 16 | 38 | 64 | |||
| initialActions | 1 | 0 | 9 | 1 | 1 | 3 | |||
| loadScripts | 823 | 653 | 1025 | 90 | 884 | 990 | |||
| setupStore | 12 | 6 | 29 | 4 | 13 | 23 | |||
| numNetworkReqs | 14 | 6 | 82 | 20 | 6 | 73 | |||
| Browserify | Power User Home | uiStartup | 1945 | 1632 | 2624 | 177 | 2023 | 2334 | |
| load | 1110 | 916 | 1764 | 129 | 1177 | 1341 | |||
| domContentLoaded | 1100 | 908 | 1751 | 129 | 1168 | 1331 | |||
| domInteractive | 32 | 17 | 132 | 24 | 28 | 102 | |||
| firstPaint | 621 | 117 | 1767 | 445 | 1113 | 1245 | |||
| backgroundConnect | 246 | 205 | 572 | 66 | 244 | 322 | |||
| firstReactRender | 50 | 40 | 82 | 7 | 51 | 64 | |||
| getState | 216 | 155 | 719 | 80 | 225 | 314 | |||
| initialActions | 1 | 0 | 4 | 1 | 1 | 2 | |||
| loadScripts | 880 | 702 | 1519 | 128 | 939 | 1121 | |||
| setupStore | 17 | 6 | 48 | 8 | 17 | 38 | |||
| numNetworkReqs | 71 | 57 | 136 | 17 | 68 | 119 | |||
| Webpack | Standard Home | uiStartup | 914 | 746 | 1294 | 88 | 953 | 1062 | |
| load | 692 | 583 | 1022 | 82 | 743 | 852 | |||
| domContentLoaded | 686 | 576 | 1015 | 82 | 736 | 847 | |||
| domInteractive | 28 | 16 | 112 | 22 | 24 | 100 | |||
| firstPaint | 236 | 88 | 1023 | 167 | 226 | 759 | |||
| backgroundConnect | 13 | 6 | 86 | 12 | 13 | 32 | |||
| firstReactRender | 62 | 34 | 227 | 42 | 62 | 170 | |||
| getState | 32 | 15 | 102 | 17 | 40 | 65 | |||
| initialActions | 1 | 0 | 4 | 1 | 1 | 2 | |||
| loadScripts | 683 | 573 | 1006 | 81 | 734 | 837 | |||
| setupStore | 12 | 5 | 35 | 4 | 13 | 20 | |||
| numNetworkReqs | 13 | 6 | 80 | 18 | 6 | 70 | |||
| Webpack | Power User Home | uiStartup | 1440 | 1160 | 1882 | 153 | 1495 | 1776 | |
| load | 714 | 590 | 925 | 93 | 776 | 893 | |||
| domContentLoaded | 708 | 584 | 918 | 93 | 767 | 887 | |||
| domInteractive | 31 | 16 | 157 | 29 | 25 | 110 | |||
| firstPaint | 257 | 92 | 893 | 200 | 249 | 724 | |||
| backgroundConnect | 60 | 7 | 583 | 108 | 60 | 395 | |||
| firstReactRender | 48 | 37 | 63 | 5 | 49 | 60 | |||
| getState | 179 | 137 | 340 | 34 | 190 | 249 | |||
| initialActions | 1 | 0 | 4 | 1 | 1 | 2 | |||
| loadScripts | 705 | 582 | 915 | 92 | 765 | 879 | |||
| setupStore | 13 | 7 | 40 | 6 | 13 | 32 | |||
| numNetworkReqs | 71 | 55 | 136 | 19 | 68 | 129 | |||
| Firefox | Browserify | Standard Home | uiStartup | 1365 | 1119 | 2544 | 235 | 1408 | 1781 |
| load | 1097 | 947 | 2224 | 180 | 1136 | 1261 | |||
| domContentLoaded | 1097 | 946 | 2224 | 180 | 1136 | 1261 | |||
| domInteractive | 68 | 34 | 216 | 35 | 88 | 137 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 51 | 22 | 287 | 41 | 65 | 131 | |||
| firstReactRender | 39 | 30 | 63 | 7 | 40 | 57 | |||
| getState | 15 | 6 | 161 | 23 | 10 | 38 | |||
| initialActions | 1 | 0 | 2 | 0 | 1 | 2 | |||
| loadScripts | 1068 | 929 | 2138 | 170 | 1102 | 1224 | |||
| setupStore | 13 | 6 | 98 | 13 | 12 | 32 | |||
| numNetworkReqs | 16 | 6 | 82 | 21 | 14 | 75 | |||
| Browserify | Power User Home | uiStartup | 2559 | 1579 | 3391 | 519 | 2999 | 3242 | |
| load | 1549 | 964 | 2436 | 495 | 2053 | 2277 | |||
| domContentLoaded | 1549 | 964 | 2436 | 496 | 2053 | 2277 | |||
| domInteractive | 169 | 31 | 1047 | 282 | 95 | 940 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 179 | 24 | 1125 | 228 | 182 | 951 | |||
| firstReactRender | 52 | 33 | 96 | 11 | 56 | 78 | |||
| getState | 126 | 67 | 317 | 42 | 149 | 220 | |||
| initialActions | 2 | 0 | 7 | 1 | 2 | 3 | |||
| loadScripts | 1477 | 939 | 2316 | 464 | 1934 | 2217 | |||
| setupStore | 36 | 4 | 255 | 53 | 40 | 175 | |||
| numNetworkReqs | 74 | 54 | 130 | 20 | 71 | 119 | |||
| Webpack | Standard Home | uiStartup | 1610 | 1351 | 2077 | 152 | 1692 | 1937 | |
| load | 1283 | 1097 | 1575 | 104 | 1340 | 1468 | |||
| domContentLoaded | 1282 | 1097 | 1575 | 104 | 1340 | 1468 | |||
| domInteractive | 70 | 27 | 170 | 37 | 99 | 130 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 59 | 15 | 233 | 39 | 67 | 139 | |||
| firstReactRender | 43 | 33 | 92 | 11 | 46 | 55 | |||
| getState | 19 | 7 | 145 | 23 | 15 | 60 | |||
| initialActions | 1 | 0 | 3 | 1 | 2 | 2 | |||
| loadScripts | 1251 | 1081 | 1550 | 97 | 1313 | 1432 | |||
| setupStore | 18 | 5 | 176 | 24 | 15 | 65 | |||
| numNetworkReqs | 16 | 6 | 82 | 21 | 12 | 78 | |||
| Webpack | Power User Home | uiStartup | 3619 | 2155 | 11057 | 991 | 4017 | 4531 | |
| load | 2359 | 1409 | 9745 | 922 | 2749 | 3139 | |||
| domContentLoaded | 2358 | 1408 | 9744 | 922 | 2748 | 3138 | |||
| domInteractive | 269 | 37 | 7260 | 752 | 135 | 973 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 297 | 42 | 1185 | 318 | 334 | 1036 | |||
| firstReactRender | 78 | 52 | 306 | 26 | 84 | 105 | |||
| getState | 161 | 101 | 378 | 49 | 191 | 261 | |||
| initialActions | 4 | 1 | 46 | 6 | 3 | 5 | |||
| loadScripts | 2228 | 1380 | 9705 | 908 | 2528 | 3095 | |||
| setupStore | 130 | 12 | 1074 | 190 | 116 | 493 | |||
| numNetworkReqs | 77 | 57 | 183 | 31 | 68 | 171 |
📊 Page Load Benchmark Results
Current Commit: 812e928 | Date: 12/9/2025
📄 Localhost MetaMask Test Dapp
Samples: 100
Summary
- pageLoadTime-> current mean value: 1.04s (±44ms) 🟡 | historical mean value: 1.05s ⬇️ (historical data)
- domContentLoaded-> current mean value: 723ms (±41ms) 🟢 | historical mean value: 736ms ⬇️ (historical data)
- firstContentfulPaint-> current mean value: 77ms (±16ms) 🟢 | historical mean value: 80ms ⬇️ (historical data)
📈 Detailed Results
| Metric | Mean | Std Dev | Min | Max | P95 | P99 |
|---|---|---|---|---|---|---|
| pageLoadTime | 1.04s | 44ms | 1.01s | 1.38s | 1.07s | 1.38s |
| domContentLoaded | 723ms | 41ms | 698ms | 1.05s | 748ms | 1.05s |
| firstPaint | 77ms | 16ms | 60ms | 220ms | 84ms | 220ms |
| firstContentfulPaint | 77ms | 16ms | 60ms | 220ms | 84ms | 220ms |
| largestContentfulPaint | 0ms | 0ms | 0ms | 0ms | 0ms | 0ms |
Bundle size diffs [🚨 Warning! Bundle size has increased!]
- background: 2.36 KiB (0.04%)
- ui: 1.58 KiB (0.02%)
- common: 8.97 KiB (0.1%)
Builds ready [afc1298]
- 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 (1255 ± 97 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 | 1255 | 1044 | 1513 | 97 | 1319 | 1413 |
| load | 1028 | 862 | 1240 | 81 | 1068 | 1168 | |||
| domContentLoaded | 1022 | 856 | 1233 | 80 | 1063 | 1162 | |||
| domInteractive | 25 | 15 | 89 | 19 | 21 | 83 | |||
| firstPaint | 523 | 74 | 1190 | 394 | 1018 | 1092 | |||
| backgroundConnect | 212 | 197 | 275 | 12 | 217 | 235 | |||
| firstReactRender | 47 | 29 | 110 | 14 | 52 | 75 | |||
| getState | 41 | 18 | 150 | 24 | 44 | 111 | |||
| initialActions | 1 | 0 | 6 | 1 | 1 | 2 | |||
| loadScripts | 817 | 662 | 996 | 77 | 858 | 964 | |||
| setupStore | 11 | 6 | 28 | 4 | 13 | 21 | |||
| numNetworkReqs | 13 | 6 | 86 | 19 | 6 | 69 | |||
| Browserify | Power User Home | uiStartup | 1910 | 1540 | 2413 | 173 | 1977 | 2278 | |
| load | 1055 | 878 | 1455 | 115 | 1145 | 1235 | |||
| domContentLoaded | 1045 | 870 | 1405 | 113 | 1135 | 1229 | |||
| domInteractive | 29 | 16 | 102 | 20 | 27 | 89 | |||
| firstPaint | 513 | 111 | 1477 | 396 | 953 | 1195 | |||
| backgroundConnect | 249 | 201 | 620 | 93 | 233 | 553 | |||
| firstReactRender | 47 | 39 | 78 | 6 | 50 | 59 | |||
| getState | 190 | 145 | 684 | 58 | 197 | 258 | |||
| initialActions | 1 | 0 | 2 | 1 | 1 | 2 | |||
| loadScripts | 834 | 675 | 1191 | 110 | 926 | 1026 | |||
| setupStore | 16 | 7 | 41 | 7 | 15 | 35 | |||
| numNetworkReqs | 73 | 59 | 204 | 23 | 70 | 124 | |||
| Webpack | Standard Home | uiStartup | 855 | 698 | 1344 | 100 | 897 | 1021 | |
| load | 686 | 585 | 1012 | 85 | 733 | 838 | |||
| domContentLoaded | 680 | 579 | 993 | 84 | 727 | 831 | |||
| domInteractive | 27 | 16 | 101 | 21 | 24 | 92 | |||
| firstPaint | 264 | 79 | 799 | 180 | 286 | 704 | |||
| backgroundConnect | 12 | 6 | 48 | 8 | 13 | 31 | |||
| firstReactRender | 60 | 34 | 344 | 46 | 56 | 152 | |||
| getState | 30 | 15 | 72 | 13 | 37 | 59 | |||
| initialActions | 1 | 0 | 3 | 1 | 1 | 2 | |||
| loadScripts | 677 | 577 | 989 | 82 | 725 | 816 | |||
| setupStore | 12 | 6 | 54 | 8 | 13 | 33 | |||
| numNetworkReqs | 13 | 6 | 79 | 19 | 6 | 71 | |||
| Webpack | Power User Home | uiStartup | 1431 | 1096 | 2043 | 194 | 1594 | 1799 | |
| load | 731 | 594 | 1137 | 105 | 842 | 894 | |||
| domContentLoaded | 724 | 587 | 1125 | 104 | 834 | 889 | |||
| domInteractive | 31 | 17 | 120 | 25 | 26 | 106 | |||
| firstPaint | 268 | 112 | 1142 | 205 | 233 | 685 | |||
| backgroundConnect | 88 | 7 | 690 | 171 | 60 | 576 | |||
| firstReactRender | 50 | 42 | 76 | 6 | 52 | 65 | |||
| getState | 181 | 137 | 271 | 31 | 194 | 253 | |||
| initialActions | 1 | 0 | 2 | 0 | 1 | 1 | |||
| loadScripts | 721 | 585 | 1113 | 103 | 827 | 880 | |||
| setupStore | 16 | 6 | 53 | 9 | 15 | 36 | |||
| numNetworkReqs | 73 | 59 | 155 | 22 | 69 | 136 | |||
| Firefox | Browserify | Standard Home | uiStartup | 1275 | 1074 | 1889 | 174 | 1321 | 1682 |
| load | 1033 | 899 | 1580 | 99 | 1087 | 1206 | |||
| domContentLoaded | 1033 | 899 | 1579 | 99 | 1087 | 1205 | |||
| domInteractive | 59 | 31 | 208 | 36 | 85 | 133 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 49 | 22 | 286 | 48 | 43 | 172 | |||
| firstReactRender | 37 | 29 | 70 | 8 | 39 | 54 | |||
| getState | 12 | 7 | 91 | 10 | 11 | 30 | |||
| initialActions | 1 | 0 | 2 | 0 | 1 | 2 | |||
| loadScripts | 1010 | 883 | 1551 | 94 | 1056 | 1168 | |||
| setupStore | 12 | 5 | 52 | 9 | 10 | 39 | |||
| numNetworkReqs | 15 | 6 | 84 | 21 | 8 | 75 | |||
| Browserify | Power User Home | uiStartup | 2615 | 1531 | 3761 | 506 | 3021 | 3252 | |
| load | 1639 | 930 | 2499 | 472 | 2063 | 2362 | |||
| domContentLoaded | 1638 | 929 | 2499 | 472 | 2063 | 2362 | |||
| domInteractive | 137 | 31 | 1079 | 236 | 88 | 915 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 206 | 22 | 1138 | 235 | 213 | 915 | |||
| firstReactRender | 54 | 34 | 187 | 18 | 59 | 79 | |||
| getState | 131 | 39 | 236 | 41 | 155 | 217 | |||
| initialActions | 2 | 0 | 7 | 1 | 2 | 3 | |||
| loadScripts | 1530 | 916 | 2322 | 438 | 1922 | 2182 | |||
| setupStore | 39 | 4 | 314 | 64 | 30 | 234 | |||
| numNetworkReqs | 76 | 59 | 140 | 22 | 84 | 125 | |||
| Webpack | Standard Home | uiStartup | 1621 | 1328 | 2820 | 208 | 1679 | 2023 | |
| load | 1332 | 1135 | 2515 | 167 | 1380 | 1600 | |||
| domContentLoaded | 1332 | 1135 | 2515 | 167 | 1380 | 1600 | |||
| domInteractive | 76 | 23 | 162 | 36 | 100 | 132 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 58 | 22 | 143 | 31 | 73 | 120 | |||
| firstReactRender | 44 | 33 | 101 | 11 | 48 | 58 | |||
| getState | 17 | 7 | 138 | 19 | 15 | 51 | |||
| initialActions | 1 | 0 | 3 | 1 | 2 | 2 | |||
| loadScripts | 1303 | 1117 | 2487 | 163 | 1349 | 1580 | |||
| setupStore | 15 | 6 | 114 | 16 | 12 | 48 | |||
| numNetworkReqs | 15 | 6 | 87 | 21 | 8 | 77 | |||
| Webpack | Power User Home | uiStartup | 2649 | 1818 | 3573 | 461 | 2980 | 3401 | |
| load | 1870 | 1143 | 2701 | 458 | 2318 | 2464 | |||
| domContentLoaded | 1870 | 1143 | 2700 | 458 | 2318 | 2464 | |||
| domInteractive | 162 | 29 | 1003 | 259 | 94 | 940 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 169 | 27 | 1076 | 222 | 186 | 955 | |||
| firstReactRender | 55 | 38 | 121 | 11 | 62 | 70 | |||
| getState | 135 | 77 | 274 | 50 | 163 | 241 | |||
| initialActions | 2 | 1 | 33 | 3 | 2 | 6 | |||
| loadScripts | 1775 | 1127 | 2677 | 436 | 2200 | 2413 | |||
| setupStore | 32 | 5 | 274 | 49 | 31 | 154 | |||
| numNetworkReqs | 76 | 57 | 146 | 22 | 77 | 127 |
📊 Page Load Benchmark Results
Current Commit: afc1298 | Date: 12/10/2025
📄 Localhost MetaMask Test Dapp
Samples: 100
Summary
- pageLoadTime-> current mean value: 1.04s (±136ms) 🟡 | historical mean value: 1.04s ⬆️ (historical data)
- domContentLoaded-> current mean value: 731ms (±161ms) 🟢 | historical mean value: 723ms ⬆️ (historical data)
- firstContentfulPaint-> current mean value: 90ms (±146ms) 🟢 | historical mean value: 77ms ⬆️ (historical data)
📈 Detailed Results
| Metric | Mean | Std Dev | Min | Max | P95 | P99 |
|---|---|---|---|---|---|---|
| pageLoadTime | 1.04s | 136ms | 1.00s | 2.37s | 1.07s | 2.37s |
| domContentLoaded | 731ms | 161ms | 694ms | 2.32s | 747ms | 2.32s |
| firstPaint | 90ms | 146ms | 56ms | 1.54s | 88ms | 1.54s |
| firstContentfulPaint | 90ms | 146ms | 56ms | 1.54s | 88ms | 1.54s |
| largestContentfulPaint | 0ms | 0ms | 0ms | 0ms | 0ms | 0ms |
Bundle size diffs [🚨 Warning! Bundle size has increased!]
- background: 58 Bytes (0%)
- ui: 139 Bytes (0%)
- common: 20 Bytes (0%)