fix: avatar group variant
Description
Updates the avatar group component to use the user's preferred variant instead of Jazzicon or Blockie only
- part of removing blockies usage
- also reduces circular dependencies
Changelog
CHANGELOG entry: null
Related issues
Fixes:
Manual testing steps
This only applies if multichain is off
- Connect a Dapp to 2+ accounts
- Check connected site status
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 the preferred account avatar variant from selector into AvatarGroup/AvatarAccount, removing internal blockies logic; update snapshots and dependency configs.
- UI:
AvatarGroupnow acceptsvariant(defaultMaskicon) and no longer reads ReduxgetUseBlockie.PermissionCellStatusandSiteCellTooltipusegetAvatarTypeselector and passvarianttoAvatarGroup/AvatarAccount; updatePreferredAvatarimport path.- Tests:
- Update snapshot for
site-cell-tooltipto reflect maskicon rendering.- Config:
- Tweak
.madgerctest path regex and removeui/components/component-library/**fromallowedCircularGlob.- Refresh
development/circular-deps.jsoncto reflect new/removed cycles.Written by Cursor Bugbot for commit cde1643e6ed47d1329ab5c9896e3b79c004149f5. 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 (4 files, +24 -125)
- 📁 ui/
- 📁 components/
- 📁 multichain/
- 📁 avatar-group/
- 📄
avatar-group.tsx+2 -8 - 📄
avatar-group.types.tsx+3 -0
- 📄
- 📁 pages/
- 📁 review-permissions-page/
- 📁 site-cell/
- 📁 __snapshots__/
- 📄
site-cell-tooltip.test.js.snap+18 -117 - 📄
site-cell-tooltip.js+1 -0
- 📄
- 📁 __snapshots__/
- 📁 site-cell/
- 📁 review-permissions-page/
- 📁 avatar-group/
- 📁 multichain/
- 📁 components/
🔒 @MetaMask/extension-security-team (1 files, +34 -55)
- 📁 development/
- 📄
circular-deps.jsonc+34 -55
- 📄
👨🔧 @dbrans (1 files, +34 -55)
- 📁 development/
- 📄
circular-deps.jsonc+34 -55
- 📄
👨🔧 @HowardBraham (1 files, +34 -55)
- 📁 development/
- 📄
circular-deps.jsonc+34 -55
- 📄
Builds ready [4f710ef]
- 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 (1231 ± 84 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 | 1231 | 1024 | 1423 | 84 | 1284 | 1367 |
| load | 1012 | 851 | 1215 | 74 | 1064 | 1127 | |||
| domContentLoaded | 1006 | 846 | 1210 | 73 | 1057 | 1121 | |||
| domInteractive | 21 | 15 | 40 | 6 | 21 | 37 | |||
| firstPaint | 474 | 77 | 1195 | 383 | 970 | 1084 | |||
| backgroundConnect | 209 | 189 | 270 | 14 | 215 | 238 | |||
| firstReactRender | 45 | 30 | 76 | 12 | 51 | 74 | |||
| getState | 39 | 15 | 165 | 27 | 43 | 106 | |||
| initialActions | 1 | 0 | 7 | 1 | 1 | 3 | |||
| loadScripts | 804 | 649 | 1010 | 70 | 848 | 914 | |||
| setupStore | 12 | 5 | 56 | 6 | 13 | 27 | |||
| numNetworkReqs | 8 | 6 | 30 | 6 | 6 | 29 | |||
| Browserify | Power User Home | uiStartup | 1846 | 1627 | 2342 | 112 | 1910 | 2024 | |
| load | 1058 | 870 | 1261 | 95 | 1130 | 1225 | |||
| domContentLoaded | 1047 | 861 | 1254 | 95 | 1121 | 1216 | |||
| domInteractive | 25 | 17 | 53 | 8 | 26 | 46 | |||
| firstPaint | 482 | 93 | 1275 | 398 | 993 | 1172 | |||
| backgroundConnect | 262 | 193 | 781 | 125 | 232 | 573 | |||
| firstReactRender | 42 | 35 | 59 | 4 | 43 | 50 | |||
| getState | 187 | 142 | 302 | 30 | 204 | 239 | |||
| initialActions | 1 | 0 | 2 | 1 | 1 | 2 | |||
| loadScripts | 840 | 665 | 1055 | 96 | 912 | 1006 | |||
| setupStore | 18 | 9 | 37 | 8 | 18 | 35 | |||
| numNetworkReqs | 67 | 57 | 110 | 11 | 66 | 104 | |||
| Webpack | Standard Home | uiStartup | 855 | 732 | 1019 | 56 | 890 | 959 | |
| load | 657 | 580 | 793 | 56 | 698 | 765 | |||
| domContentLoaded | 652 | 574 | 788 | 56 | 694 | 759 | |||
| domInteractive | 23 | 17 | 53 | 7 | 23 | 39 | |||
| firstPaint | 238 | 77 | 686 | 167 | 210 | 661 | |||
| backgroundConnect | 11 | 6 | 37 | 7 | 13 | 28 | |||
| firstReactRender | 63 | 35 | 242 | 46 | 64 | 145 | |||
| getState | 25 | 13 | 52 | 10 | 34 | 47 | |||
| initialActions | 1 | 0 | 2 | 1 | 1 | 1 | |||
| loadScripts | 649 | 572 | 786 | 56 | 692 | 757 | |||
| setupStore | 11 | 5 | 31 | 4 | 12 | 18 | |||
| numNetworkReqs | 8 | 6 | 30 | 6 | 6 | 29 | |||
| Webpack | Power User Home | uiStartup | 1447 | 1156 | 2032 | 174 | 1555 | 1745 | |
| load | 713 | 581 | 1016 | 88 | 772 | 866 | |||
| domContentLoaded | 706 | 574 | 1007 | 86 | 760 | 860 | |||
| domInteractive | 25 | 17 | 56 | 8 | 26 | 46 | |||
| firstPaint | 249 | 93 | 835 | 181 | 230 | 762 | |||
| backgroundConnect | 58 | 6 | 545 | 109 | 51 | 245 | |||
| firstReactRender | 46 | 38 | 61 | 5 | 48 | 57 | |||
| getState | 197 | 137 | 661 | 79 | 229 | 317 | |||
| initialActions | 1 | 0 | 2 | 1 | 1 | 2 | |||
| loadScripts | 703 | 572 | 1005 | 86 | 757 | 855 | |||
| setupStore | 16 | 9 | 45 | 9 | 14 | 38 | |||
| numNetworkReqs | 67 | 56 | 198 | 17 | 66 | 99 | |||
| Firefox | Browserify | Standard Home | uiStartup | 1245 | 1075 | 1740 | 120 | 1317 | 1435 |
| load | 1029 | 892 | 1506 | 83 | 1086 | 1164 | |||
| domContentLoaded | 1029 | 892 | 1505 | 83 | 1085 | 1164 | |||
| domInteractive | 57 | 26 | 230 | 35 | 83 | 132 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 37 | 19 | 113 | 20 | 41 | 94 | |||
| firstReactRender | 35 | 29 | 68 | 7 | 35 | 49 | |||
| getState | 11 | 6 | 92 | 10 | 10 | 22 | |||
| initialActions | 1 | 0 | 2 | 1 | 1 | 2 | |||
| loadScripts | 1005 | 875 | 1436 | 76 | 1047 | 1136 | |||
| setupStore | 11 | 5 | 121 | 14 | 10 | 22 | |||
| numNetworkReqs | 8 | 6 | 27 | 5 | 6 | 24 | |||
| Browserify | Power User Home | uiStartup | 2555 | 1609 | 3479 | 569 | 3078 | 3300 | |
| load | 1575 | 966 | 2652 | 537 | 2118 | 2281 | |||
| domContentLoaded | 1575 | 965 | 2652 | 537 | 2118 | 2281 | |||
| domInteractive | 76 | 31 | 1032 | 141 | 61 | 237 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 198 | 20 | 1192 | 272 | 210 | 1034 | |||
| firstReactRender | 53 | 34 | 178 | 17 | 56 | 80 | |||
| getState | 137 | 78 | 273 | 43 | 158 | 229 | |||
| initialActions | 2 | 1 | 32 | 3 | 2 | 3 | |||
| loadScripts | 1447 | 948 | 2421 | 479 | 1935 | 2137 | |||
| setupStore | 36 | 4 | 237 | 52 | 38 | 170 | |||
| numNetworkReqs | 68 | 53 | 113 | 13 | 70 | 103 | |||
| Webpack | Standard Home | uiStartup | 1494 | 1283 | 2924 | 190 | 1550 | 1789 | |
| load | 1212 | 1054 | 2610 | 158 | 1253 | 1309 | |||
| domContentLoaded | 1211 | 1054 | 2610 | 158 | 1253 | 1309 | |||
| domInteractive | 55 | 27 | 159 | 32 | 80 | 132 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 42 | 19 | 123 | 23 | 46 | 97 | |||
| firstReactRender | 44 | 31 | 95 | 11 | 48 | 58 | |||
| getState | 16 | 6 | 152 | 22 | 13 | 51 | |||
| initialActions | 1 | 0 | 2 | 0 | 1 | 2 | |||
| loadScripts | 1190 | 1040 | 2586 | 157 | 1232 | 1286 | |||
| setupStore | 14 | 6 | 196 | 21 | 12 | 34 | |||
| numNetworkReqs | 8 | 6 | 25 | 5 | 8 | 24 | |||
| Webpack | Power User Home | uiStartup | 2854 | 1817 | 4618 | 596 | 3300 | 3485 | |
| load | 1920 | 1129 | 2695 | 542 | 2390 | 2590 | |||
| domContentLoaded | 1919 | 1129 | 2695 | 542 | 2389 | 2590 | |||
| domInteractive | 181 | 30 | 1223 | 326 | 82 | 1054 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 154 | 24 | 1267 | 216 | 187 | 442 | |||
| firstReactRender | 56 | 37 | 129 | 13 | 58 | 90 | |||
| getState | 140 | 88 | 274 | 46 | 167 | 238 | |||
| initialActions | 2 | 1 | 43 | 6 | 2 | 3 | |||
| loadScripts | 1829 | 1111 | 2670 | 524 | 2328 | 2544 | |||
| setupStore | 44 | 5 | 393 | 75 | 35 | 229 | |||
| numNetworkReqs | 69 | 51 | 113 | 15 | 68 | 110 |
📊 Page Load Benchmark Results
Current Commit: 4f710ef | Date: 12/6/2025
📄 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: 714ms (±36ms) 🟢 | historical mean value: 718ms ⬇️ (historical data)
- firstContentfulPaint-> current mean value: 74ms (±12ms) 🟢 | historical mean value: 76ms ⬇️ (historical data)
📈 Detailed Results
| Metric | Mean | Std Dev | Min | Max | P95 | P99 |
|---|---|---|---|---|---|---|
| pageLoadTime | 1.03s | 38ms | 1.00s | 1.31s | 1.06s | 1.31s |
| domContentLoaded | 714ms | 36ms | 693ms | 979ms | 738ms | 979ms |
| firstPaint | 74ms | 12ms | 60ms | 172ms | 84ms | 172ms |
| firstContentfulPaint | 74ms | 12ms | 60ms | 172ms | 84ms | 172ms |
| largestContentfulPaint | 0ms | 0ms | 0ms | 0ms | 0ms | 0ms |
Bundle size diffs [🚀 Bundle size reduced!]
- background: 58 Bytes (0%)
- ui: 628.24 KiB (8.12%)
- common: -628.31 KiB (-7.05%)
Builds ready [b968131]
- 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 (1237 ± 73 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 | 1237 | 1066 | 1484 | 73 | 1286 | 1353 |
| load | 1011 | 874 | 1247 | 64 | 1061 | 1090 | |||
| domContentLoaded | 1005 | 862 | 1240 | 64 | 1051 | 1086 | |||
| domInteractive | 21 | 16 | 46 | 7 | 21 | 39 | |||
| firstPaint | 486 | 80 | 1252 | 396 | 1009 | 1078 | |||
| backgroundConnect | 213 | 191 | 253 | 11 | 219 | 237 | |||
| firstReactRender | 47 | 32 | 90 | 13 | 55 | 73 | |||
| getState | 37 | 15 | 111 | 16 | 41 | 60 | |||
| initialActions | 1 | 0 | 4 | 1 | 1 | 3 | |||
| loadScripts | 799 | 666 | 1022 | 61 | 844 | 872 | |||
| setupStore | 12 | 7 | 29 | 4 | 14 | 20 | |||
| numNetworkReqs | 8 | 6 | 30 | 6 | 6 | 29 | |||
| Browserify | Power User Home | uiStartup | 1842 | 1602 | 2067 | 105 | 1910 | 1992 | |
| load | 1063 | 892 | 1277 | 97 | 1137 | 1220 | |||
| domContentLoaded | 1051 | 875 | 1269 | 97 | 1125 | 1209 | |||
| domInteractive | 25 | 16 | 51 | 8 | 26 | 45 | |||
| firstPaint | 634 | 102 | 1230 | 432 | 1075 | 1215 | |||
| backgroundConnect | 270 | 192 | 608 | 124 | 234 | 564 | |||
| firstReactRender | 41 | 35 | 52 | 3 | 43 | 48 | |||
| getState | 183 | 141 | 262 | 26 | 203 | 229 | |||
| initialActions | 1 | 0 | 2 | 1 | 1 | 2 | |||
| loadScripts | 843 | 663 | 1065 | 101 | 920 | 1010 | |||
| setupStore | 17 | 7 | 38 | 8 | 17 | 34 | |||
| numNetworkReqs | 67 | 58 | 110 | 12 | 66 | 105 | |||
| Webpack | Standard Home | uiStartup | 843 | 719 | 1151 | 64 | 865 | 970 | |
| load | 652 | 577 | 817 | 54 | 690 | 751 | |||
| domContentLoaded | 647 | 572 | 811 | 54 | 685 | 746 | |||
| domInteractive | 23 | 16 | 52 | 7 | 23 | 40 | |||
| firstPaint | 222 | 93 | 775 | 160 | 198 | 701 | |||
| backgroundConnect | 11 | 6 | 37 | 7 | 12 | 29 | |||
| firstReactRender | 61 | 35 | 249 | 44 | 56 | 151 | |||
| getState | 24 | 13 | 54 | 10 | 31 | 45 | |||
| initialActions | 1 | 0 | 2 | 1 | 1 | 2 | |||
| loadScripts | 644 | 570 | 808 | 54 | 683 | 744 | |||
| setupStore | 10 | 7 | 42 | 4 | 10 | 14 | |||
| numNetworkReqs | 8 | 6 | 33 | 6 | 6 | 26 | |||
| Webpack | Power User Home | uiStartup | 1484 | 1188 | 1854 | 146 | 1595 | 1704 | |
| load | 750 | 593 | 926 | 92 | 844 | 905 | |||
| domContentLoaded | 743 | 585 | 918 | 91 | 833 | 897 | |||
| domInteractive | 29 | 18 | 251 | 25 | 27 | 61 | |||
| firstPaint | 271 | 98 | 889 | 207 | 250 | 804 | |||
| backgroundConnect | 45 | 7 | 554 | 87 | 31 | 230 | |||
| firstReactRender | 47 | 40 | 64 | 4 | 49 | 55 | |||
| getState | 195 | 140 | 332 | 44 | 235 | 305 | |||
| initialActions | 1 | 0 | 2 | 0 | 1 | 1 | |||
| loadScripts | 740 | 583 | 912 | 91 | 831 | 895 | |||
| setupStore | 15 | 8 | 46 | 8 | 14 | 37 | |||
| numNetworkReqs | 66 | 57 | 109 | 11 | 66 | 97 | |||
| Firefox | Browserify | Standard Home | uiStartup | 1259 | 1067 | 1610 | 122 | 1344 | 1514 |
| load | 1040 | 912 | 1317 | 79 | 1083 | 1206 | |||
| domContentLoaded | 1040 | 912 | 1316 | 79 | 1083 | 1206 | |||
| domInteractive | 55 | 32 | 139 | 27 | 81 | 110 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 37 | 17 | 132 | 23 | 34 | 98 | |||
| firstReactRender | 35 | 29 | 66 | 8 | 35 | 58 | |||
| getState | 10 | 6 | 50 | 6 | 10 | 22 | |||
| initialActions | 1 | 0 | 3 | 1 | 1 | 2 | |||
| loadScripts | 1017 | 896 | 1267 | 71 | 1057 | 1169 | |||
| setupStore | 11 | 5 | 182 | 17 | 9 | 17 | |||
| numNetworkReqs | 8 | 6 | 27 | 5 | 7 | 24 | |||
| Browserify | Power User Home | uiStartup | 2568 | 1594 | 4177 | 586 | 3058 | 3259 | |
| load | 1565 | 927 | 2442 | 528 | 2087 | 2321 | |||
| domContentLoaded | 1564 | 927 | 2441 | 528 | 2086 | 2321 | |||
| domInteractive | 88 | 29 | 1054 | 170 | 67 | 223 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 173 | 21 | 1132 | 234 | 183 | 983 | |||
| firstReactRender | 52 | 34 | 127 | 13 | 54 | 80 | |||
| getState | 147 | 74 | 305 | 48 | 171 | 240 | |||
| initialActions | 2 | 0 | 8 | 1 | 2 | 3 | |||
| loadScripts | 1456 | 912 | 2367 | 472 | 1937 | 2187 | |||
| setupStore | 70 | 5 | 1054 | 159 | 56 | 332 | |||
| numNetworkReqs | 68 | 55 | 110 | 12 | 71 | 98 | |||
| Webpack | Standard Home | uiStartup | 1536 | 1287 | 2995 | 203 | 1631 | 1758 | |
| load | 1245 | 1064 | 2735 | 170 | 1296 | 1389 | |||
| domContentLoaded | 1245 | 1064 | 2735 | 170 | 1296 | 1389 | |||
| domInteractive | 67 | 28 | 1530 | 149 | 79 | 114 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 46 | 18 | 140 | 26 | 46 | 115 | |||
| firstReactRender | 42 | 33 | 89 | 8 | 44 | 58 | |||
| getState | 23 | 6 | 276 | 41 | 14 | 159 | |||
| initialActions | 1 | 0 | 3 | 1 | 2 | 2 | |||
| loadScripts | 1222 | 1051 | 2712 | 169 | 1268 | 1362 | |||
| setupStore | 17 | 6 | 166 | 23 | 14 | 70 | |||
| numNetworkReqs | 8 | 6 | 35 | 6 | 8 | 24 | |||
| Webpack | Power User Home | uiStartup | 2877 | 1847 | 7104 | 704 | 3285 | 3577 | |
| load | 1873 | 1168 | 6001 | 680 | 2376 | 2582 | |||
| domContentLoaded | 1873 | 1166 | 6001 | 681 | 2376 | 2582 | |||
| domInteractive | 158 | 30 | 3274 | 397 | 85 | 1034 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 144 | 27 | 1281 | 228 | 135 | 1009 | |||
| firstReactRender | 59 | 42 | 181 | 19 | 61 | 95 | |||
| getState | 138 | 86 | 285 | 47 | 171 | 253 | |||
| initialActions | 2 | 1 | 7 | 1 | 2 | 3 | |||
| loadScripts | 1790 | 1147 | 5815 | 649 | 2288 | 2557 | |||
| setupStore | 35 | 4 | 1036 | 111 | 23 | 89 | |||
| numNetworkReqs | 70 | 47 | 115 | 16 | 70 | 110 |
📊 Page Load Benchmark Results
Current Commit: b968131 | Date: 12/6/2025
📄 Localhost MetaMask Test Dapp
Samples: 100
Summary
- pageLoadTime-> current mean value: 1.04s (±38ms) 🟡 | historical mean value: 1.03s ⬆️ (historical data)
- domContentLoaded-> current mean value: 728ms (±37ms) 🟢 | historical mean value: 718ms ⬆️ (historical data)
- firstContentfulPaint-> current mean value: 78ms (±12ms) 🟢 | historical mean value: 76ms ⬆️ (historical data)
📈 Detailed Results
| Metric | Mean | Std Dev | Min | Max | P95 | P99 |
|---|---|---|---|---|---|---|
| pageLoadTime | 1.04s | 38ms | 1.01s | 1.33s | 1.07s | 1.33s |
| domContentLoaded | 728ms | 37ms | 702ms | 999ms | 754ms | 999ms |
| firstPaint | 78ms | 12ms | 60ms | 176ms | 84ms | 176ms |
| firstContentfulPaint | 78ms | 12ms | 60ms | 176ms | 84ms | 176ms |
| largestContentfulPaint | 0ms | 0ms | 0ms | 0ms | 0ms | 0ms |
Bundle size diffs [🚀 Bundle size reduced!]
- background: 58 Bytes (0%)
- ui: 628.24 KiB (8.12%)
- common: -628.31 KiB (-7.05%)
Builds ready [d6e37d3]
- 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 (1229 ± 81 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 | 1229 | 1028 | 1478 | 81 | 1281 | 1356 |
| load | 1011 | 855 | 1162 | 66 | 1054 | 1111 | |||
| domContentLoaded | 1005 | 850 | 1157 | 66 | 1048 | 1105 | |||
| domInteractive | 21 | 15 | 54 | 8 | 21 | 38 | |||
| firstPaint | 502 | 91 | 1163 | 387 | 992 | 1100 | |||
| backgroundConnect | 210 | 191 | 255 | 10 | 216 | 231 | |||
| firstReactRender | 45 | 29 | 125 | 16 | 49 | 74 | |||
| getState | 38 | 16 | 136 | 23 | 43 | 106 | |||
| initialActions | 1 | 0 | 4 | 1 | 1 | 2 | |||
| loadScripts | 801 | 662 | 955 | 63 | 845 | 895 | |||
| setupStore | 12 | 7 | 44 | 5 | 13 | 22 | |||
| numNetworkReqs | 8 | 6 | 31 | 7 | 6 | 30 | |||
| Browserify | Power User Home | uiStartup | 1870 | 1612 | 2738 | 154 | 1921 | 2183 | |
| load | 1064 | 891 | 1444 | 100 | 1136 | 1211 | |||
| domContentLoaded | 1051 | 884 | 1431 | 99 | 1120 | 1195 | |||
| domInteractive | 26 | 16 | 69 | 8 | 26 | 45 | |||
| firstPaint | 534 | 111 | 1271 | 393 | 1014 | 1149 | |||
| backgroundConnect | 254 | 195 | 755 | 108 | 229 | 533 | |||
| firstReactRender | 42 | 34 | 74 | 6 | 44 | 54 | |||
| getState | 185 | 137 | 326 | 32 | 203 | 244 | |||
| initialActions | 1 | 0 | 3 | 1 | 1 | 2 | |||
| loadScripts | 847 | 685 | 1226 | 100 | 918 | 991 | |||
| setupStore | 18 | 9 | 54 | 9 | 17 | 37 | |||
| numNetworkReqs | 68 | 57 | 202 | 18 | 66 | 108 | |||
| Webpack | Standard Home | uiStartup | 827 | 704 | 1120 | 68 | 844 | 958 | |
| load | 635 | 557 | 837 | 60 | 672 | 756 | |||
| domContentLoaded | 630 | 553 | 828 | 60 | 668 | 751 | |||
| domInteractive | 21 | 16 | 41 | 6 | 22 | 38 | |||
| firstPaint | 234 | 82 | 836 | 174 | 202 | 679 | |||
| backgroundConnect | 10 | 5 | 28 | 6 | 12 | 27 | |||
| firstReactRender | 62 | 34 | 231 | 45 | 73 | 162 | |||
| getState | 24 | 13 | 44 | 8 | 30 | 40 | |||
| initialActions | 1 | 0 | 3 | 1 | 1 | 2 | |||
| loadScripts | 627 | 550 | 826 | 59 | 666 | 749 | |||
| setupStore | 11 | 7 | 32 | 5 | 12 | 18 | |||
| numNetworkReqs | 8 | 6 | 30 | 6 | 6 | 29 | |||
| Webpack | Power User Home | uiStartup | 1468 | 1179 | 1935 | 154 | 1562 | 1758 | |
| load | 726 | 585 | 932 | 80 | 769 | 884 | |||
| domContentLoaded | 719 | 579 | 922 | 79 | 763 | 875 | |||
| domInteractive | 27 | 16 | 77 | 11 | 28 | 60 | |||
| firstPaint | 259 | 102 | 927 | 194 | 242 | 770 | |||
| backgroundConnect | 42 | 7 | 553 | 83 | 26 | 139 | |||
| firstReactRender | 47 | 39 | 88 | 6 | 49 | 57 | |||
| getState | 192 | 142 | 332 | 42 | 226 | 265 | |||
| initialActions | 1 | 0 | 2 | 1 | 1 | 2 | |||
| loadScripts | 717 | 577 | 919 | 78 | 755 | 873 | |||
| setupStore | 17 | 9 | 44 | 9 | 16 | 39 | |||
| numNetworkReqs | 66 | 54 | 102 | 10 | 65 | 94 | |||
| Firefox | Browserify | Standard Home | uiStartup | 1226 | 1057 | 1627 | 118 | 1315 | 1424 |
| load | 1004 | 897 | 1235 | 61 | 1049 | 1118 | |||
| domContentLoaded | 1003 | 897 | 1235 | 61 | 1049 | 1118 | |||
| domInteractive | 51 | 30 | 157 | 27 | 65 | 109 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 35 | 21 | 122 | 19 | 33 | 91 | |||
| firstReactRender | 33 | 28 | 58 | 6 | 35 | 47 | |||
| getState | 14 | 6 | 209 | 28 | 9 | 22 | |||
| initialActions | 1 | 0 | 2 | 0 | 1 | 2 | |||
| loadScripts | 982 | 881 | 1153 | 56 | 1027 | 1099 | |||
| setupStore | 9 | 6 | 29 | 4 | 9 | 23 | |||
| numNetworkReqs | 8 | 6 | 25 | 5 | 7 | 24 | |||
| Browserify | Power User Home | uiStartup | 2637 | 1616 | 4062 | 640 | 3188 | 3431 | |
| load | 1627 | 984 | 2509 | 554 | 2197 | 2387 | |||
| domContentLoaded | 1626 | 984 | 2508 | 554 | 2197 | 2387 | |||
| domInteractive | 124 | 32 | 1290 | 249 | 77 | 1050 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 177 | 27 | 1242 | 246 | 180 | 1030 | |||
| firstReactRender | 56 | 36 | 105 | 14 | 61 | 92 | |||
| getState | 151 | 83 | 312 | 48 | 177 | 247 | |||
| initialActions | 3 | 1 | 44 | 5 | 2 | 7 | |||
| loadScripts | 1536 | 968 | 2413 | 522 | 2085 | 2324 | |||
| setupStore | 64 | 5 | 1099 | 133 | 49 | 347 | |||
| numNetworkReqs | 69 | 54 | 112 | 14 | 67 | 108 | |||
| Webpack | Standard Home | uiStartup | 1493 | 1321 | 2101 | 127 | 1568 | 1711 | |
| load | 1213 | 1095 | 1443 | 74 | 1266 | 1342 | |||
| domContentLoaded | 1212 | 1095 | 1443 | 74 | 1262 | 1341 | |||
| domInteractive | 60 | 26 | 132 | 32 | 81 | 129 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 41 | 18 | 126 | 19 | 44 | 94 | |||
| firstReactRender | 43 | 34 | 91 | 10 | 47 | 58 | |||
| getState | 17 | 7 | 171 | 25 | 15 | 48 | |||
| initialActions | 2 | 0 | 40 | 4 | 2 | 2 | |||
| loadScripts | 1190 | 1078 | 1401 | 71 | 1236 | 1314 | |||
| setupStore | 15 | 6 | 188 | 21 | 12 | 33 | |||
| numNetworkReqs | 8 | 6 | 27 | 5 | 7 | 24 | |||
| Webpack | Power User Home | uiStartup | 2863 | 1861 | 4785 | 578 | 3283 | 3485 | |
| load | 1912 | 1139 | 3636 | 547 | 2374 | 2582 | |||
| domContentLoaded | 1912 | 1139 | 3636 | 547 | 2374 | 2581 | |||
| domInteractive | 161 | 29 | 1233 | 309 | 71 | 1073 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 173 | 26 | 1183 | 242 | 187 | 1020 | |||
| firstReactRender | 59 | 40 | 127 | 12 | 63 | 76 | |||
| getState | 163 | 83 | 1069 | 138 | 181 | 263 | |||
| initialActions | 2 | 1 | 51 | 5 | 2 | 3 | |||
| loadScripts | 1799 | 1124 | 2745 | 501 | 2260 | 2555 | |||
| setupStore | 54 | 5 | 1186 | 132 | 41 | 264 | |||
| numNetworkReqs | 69 | 55 | 130 | 15 | 68 | 111 |
📊 Page Load Benchmark Results
Current Commit: d6e37d3 | Date: 12/6/2025
📄 Localhost MetaMask Test Dapp
Samples: 100
Summary
- pageLoadTime-> current mean value: 1.04s (±47ms) 🟡 | historical mean value: 1.03s ⬆️ (historical data)
- domContentLoaded-> current mean value: 728ms (±44ms) 🟢 | historical mean value: 718ms ⬆️ (historical data)
- firstContentfulPaint-> current mean value: 78ms (±10ms) 🟢 | historical mean value: 76ms ⬆️ (historical data)
📈 Detailed Results
| Metric | Mean | Std Dev | Min | Max | P95 | P99 |
|---|---|---|---|---|---|---|
| pageLoadTime | 1.04s | 47ms | 1.02s | 1.33s | 1.09s | 1.33s |
| domContentLoaded | 728ms | 44ms | 702ms | 1.00s | 771ms | 1.00s |
| firstPaint | 78ms | 10ms | 60ms | 160ms | 92ms | 160ms |
| firstContentfulPaint | 78ms | 10ms | 60ms | 160ms | 92ms | 160ms |
| largestContentfulPaint | 0ms | 0ms | 0ms | 0ms | 0ms | 0ms |
Bundle size diffs [🚀 Bundle size reduced!]
- background: 58 Bytes (0%)
- ui: 628.24 KiB (8.12%)
- common: -628.31 KiB (-7.05%)
Builds ready [d0f7881]
- 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 (1213 ± 84 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 | 1213 | 1018 | 1517 | 84 | 1258 | 1356 |
| load | 1008 | 852 | 1246 | 64 | 1043 | 1105 | |||
| domContentLoaded | 1002 | 849 | 1242 | 63 | 1037 | 1102 | |||
| domInteractive | 20 | 15 | 43 | 6 | 21 | 37 | |||
| firstPaint | 481 | 82 | 1102 | 387 | 991 | 1055 | |||
| backgroundConnect | 211 | 193 | 254 | 11 | 217 | 237 | |||
| firstReactRender | 45 | 28 | 85 | 13 | 55 | 73 | |||
| getState | 34 | 17 | 94 | 14 | 40 | 58 | |||
| initialActions | 1 | 0 | 6 | 1 | 1 | 3 | |||
| loadScripts | 798 | 649 | 1001 | 58 | 831 | 877 | |||
| setupStore | 10 | 6 | 29 | 3 | 11 | 16 | |||
| numNetworkReqs | 8 | 6 | 30 | 6 | 6 | 29 | |||
| Browserify | Power User Home | uiStartup | 1857 | 1618 | 2291 | 118 | 1929 | 2046 | |
| load | 1051 | 878 | 1236 | 97 | 1138 | 1209 | |||
| domContentLoaded | 1038 | 873 | 1228 | 95 | 1121 | 1191 | |||
| domInteractive | 25 | 17 | 53 | 8 | 26 | 46 | |||
| firstPaint | 533 | 105 | 1250 | 407 | 1036 | 1191 | |||
| backgroundConnect | 274 | 196 | 656 | 121 | 245 | 565 | |||
| firstReactRender | 43 | 35 | 84 | 7 | 43 | 54 | |||
| getState | 186 | 143 | 316 | 32 | 205 | 248 | |||
| initialActions | 1 | 0 | 2 | 1 | 1 | 2 | |||
| loadScripts | 829 | 666 | 1018 | 95 | 916 | 980 | |||
| setupStore | 15 | 8 | 46 | 7 | 14 | 34 | |||
| numNetworkReqs | 68 | 58 | 196 | 17 | 65 | 105 | |||
| Webpack | Standard Home | uiStartup | 828 | 709 | 1001 | 60 | 871 | 937 | |
| load | 642 | 560 | 843 | 61 | 682 | 755 | |||
| domContentLoaded | 637 | 557 | 838 | 61 | 677 | 749 | |||
| domInteractive | 22 | 14 | 49 | 7 | 22 | 38 | |||
| firstPaint | 244 | 75 | 799 | 193 | 195 | 702 | |||
| backgroundConnect | 11 | 5 | 78 | 9 | 12 | 29 | |||
| firstReactRender | 58 | 33 | 235 | 43 | 51 | 174 | |||
| getState | 23 | 13 | 48 | 8 | 27 | 39 | |||
| initialActions | 1 | 0 | 3 | 1 | 1 | 2 | |||
| loadScripts | 635 | 555 | 836 | 61 | 675 | 747 | |||
| setupStore | 10 | 6 | 26 | 4 | 11 | 18 | |||
| numNetworkReqs | 8 | 6 | 30 | 6 | 6 | 26 | |||
| Webpack | Power User Home | uiStartup | 1459 | 1184 | 1810 | 143 | 1579 | 1694 | |
| load | 734 | 588 | 952 | 87 | 800 | 905 | |||
| domContentLoaded | 727 | 583 | 944 | 85 | 783 | 894 | |||
| domInteractive | 27 | 17 | 67 | 10 | 30 | 49 | |||
| firstPaint | 281 | 93 | 909 | 222 | 255 | 815 | |||
| backgroundConnect | 35 | 7 | 536 | 61 | 32 | 124 | |||
| firstReactRender | 47 | 39 | 62 | 4 | 50 | 54 | |||
| getState | 198 | 141 | 304 | 40 | 232 | 289 | |||
| initialActions | 1 | 0 | 2 | 0 | 1 | 1 | |||
| loadScripts | 724 | 581 | 933 | 85 | 780 | 892 | |||
| setupStore | 15 | 8 | 43 | 7 | 15 | 35 | |||
| numNetworkReqs | 67 | 56 | 106 | 11 | 65 | 101 | |||
| Firefox | Browserify | Standard Home | uiStartup | 1256 | 1101 | 1731 | 128 | 1314 | 1516 |
| load | 1043 | 916 | 1436 | 99 | 1076 | 1280 | |||
| domContentLoaded | 1043 | 916 | 1436 | 99 | 1076 | 1280 | |||
| domInteractive | 49 | 21 | 96 | 20 | 59 | 89 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 40 | 22 | 140 | 23 | 44 | 96 | |||
| firstReactRender | 34 | 29 | 59 | 6 | 35 | 49 | |||
| getState | 9 | 6 | 29 | 3 | 9 | 15 | |||
| initialActions | 1 | 0 | 2 | 1 | 1 | 2 | |||
| loadScripts | 1017 | 900 | 1376 | 89 | 1039 | 1211 | |||
| setupStore | 9 | 6 | 25 | 3 | 9 | 14 | |||
| numNetworkReqs | 8 | 6 | 25 | 5 | 7 | 24 | |||
| Browserify | Power User Home | uiStartup | 2600 | 1623 | 3497 | 589 | 3085 | 3306 | |
| load | 1602 | 957 | 2552 | 545 | 2148 | 2351 | |||
| domContentLoaded | 1602 | 957 | 2552 | 545 | 2148 | 2351 | |||
| domInteractive | 141 | 32 | 1032 | 259 | 80 | 1002 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 151 | 19 | 1110 | 205 | 173 | 419 | |||
| firstReactRender | 56 | 35 | 174 | 19 | 59 | 92 | |||
| getState | 147 | 69 | 1046 | 99 | 161 | 232 | |||
| initialActions | 2 | 0 | 53 | 5 | 2 | 3 | |||
| loadScripts | 1520 | 942 | 2361 | 505 | 2026 | 2275 | |||
| setupStore | 73 | 4 | 1094 | 190 | 44 | 301 | |||
| numNetworkReqs | 68 | 54 | 112 | 12 | 70 | 99 | |||
| Webpack | Standard Home | uiStartup | 1524 | 1300 | 2263 | 161 | 1599 | 1874 | |
| load | 1226 | 1078 | 1608 | 87 | 1288 | 1352 | |||
| domContentLoaded | 1226 | 1078 | 1604 | 87 | 1288 | 1351 | |||
| domInteractive | 56 | 28 | 196 | 32 | 79 | 128 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 41 | 19 | 116 | 17 | 44 | 81 | |||
| firstReactRender | 43 | 33 | 90 | 10 | 45 | 59 | |||
| getState | 21 | 7 | 207 | 33 | 16 | 86 | |||
| initialActions | 1 | 0 | 3 | 0 | 1 | 2 | |||
| loadScripts | 1204 | 1063 | 1586 | 86 | 1264 | 1325 | |||
| setupStore | 15 | 6 | 156 | 20 | 13 | 43 | |||
| numNetworkReqs | 8 | 6 | 33 | 6 | 8 | 25 | |||
| Webpack | Power User Home | uiStartup | 2834 | 1731 | 4021 | 607 | 3312 | 3446 | |
| load | 1926 | 1135 | 2891 | 540 | 2387 | 2556 | |||
| domContentLoaded | 1926 | 1134 | 2891 | 541 | 2387 | 2556 | |||
| domInteractive | 223 | 28 | 1443 | 374 | 103 | 1074 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 144 | 26 | 1176 | 203 | 162 | 299 | |||
| firstReactRender | 58 | 38 | 127 | 15 | 61 | 95 | |||
| getState | 139 | 85 | 293 | 45 | 163 | 238 | |||
| initialActions | 3 | 0 | 66 | 8 | 2 | 3 | |||
| loadScripts | 1863 | 1118 | 2870 | 524 | 2339 | 2509 | |||
| setupStore | 43 | 4 | 1130 | 124 | 25 | 232 | |||
| numNetworkReqs | 68 | 52 | 111 | 13 | 70 | 104 |
📊 Page Load Benchmark Results
Current Commit: d0f7881 | Date: 12/6/2025
📄 Localhost MetaMask Test Dapp
Samples: 100
Summary
- pageLoadTime-> current mean value: 1.03s (±37ms) 🟡 | historical mean value: 1.03s ⬆️ (historical data)
- domContentLoaded-> current mean value: 720ms (±35ms) 🟢 | historical mean value: 718ms ⬆️ (historical data)
- firstContentfulPaint-> current mean value: 76ms (±10ms) 🟢 | historical mean value: 76ms ⬇️ (historical data)
📈 Detailed Results
| Metric | Mean | Std Dev | Min | Max | P95 | P99 |
|---|---|---|---|---|---|---|
| pageLoadTime | 1.03s | 37ms | 1.01s | 1.30s | 1.07s | 1.30s |
| domContentLoaded | 720ms | 35ms | 701ms | 981ms | 748ms | 981ms |
| firstPaint | 76ms | 10ms | 60ms | 156ms | 84ms | 156ms |
| firstContentfulPaint | 76ms | 10ms | 60ms | 156ms | 84ms | 156ms |
| largestContentfulPaint | 0ms | 0ms | 0ms | 0ms | 0ms | 0ms |
Bundle size diffs [🚨 Warning! Bundle size has increased!]
- background: 58 Bytes (0%)
- ui: 167 Bytes (0%)
- common: 259 Bytes (0%)
Builds ready [cde1643]
- 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 (1246 ± 85 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 | 1246 | 1086 | 1464 | 85 | 1302 | 1399 |
| load | 1025 | 881 | 1271 | 78 | 1074 | 1189 | |||
| domContentLoaded | 1020 | 872 | 1261 | 78 | 1069 | 1184 | |||
| domInteractive | 21 | 15 | 41 | 6 | 21 | 36 | |||
| firstPaint | 460 | 78 | 1112 | 388 | 1019 | 1096 | |||
| backgroundConnect | 209 | 192 | 264 | 12 | 215 | 234 | |||
| firstReactRender | 47 | 31 | 115 | 15 | 58 | 79 | |||
| getState | 34 | 16 | 134 | 17 | 38 | 57 | |||
| initialActions | 1 | 0 | 9 | 1 | 1 | 3 | |||
| loadScripts | 817 | 654 | 1050 | 76 | 867 | 961 | |||
| setupStore | 13 | 7 | 32 | 5 | 14 | 26 | |||
| numNetworkReqs | 8 | 6 | 30 | 7 | 6 | 30 | |||
| Browserify | Power User Home | uiStartup | 1833 | 1515 | 2189 | 117 | 1903 | 2021 | |
| load | 1055 | 880 | 1274 | 96 | 1135 | 1216 | |||
| domContentLoaded | 1043 | 873 | 1264 | 94 | 1121 | 1203 | |||
| domInteractive | 25 | 16 | 63 | 8 | 26 | 48 | |||
| firstPaint | 582 | 93 | 1277 | 422 | 1029 | 1175 | |||
| backgroundConnect | 254 | 199 | 602 | 94 | 242 | 567 | |||
| firstReactRender | 42 | 34 | 72 | 6 | 44 | 54 | |||
| getState | 188 | 141 | 321 | 32 | 203 | 257 | |||
| initialActions | 1 | 0 | 3 | 1 | 1 | 2 | |||
| loadScripts | 832 | 674 | 1053 | 94 | 909 | 991 | |||
| setupStore | 15 | 9 | 50 | 7 | 15 | 34 | |||
| numNetworkReqs | 66 | 57 | 106 | 11 | 65 | 101 | |||
| Webpack | Standard Home | uiStartup | 832 | 708 | 1015 | 61 | 863 | 935 | |
| load | 637 | 552 | 805 | 54 | 677 | 751 | |||
| domContentLoaded | 632 | 547 | 798 | 54 | 674 | 746 | |||
| domInteractive | 22 | 16 | 42 | 6 | 23 | 39 | |||
| firstPaint | 213 | 76 | 707 | 148 | 198 | 672 | |||
| backgroundConnect | 11 | 5 | 35 | 7 | 13 | 28 | |||
| firstReactRender | 64 | 34 | 240 | 45 | 70 | 165 | |||
| getState | 25 | 12 | 53 | 9 | 32 | 43 | |||
| initialActions | 1 | 0 | 5 | 1 | 1 | 2 | |||
| loadScripts | 629 | 545 | 794 | 54 | 672 | 744 | |||
| setupStore | 10 | 6 | 28 | 4 | 12 | 16 | |||
| numNetworkReqs | 8 | 6 | 30 | 6 | 6 | 29 | |||
| Webpack | Power User Home | uiStartup | 1487 | 1209 | 2083 | 162 | 1596 | 1801 | |
| load | 738 | 591 | 998 | 98 | 819 | 922 | |||
| domContentLoaded | 730 | 585 | 987 | 96 | 810 | 913 | |||
| domInteractive | 27 | 18 | 77 | 10 | 28 | 53 | |||
| firstPaint | 293 | 115 | 889 | 220 | 247 | 840 | |||
| backgroundConnect | 49 | 6 | 597 | 78 | 58 | 159 | |||
| firstReactRender | 47 | 40 | 71 | 5 | 49 | 60 | |||
| getState | 195 | 145 | 347 | 46 | 234 | 291 | |||
| initialActions | 1 | 0 | 3 | 1 | 1 | 1 | |||
| loadScripts | 728 | 583 | 984 | 96 | 807 | 911 | |||
| setupStore | 15 | 7 | 41 | 8 | 14 | 37 | |||
| numNetworkReqs | 65 | 56 | 108 | 10 | 66 | 95 | |||
| Firefox | Browserify | Standard Home | uiStartup | 1221 | 1068 | 1683 | 123 | 1285 | 1481 |
| load | 1011 | 902 | 1418 | 84 | 1047 | 1199 | |||
| domContentLoaded | 1010 | 902 | 1418 | 85 | 1047 | 1199 | |||
| domInteractive | 48 | 31 | 162 | 22 | 58 | 91 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 33 | 19 | 120 | 19 | 33 | 88 | |||
| firstReactRender | 33 | 28 | 50 | 4 | 35 | 45 | |||
| getState | 10 | 6 | 31 | 4 | 10 | 18 | |||
| initialActions | 1 | 0 | 2 | 1 | 1 | 2 | |||
| loadScripts | 991 | 889 | 1393 | 81 | 1026 | 1173 | |||
| setupStore | 10 | 5 | 83 | 8 | 9 | 22 | |||
| numNetworkReqs | 8 | 6 | 26 | 5 | 7 | 25 | |||
| Browserify | Power User Home | uiStartup | 2538 | 1613 | 3237 | 528 | 2970 | 3147 | |
| load | 1562 | 935 | 2366 | 510 | 2039 | 2246 | |||
| domContentLoaded | 1561 | 929 | 2366 | 510 | 2038 | 2245 | |||
| domInteractive | 113 | 31 | 1037 | 230 | 66 | 1000 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 156 | 22 | 1172 | 240 | 166 | 977 | |||
| firstReactRender | 52 | 33 | 184 | 18 | 54 | 87 | |||
| getState | 136 | 79 | 366 | 49 | 164 | 229 | |||
| initialActions | 2 | 0 | 45 | 5 | 2 | 3 | |||
| loadScripts | 1471 | 919 | 2281 | 483 | 1929 | 2209 | |||
| setupStore | 39 | 4 | 388 | 71 | 33 | 227 | |||
| numNetworkReqs | 69 | 53 | 114 | 13 | 76 | 93 | |||
| Webpack | Standard Home | uiStartup | 1534 | 1299 | 1961 | 130 | 1626 | 1752 | |
| load | 1236 | 1071 | 1633 | 99 | 1301 | 1399 | |||
| domContentLoaded | 1236 | 1071 | 1633 | 99 | 1301 | 1399 | |||
| domInteractive | 58 | 26 | 273 | 38 | 80 | 133 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 43 | 18 | 126 | 23 | 45 | 105 | |||
| firstReactRender | 45 | 35 | 98 | 12 | 46 | 57 | |||
| getState | 16 | 7 | 189 | 24 | 14 | 28 | |||
| initialActions | 1 | 0 | 3 | 1 | 2 | 2 | |||
| loadScripts | 1213 | 1054 | 1602 | 98 | 1278 | 1373 | |||
| setupStore | 15 | 6 | 206 | 24 | 11 | 50 | |||
| numNetworkReqs | 8 | 6 | 26 | 5 | 8 | 24 | |||
| Webpack | Power User Home | uiStartup | 2817 | 1772 | 5009 | 592 | 3225 | 3495 | |
| load | 1877 | 1155 | 3938 | 541 | 2317 | 2469 | |||
| domContentLoaded | 1877 | 1155 | 3937 | 541 | 2317 | 2469 | |||
| domInteractive | 208 | 29 | 1241 | 348 | 99 | 1036 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 140 | 21 | 1111 | 195 | 168 | 353 | |||
| firstReactRender | 56 | 34 | 142 | 15 | 61 | 96 | |||
| getState | 140 | 73 | 349 | 53 | 175 | 244 | |||
| initialActions | 3 | 1 | 40 | 6 | 2 | 7 | |||
| loadScripts | 1804 | 1132 | 3781 | 519 | 2218 | 2432 | |||
| setupStore | 52 | 4 | 1053 | 123 | 36 | 285 | |||
| numNetworkReqs | 68 | 52 | 111 | 12 | 69 | 101 |
📊 Page Load Benchmark Results
Current Commit: cde1643 | Date: 12/6/2025
📄 Localhost MetaMask Test Dapp
Samples: 100
Summary
- pageLoadTime-> current mean value: 1.02s (±175ms) 🟡 | historical mean value: 1.03s ⬇️ (historical data)
- domContentLoaded-> current mean value: 706ms (±172ms) 🟢 | historical mean value: 718ms ⬇️ (historical data)
- firstContentfulPaint-> current mean value: 90ms (±154ms) 🟢 | historical mean value: 76ms ⬆️ (historical data)
📈 Detailed Results
| Metric | Mean | Std Dev | Min | Max | P95 | P99 |
|---|---|---|---|---|---|---|
| pageLoadTime | 1.02s | 175ms | 969ms | 2.73s | 1.04s | 2.73s |
| domContentLoaded | 706ms | 172ms | 668ms | 2.40s | 714ms | 2.40s |
| firstPaint | 90ms | 154ms | 64ms | 1.62s | 80ms | 1.62s |
| firstContentfulPaint | 90ms | 154ms | 64ms | 1.62s | 80ms | 1.62s |
| largestContentfulPaint | 0ms | 0ms | 0ms | 0ms | 0ms | 0ms |
Bundle size diffs [🚨 Warning! Bundle size has increased!]
- background: 58 Bytes (0%)
- ui: 167 Bytes (0%)
- common: 259 Bytes (0%)