metamask-extension icon indicating copy to clipboard operation
metamask-extension copied to clipboard

feat: Gas modals refactor II

Open OGPoyraz opened this issue 1 month ago • 3 comments

Description

This PR implements the second step of https://github.com/MetaMask/MetaMask-planning/issues/6067

Note that new gas modal UI is not enabled yet until very last step. Hence no changelog included.

The recording is manually enabled on local.

Open in GitHub Codespaces

Changelog

CHANGELOG entry:

Related issues

Fixes: Step II of https://github.com/MetaMask/MetaMask-planning/issues/6067

Manual testing steps

N/A

Screenshots/Recordings

Before

After

https://github.com/user-attachments/assets/10d8b032-dd1c-40ec-b985-293ce8fd0f93

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] Refactors gas fee flows by introducing Advanced EIP-1559 and Advanced Gas Price modals with new input components and validations, updating UI hooks/components, and adding locales and tests.

  • Confirmations UI:
    • Modals: Add AdvancedEIP1559Modal and AdvancedGasPriceModal with Save/Cancel, wired to updateTransactionGasFees and modal navigation.
    • Inputs (new): GasInput, GasPriceInput, MaxBaseFeeInput, PriorityFeeInput with error handling and unit labels; render current/historical fee ranges where available.
    • List Item: Update gas-estimate-list-item to @metamask/design-system-react, remove emoji/icon usage, and adjust styles.
    • Estimates Modal: Remove header row and use updated list items; keep network statistics/help link.
  • Hooks/Types:
    • Update gas option hooks (useAdvancedGasFeeOption, useGasFeeEstimateLevelOptions, useGasPriceEstimateOption, useDappSuggestedGasFeeOption) to drop emoji, use redesigned tooltips, and selection logic.
    • Simplify GasModalType and GasOption (remove emoji).
  • Validation/Utils (new):
    • Add utils/gasValidations (gas limit, priority fee, max base fee, gas price) and utils/number (limitToMaximumDecimalPlaces).
  • Locales:
    • Add/update strings for advanced fee modals, GWEI ranges, input errors, and labels in app/_locales/en*.
  • Tests:
    • Add comprehensive tests for new inputs/modals and update existing list item tests.

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

OGPoyraz avatar Dec 10 '25 12:12 OGPoyraz

✨ Files requiring CODEOWNER review ✨

@MetaMask/confirmations (28 files, +1274 -186)
  • 📁 ui/
    • 📁 pages/
      • 📁 confirmations/
        • 📁 components/
          • 📁 confirm/
            • 📁 info/
              • 📁 __snapshots__/
                • 📄 info.test.tsx.snap +3 -3
              • 📁 approve/
                • 📁 __snapshots__/
                  • 📄 approve.test.tsx.snap +1 -1
              • 📁 base-transaction-info/
                • 📁 __snapshots__/
                  • 📄 base-transaction-info.test.tsx.snap +1 -1
              • 📁 native-transfer/
                • 📁 __snapshots__/
                  • 📄 native-transfer.test.tsx.snap +1 -1
              • 📁 nft-token-transfer/
                • 📁 __snapshots__/
                  • 📄 nft-token-transfer.test.tsx.snap +1 -1
              • 📁 set-approval-for-all-info/
                • 📁 __snapshots__/
                  • 📄 set-approval-for-all-info.test.tsx.snap +1 -1
              • 📁 shared/
                • 📁 gas-fees-section/
                  • 📁 __snapshots__/
                    • 📄 gas-fees-section.test.tsx.snap +1 -1
              • 📁 token-transfer/
                • 📁 __snapshots__/
                  • 📄 token-transfer.test.tsx.snap +1 -1
          • 📁 gas-details-item/
            • 📄 gas-details-item.test.js +2 -2
          • 📁 gas-estimate-list-item/
            • 📄 gas-estimate-list-item.test.tsx +1 -34
            • 📄 gas-estimate-list-item.tsx +35 -77
          • 📁 gas-input/
            • 📄 gas-input.test.tsx +83 -0
            • 📄 gas-input.tsx +70 -0
          • 📁 gas-price-input/
            • 📄 gas-price-input.test.tsx +94 -0
            • 📄 gas-price-input.tsx +85 -0
          • 📁 gas-timing/
            • 📄 gas-timing.component.js +2 -6
            • 📄 gas-timing.component.test.js +2 -2
          • 📁 max-base-fee-input/
            • 📄 max-base-fee-input.test.tsx +96 -0
            • 📄 max-base-fee-input.tsx +131 -0
          • 📁 modals/
            • 📁 advanced-eip1559-modal/
              • 📄 advanced-eip1559-modal.test.tsx +74 -9
              • 📄 advanced-eip1559-modal.tsx +153 -5
            • 📁 advanced-gas-price-modal/
              • 📄 advanced-gas-price-modal.test.tsx +66 -9
              • 📄 advanced-gas-price-modal.tsx +126 -5
            • 📁 estimates-modal/
              • 📄 estimates-modal.tsx +10 -12
          • 📁 priority-fee-input/
            • 📄 priority-fee-input.test.tsx +96 -0
            • 📄 priority-fee-input.tsx +137 -0
        • 📁 constants/
          • 📄 gas.ts +0 -9
        • 📁 hooks/
          • 📁 gas/
            • 📄 useAdvancedGasFeeOption.ts +1 -6

metamaskbot avatar Dec 10 '25 12:12 metamaskbot

Builds ready [46762d2]
UI Startup Metrics (1253 ± 117 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard HomeuiStartup12531023170011713291448
load1029853143510010761183
domContentLoaded102184913989810711169
domInteractive251598182281
firstPaint53195141440410081149
backgroundConnect21319427115217244
firstReactRender453194154881
getState4117134214494
initialActions106113
loadScripts815653116893866963
setupStore1274861325
numNetworkReqs1367419668
BrowserifyPower User HomeuiStartup18941556226715019852179
load1075894129512111911258
domContentLoaded1064885128512111801251
domInteractive2917148212787
firstPaint588100131441310151225
backgroundConnect259197671107242576
firstReactRender46396854858
getState18614331229199251
initialActions104112
loadScripts85268510851189701044
setupStore16105481537
numNetworkReqs71581431969122
WebpackStandard HomeuiStartup799676104076833969
load64556991769689783
domContentLoaded63956391068684776
domInteractive2516100192286
firstPaint24184687154235616
backgroundConnect12684101329
firstReactRender51332323447114
getState281455103747
initialActions102111
loadScripts63656190267682768
setupStore1263971329
numNetworkReqs1367819673
WebpackPower User HomeuiStartup14461096201320816611765
load7485971026111865923
domContentLoaded7405911016110861914
domInteractive33181883028110
firstPaint32092941238374873
backgroundConnect90765917258582
firstReactRender50416655261
getState19214373568193296
initialActions102112
loadScripts7375881006109852912
setupStore1474071435
numNetworkReqs73572282868134
FirefoxBrowserifyStandard HomeuiStartup13471080192017514361689
load107391513859311341234
domContentLoaded107391513859311341234
domInteractive68301573589137
firstPaint------
backgroundConnect59223345867202
firstReactRender39315974252
getState127103111125
initialActions103122
loadScripts104489813188511111189
setupStore145201211140
numNetworkReqs1668122778
BrowserifyPower User HomeuiStartup25801535386459830833433
load1639911331154921432354
domContentLoaded1639911331054921432354
domInteractive13132104421882944
firstPaint------
backgroundConnect1892511212372041025
firstReactRender5634190185986
getState14563100197170226
initialActions30478231
loadScripts1529897254049920172265
setupStore3752505139167
numNetworkReqs74511342181119
WebpackStandard HomeuiStartup15481286218317916191967
load1276111415049413171472
domContentLoaded1275111415049413171471
domInteractive73301773494129
firstPaint------
backgroundConnect57222244464154
firstReactRender42349694553
getState166147201549
initialActions103122
loadScripts1248109614748412921409
setupStore196181261571
numNetworkReqs1568621880
WebpackPower User HomeuiStartup26461776354749130373360
load18211153260648622952520
domContentLoaded18211153260548622952520
domInteractive254291109354212975
firstPaint------
backgroundConnect16028999193195466
firstReactRender5636113146086
getState1338331349168246
initialActions3039627
loadScripts17481134251646422402419
setupStore3853406435190
numNetworkReqs71471332368119
📊 Page Load Benchmark Results

Current Commit: 46762d2 | Date: 12/10/2025

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1000ms (±40ms) 🟢 | historical mean value: 1.04s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 691ms (±37ms) 🟢 | historical mean value: 721ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 77ms (±13ms) 🟢 | historical mean value: 79ms ⬇️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1000ms 40ms 969ms 1.29s 1.02s 1.29s
domContentLoaded 691ms 37ms 668ms 955ms 708ms 955ms
firstPaint 77ms 13ms 68ms 192ms 84ms 192ms
firstContentfulPaint 77ms 13ms 68ms 192ms 84ms 192ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 280 Bytes (0.01%)
  • ui: -45 Bytes (0%)
  • common: 1 KiB (0.01%)

metamaskbot avatar Dec 10 '25 13:12 metamaskbot

Builds ready [cbde530]
UI Startup Metrics (1271 ± 104 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard HomeuiStartup12711034152610413451448
load103487012368610871197
domContentLoaded102786512258610811184
domInteractive261486182282
firstPaint5329612383989971188
backgroundConnect21519626212221236
firstReactRender4531102124875
getState3716127204164
initialActions106113
loadScripts819664102484870982
setupStore1273361424
numNetworkReqs1367719672
BrowserifyPower User HomeuiStartup19691634266316320232300
load1134918146711012001314
domContentLoaded1122913145810911861302
domInteractive3118108193088
firstPaint626136139643910961312
backgroundConnect24020553538244275
firstReactRender50398165261
getState22315474294232282
initialActions103112
loadScripts89969912251059561084
setupStore1676281536
numNetworkReqs71592012168125
WebpackStandard HomeuiStartup831694120588874998
load66357385371697809
domContentLoaded65856884770693802
domInteractive261693182284
firstPaint222104808146221672
backgroundConnect12659101137
firstReactRender57322573852137
getState311596144055
initialActions107111
loadScripts65456683869691793
setupStore1264061426
numNetworkReqs1367820673
WebpackPower User HomeuiStartup14371063203920615941833
load7465961047114855930
domContentLoaded7385891039113846923
domInteractive31161122427103
firstPaint325871005240396848
backgroundConnect96871618756571
firstReactRender49417455159
getState18514535235194250
initialActions102111
loadScripts7355871036112843916
setupStore1564091436
numNetworkReqs70561572166135
FirefoxBrowserifyStandard HomeuiStartup12771055176416713231696
load102690512288210741213
domContentLoaded102589912288310741212
domInteractive57311723184117
firstPaint------
backgroundConnect47201983954162
firstReactRender38305873956
getState147130171131
initialActions102012
loadScripts100188812017410511157
setupStore156140211157
numNetworkReqs1568322879
BrowserifyPower User HomeuiStartup27031686386156131783479
load16401018283451921332457
domContentLoaded16401018283451921332456
domInteractive14234982219102914
firstPaint------
backgroundConnect223201358269251978
firstReactRender5840105116372
getState1426937657157270
initialActions3143627
loadScripts15161003271746019632276
setupStore3953775846127
numNetworkReqs74251332470129
WebpackStandard HomeuiStartup15481317208915916181876
load12781119177810513311478
domContentLoaded12771119177810513311478
domInteractive66261433386132
firstPaint------
backgroundConnect57211763765153
firstReactRender41339094455
getState187196271454
initialActions103112
loadScripts1249110117109812921452
setupStore185207261555
numNetworkReqs1567820873
WebpackPower User HomeuiStartup27041784396350930363528
load18571185261845722732452
domContentLoaded18561185261845722732451
domInteractive218281025326142961
firstPaint------
backgroundConnect13929944119194301
firstReactRender5335116146072
getState1317839252155238
initialActions2043424
loadScripts17941156259644221972422
setupStore495103911937185
numNetworkReqs71471372168123
📊 Page Load Benchmark Results

Current Commit: cbde530 | Date: 12/10/2025

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.05s (±41ms) 🟡 | historical mean value: 1.03s ⬆️ (historical data)
  • domContentLoaded-> current mean value: 731ms (±37ms) 🟢 | historical mean value: 719ms ⬆️ (historical data)
  • firstContentfulPaint-> current mean value: 77ms (±12ms) 🟢 | historical mean value: 78ms ⬇️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.05s 41ms 1.02s 1.36s 1.07s 1.36s
domContentLoaded 731ms 37ms 702ms 1.02s 749ms 1.02s
firstPaint 77ms 12ms 60ms 188ms 88ms 188ms
firstContentfulPaint 77ms 12ms 60ms 188ms 88ms 188ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 116 Bytes (0%)
  • ui: 9 Bytes (0%)
  • common: 1 KiB (0.01%)

metamaskbot avatar Dec 10 '25 15:12 metamaskbot

Builds ready [91aec91]
UI Startup Metrics (1274 ± 93 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard HomeuiStartup1274104814979313381401
load104187712047710861181
domContentLoaded103487211947710791168
domInteractive2616104202184
firstPaint57980122142410591175
backgroundConnect21819827512225243
firstReactRender4532123134870
getState3618139164263
initialActions1010114
loadScripts82367798774859963
setupStore1265071325
numNetworkReqs1368120672
BrowserifyPower User HomeuiStartup19191632302618919842231
load1059872156912911611266
domContentLoaded1049864155612911521256
domInteractive2917141232688
firstPaint5388816214109981216
backgroundConnect258195735112232571
firstReactRender48398684966
getState19614369690194286
initialActions104112
loadScripts83766712921269451055
setupStore1694781536
numNetworkReqs72582132468133
WebpackStandard HomeuiStartup82167698474868960
load66957286074721810
domContentLoaded66356685274714802
domInteractive2615109192279
firstPaint26482859205235799
backgroundConnect1163971231
firstReactRender51321702858129
getState281476113649
initialActions104112
loadScripts66056384973712800
setupStore1172841320
numNetworkReqs1368019672
WebpackPower User HomeuiStartup13911087211719615061724
load7245751108107806914
domContentLoaded7175701100106802900
domInteractive3016126242699
firstPaint267991107203243754
backgroundConnect69657613442533
firstReactRender50407765163
getState198138870112186322
initialActions102112
loadScripts7145681090105794898
setupStore1674091437
numNetworkReqs72572002567135
FirefoxBrowserifyStandard HomeuiStartup13201068235518714031633
load1076912202814311221246
domContentLoaded1076908202814311221246
domInteractive68312673889133
firstPaint------
backgroundConnect52212074064138
firstReactRender38316883857
getState136173181124
initialActions104122
loadScripts1049897194013610961229
setupStore12479101034
numNetworkReqs1568021778
BrowserifyPower User HomeuiStartup26361590391854830633427
load16281001248746820592397
domContentLoaded16281001248746820582396
domInteractive14532111624294937
firstPaint------
backgroundConnect157261167139215310
firstReactRender5836106146390
getState159581000129165263
initialActions40508229
loadScripts1555972243043819442194
setupStore51492711143240
numNetworkReqs75531362281125
WebpackStandard HomeuiStartup16101225300921616981947
load13141107259916113551503
domContentLoaded13141106259916113551503
domInteractive77281783496133
firstPaint------
backgroundConnect55181683660139
firstReactRender4532109144788
getState2472044214168
initialActions103122
loadScripts12861090257915713291440
setupStore216244331785
numNetworkReqs1568521877
WebpackPower User HomeuiStartup26521735387253230623375
load18771114278949823502530
domContentLoaded18771113278949823502529
domInteractive219291141327231980
firstPaint------
backgroundConnect13126980120193290
firstReactRender5538106116176
getState1416799497159240
initialActions208227
loadScripts18141097276547222422499
setupStore3354175536146
numNetworkReqs75571352370128
📊 Page Load Benchmark Results

Current Commit: 91aec91 | Date: 12/11/2025

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.02s (±37ms) 🟡 | historical mean value: 1.03s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 710ms (±35ms) 🟢 | historical mean value: 718ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 74ms (±11ms) 🟢 | historical mean value: 76ms ⬇️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.02s 37ms 995ms 1.30s 1.05s 1.30s
domContentLoaded 710ms 35ms 688ms 975ms 738ms 975ms
firstPaint 74ms 11ms 60ms 160ms 84ms 160ms
firstContentfulPaint 74ms 11ms 60ms 160ms 84ms 160ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚀 Bundle size reduced!]
  • background: -150.88 KiB (-2.86%)
  • ui: 12.98 KiB (0.17%)
  • common: 1.96 KiB (0.02%)

metamaskbot avatar Dec 11 '25 00:12 metamaskbot

Builds ready [2b85665]
UI Startup Metrics (1306 ± 131 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard HomeuiStartup13061075202313113711513
load105786913449011111211
domContentLoaded105086313318911061207
domInteractive2714115202383
firstPaint53277139739910131150
backgroundConnect22119630716227253
firstReactRender4733118165084
getState40181302245100
initialActions105112
loadScripts836660109586885998
setupStore1355571427
numNetworkReqs1368019667
BrowserifyPower User HomeuiStartup19241584240015620042221
load1078903139512311861291
domContentLoaded1069896138512211741279
domInteractive31171412526101
firstPaint61399136042610401235
backgroundConnect25220071196242526
firstReactRender47397874960
getState20014371481202280
initialActions104112
loadScripts85469211771209491050
setupStore1774791637
numNetworkReqs70581411868121
WebpackStandard HomeuiStartup8146731532107867976
load65656489177707812
domContentLoaded65055988376703806
domInteractive2616103192282
firstPaint24181812180226700
backgroundConnect1053651118
firstReactRender50321842754110
getState281383123646
initialActions104112
loadScripts64755788175701803
setupStore1163551320
numNetworkReqs1467920674
WebpackPower User HomeuiStartup14131086186819515571777
load734592996104835917
domContentLoaded727587990103827908
domInteractive30161542625102
firstPaint27595840187255735
backgroundConnect84866216470564
firstReactRender49387065164
getState18313670662185250
initialActions102011
loadScripts723584980102822903
setupStore1564891434
numNetworkReqs72562102767134
FirefoxBrowserifyStandard HomeuiStartup13321091239323314381812
load1080890192817111271270
domContentLoaded1079890192717111271269
domInteractive733289812078133
firstPaint------
backgroundConnect54213745154173
firstReactRender37315873956
getState1174461123
initialActions102012
loadScripts1053875186116411001236
setupStore175196251374
numNetworkReqs1568921876
BrowserifyPower User HomeuiStartup25951667369746829473202
load1588983269546620482213
domContentLoaded1588982269546620472213
domInteractive1233598119096785
firstPaint------
backgroundConnect225231038263218935
firstReactRender5938172186387
getState133671170111145213
initialActions41428322
loadScripts1476968250142919032110
setupStore636100012645312
numNetworkReqs74521462369130
WebpackStandard HomeuiStartup15291305202614915881842
load1269111515789913211473
domContentLoaded1268111415789913211472
domInteractive762624641106142
firstPaint------
backgroundConnect51171973457126
firstReactRender4132102104555
getState147111131334
initialActions103122
loadScripts1240109115559612951447
setupStore156139181348
numNetworkReqs1568821876
WebpackPower User HomeuiStartup26921839482254330313384
load19031164397952423212536
domContentLoaded19021164397852523202536
domInteractive243311150344244990
firstPaint------
backgroundConnect169271112208200893
firstReactRender5536128126171
getState1337434457165240
initialActions3046727
loadScripts18161141387450422292481
setupStore3452785233149
numNetworkReqs75481392471130
📊 Page Load Benchmark Results

Current Commit: 2b85665 | Date: 12/11/2025

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.02s (±37ms) 🟡 | historical mean value: 1.03s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 713ms (±35ms) 🟢 | historical mean value: 719ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 76ms (±12ms) 🟢 | historical mean value: 76ms ⬇️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.02s 37ms 1.00s 1.31s 1.04s 1.31s
domContentLoaded 713ms 35ms 693ms 976ms 730ms 976ms
firstPaint 76ms 12ms 60ms 180ms 88ms 180ms
firstContentfulPaint 76ms 12ms 60ms 180ms 88ms 180ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚀 Bundle size reduced!]
  • background: -150.88 KiB (-2.86%)
  • ui: 11.18 KiB (0.14%)
  • common: 1.96 KiB (0.02%)

metamaskbot avatar Dec 11 '25 08:12 metamaskbot

Builds ready [8bcf82c]
UI Startup Metrics (1263 ± 106 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard HomeuiStartup12631027155810613421448
load103284213088310841187
domContentLoaded102483913018210761181
domInteractive2515104182279
firstPaint53593123641010271147
backgroundConnect21519226713224234
firstReactRender423191104661
getState3817203253981
initialActions106112
loadScripts817651108078864935
setupStore1163141119
numNetworkReqs1367919671
BrowserifyPower User HomeuiStartup19201584235314719892189
load1085886139712111791277
domContentLoaded1075880139112011701270
domInteractive3017143252797
firstPaint551157134041310521192
backgroundConnect25020367992239544
firstReactRender4939154144975
getState20814572494211295
initialActions106112
loadScripts86167711601189501051
setupStore1674171634
numNetworkReqs71582092267123
WebpackStandard HomeuiStartup823682104876875973
load66657584073723815
domContentLoaded66056983273717809
domInteractive2616102202287
firstPaint24993836181221718
backgroundConnect1165261224
firstReactRender53321472762128
getState301594133849
initialActions104111
loadScripts65756482472714801
setupStore1264161529
numNetworkReqs1368020672
WebpackPower User HomeuiStartup14051100202520115071785
load7316011154106807915
domContentLoaded7235951147105796907
domInteractive31171672626106
firstPaint31192927247342867
backgroundConnect93871517466602
firstReactRender50399975260
getState18414168761186252
initialActions102011
loadScripts7205931136104794904
setupStore17747101637
numNetworkReqs72562312967131
FirefoxBrowserifyStandard HomeuiStartup13561077236720314551740
load1081918189713111391280
domContentLoaded1081917189713111391280
domInteractive73318378785156
firstPaint------
backgroundConnect56222104470181
firstReactRender38307083956
getState13698121426
initialActions102012
loadScripts1051901183612111101244
setupStore225445501669
numNetworkReqs1668722877
BrowserifyPower User HomeuiStartup27431743452460831983550
load17581039356854522022475
domContentLoaded17571039356854522012474
domInteractive232342020361252996
firstPaint------
backgroundConnect191281117218199920
firstReactRender5741107116376
getState150801011102169257
initialActions219124
loadScripts16681021354552121252446
setupStore56594111661333
numNetworkReqs75551422568128
WebpackStandard HomeuiStartup15501304208615316491859
load12841070163811913341532
domContentLoaded12841070163812013341532
domInteractive71283545098141
firstPaint------
backgroundConnect59212054176151
firstReactRender433295124382
getState147137171331
initialActions102012
loadScripts12521052160111112981478
setupStore14586131247
numNetworkReqs1568421877
WebpackPower User HomeuiStartup26071782387251130143361
load18501177264546822752518
domContentLoaded18501177264446822742517
domInteractive261281101366235968
firstPaint------
backgroundConnect1162541179179235
firstReactRender56371281660101
getState1317844852149217
initialActions2131327
loadScripts17901137250444121812462
setupStore35410471072585
numNetworkReqs71491292073117
📊 Page Load Benchmark Results

Current Commit: 8bcf82c | Date: 12/11/2025

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.07s (±41ms) 🟡 | historical mean value: 1.03s ⬆️ (historical data)
  • domContentLoaded-> current mean value: 745ms (±38ms) 🟢 | historical mean value: 722ms ⬆️ (historical data)
  • firstContentfulPaint-> current mean value: 79ms (±9ms) 🟢 | historical mean value: 77ms ⬆️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.07s 41ms 1.04s 1.36s 1.10s 1.36s
domContentLoaded 745ms 38ms 717ms 1.02s 778ms 1.02s
firstPaint 79ms 9ms 60ms 148ms 88ms 148ms
firstContentfulPaint 79ms 9ms 60ms 148ms 88ms 148ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚀 Bundle size reduced!]
  • background: -150.88 KiB (-2.86%)
  • ui: 11.18 KiB (0.14%)
  • common: 1.96 KiB (0.02%)

metamaskbot avatar Dec 11 '25 09:12 metamaskbot

Builds ready [6ea7ed8]
UI Startup Metrics (1289 ± 95 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard HomeuiStartup1289104015749513501437
load107588113188611281185
domContentLoaded106887613098611231179
domInteractive2616102212291
firstPaint54084131541710691159
backgroundConnect21619727812220237
firstReactRender4732101134973
getState381978114261
initialActions106114
loadScripts859674109785918974
setupStore1273341419
numNetworkReqs171176171166
BrowserifyPower User HomeuiStartup19281576229615620152261
load1084892140912511821298
domContentLoaded1073883139612511661289
domInteractive3117152242896
firstPaint546103141440410141185
backgroundConnect264202789121236641
firstReactRender50417965160
getState20214876386203283
initialActions102112
loadScripts86169111821239521084
setupStore1674981537
numNetworkReqs67541301764115
WebpackStandard HomeuiStartup8546821047869131008
load67357491284747832
domContentLoaded66856790684740824
domInteractive261690192284
firstPaint22988757167215665
backgroundConnect216131222983
firstReactRender57342503360120
getState3315139194155
initialActions104112
loadScripts66556590483738821
setupStore1274371428
numNetworkReqs181178181172
WebpackPower User HomeuiStartup14141082189118915471764
load7255941030106802940
domContentLoaded7185861021105793930
domInteractive31161522627101
firstPaint31396939233300870
backgroundConnect967662168105635
firstReactRender5242195155260
getState18014131431186243
initialActions104112
loadScripts7155841018104791921
setupStore1473771335
numNetworkReqs67522102362125
FirefoxBrowserifyStandard HomeuiStartup13281059178316214431676
load1042903154410510981222
domContentLoaded1041899154410510981221
domInteractive59291493083112
firstPaint------
backgroundConnect51201844365171
firstReactRender38306884253
getState136194221122
initialActions102112
loadScripts101489015199710681190
setupStore156206221142
numNetworkReqs191080191375
BrowserifyPower User HomeuiStartup26731735388257231263520
load1689941306552121482525
domContentLoaded1688941306552121472525
domInteractive12230181923594367
firstPaint------
backgroundConnect1982111602392101020
firstReactRender5834180186579
getState1346534553161239
initialActions2043423
loadScripts1584927303848620052372
setupStore3843725840163
numNetworkReqs70541362084113
WebpackStandard HomeuiStartup16161292206517516951976
load13181105163611813981544
domContentLoaded13171105163611913981544
domInteractive72272534293140
firstPaint------
backgroundConnect63202024179151
firstReactRender4433114114862
getState1971672615101
initialActions103122
loadScripts12851092155710813451519
setupStore166136181661
numNetworkReqs20987201480
WebpackPower User HomeuiStartup27731862374353332153417
load18761206275048823582517
domContentLoaded18761204275048823582516
domInteractive166281112271911006
firstPaint------
backgroundConnect178251175222204925
firstReactRender5736110136293
getState160811368155176251
initialActions207125
loadScripts17971185263946422712441
setupStore574104015141256
numNetworkReqs67451502164114
📊 Page Load Benchmark Results

Current Commit: 6ea7ed8 | Date: 12/12/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: 719ms (±36ms) 🟢 | historical mean value: 720ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 75ms (±10ms) 🟢 | historical mean value: 76ms ⬇️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.03s 38ms 1.01s 1.31s 1.07s 1.31s
domContentLoaded 719ms 36ms 699ms 986ms 748ms 986ms
firstPaint 75ms 10ms 56ms 152ms 84ms 152ms
firstContentfulPaint 75ms 10ms 56ms 152ms 84ms 152ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚀 Bundle size reduced!]
  • background: -151.32 KiB (-2.87%)
  • ui: 15.76 KiB (0.2%)
  • common: 1.37 KiB (0.02%)

metamaskbot avatar Dec 12 '25 15:12 metamaskbot