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

feat: webpack lavamoat node

Open itsyoboieltr opened this issue 1 month ago • 13 comments

Description

Open in GitHub Codespaces

This PR makes the webpack build process run under lavamoat-node.

Changelog

CHANGELOG entry: null

Related issues

Fixes: https://github.com/MetaMask/MetaMask-planning/issues/5839

Manual testing steps

  1. Build process should run under lavamoat-node
  2. Everything should still work

Screenshots/Recordings

Not applicable

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] Runs the webpack build under LavaMoat Node, adds webpack LavaMoat policies and scripts, updates CI to generate/validate them, and patches deps for compatibility.

  • Build/Tooling:
    • Run webpack via LavaMoat Node with new scripts: webpack:lavamoat, webpack:lavamoat:build, webpack:lavamoat:generate (and webpack:tsc).
    • Add development/webpack/tsconfig.json; adjust launch.ts/fork.ts to require ./build and use compiled outputs; ignore .webpack/.
  • CI:
    • Workflows update-lavamoat-policies.yml and validate-lavamoat-policies.yml now use yarn webpack:lavamoat:build.
    • Add job to generate/cache/restore a new webpack build policy and include it in commit/validation steps.
  • Policies:
    • Add lavamoat/webpack/build/policy.json and policy-override.json.
    • Update build-system policies (e.g., allow tsx>fsevents, expand typescript globals).
  • Dependencies/Patches:
    • Bump @lavamoat/webpack to 1.5.6, lavamoat to 10.0.5, typescript to ~5.6.0.
    • Patch html-bundler-webpack-plugin and tailwindcss for LavaMoat compatibility; add Yarn preapproved packages and lockfile updates.
  • Tests:
    • Update useBalanceChanges test to expect undefined for missing conversion rate.

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

itsyoboieltr avatar Nov 24 '25 19:11 itsyoboieltr

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.

github-actions[bot] avatar Nov 24 '25 19:11 github-actions[bot]

✨ Files requiring CODEOWNER review ✨

@MetaMask/confirmations (1 files, +1 -1)
  • 📁 ui/
    • 📁 pages/
      • 📁 confirmations/
        • 📁 components/
          • 📁 simulation-details/
            • 📄 useBalanceChanges.test.ts +1 -1

👨‍🔧 @MetaMask/extension-platform (1 files, +1 -0)
  • 📄 .yarnrc.yml +1 -0

📜 @MetaMask/policy-reviewers (4 files, +3412 -5)
  • 📁 lavamoat/
    • 📁 build-system/
      • 📄 policy-override.json +9 -1
      • 📄 policy.json +35 -4
    • 📁 webpack/
      • 📁 build/
        • 📄 policy-override.json +212 -0
        • 📄 policy.json +3156 -0

[!TIP]
Follow the policy review process outlined in the LavaMoat Policy Review Process doc before expecting an approval from Policy Reviewers.

metamaskbot avatar Nov 24 '25 19:11 metamaskbot

Builds ready [02c48a6]
UI Startup Metrics (1194 ± 96 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard HomeuiStartup119498414749612411393
load101484412868710471195
domContentLoaded100984212788610401187
domInteractive26151212521103
firstPaint5119212923979841154
backgroundConnect2101972429212235
firstReactRender27186492945
getState311796113353
initialActions106112
loadScripts806645105485838987
setupStore1162841118
numNetworkReqs1257820573
BrowserifyPower User HomeuiStartup18461522225616519492165
load99087815081389751393
domContentLoaded97787215001399601387
domInteractive36162264229170
firstPaint487831460346921981
backgroundConnect21820125911222246
firstReactRender84461522094125
getState16312723225179220
initialActions104113
loadScripts77366912921397571181
setupStore20104992537
numNetworkReqs92642012997180
WebpackStandard HomeuiStartup8216991186868411029
load63756593375658817
domContentLoaded63256192374653811
domInteractive28151432822112
firstPaint23083934169206641
backgroundConnect953151018
firstReactRender27194263138
getState291473143857
initialActions103112
loadScripts62955991272651801
setupStore1062841218
numNetworkReqs1257720574
WebpackPower User HomeuiStartup14241093209415815311687
load6725871244115672951
domContentLoaded6625821237115660945
domInteractive40181864431172
firstPaint279102931180345659
backgroundConnect1576281729
firstReactRender8042103148999
getState14812318615156176
initialActions104112
loadScripts6595801227113658935
setupStore24965153552
numNetworkReqs1457033459187294
FirefoxBrowserifyStandard HomeuiStartup13331132196614213901627
load110796914069211681285
domContentLoaded110696414069211681285
domInteractive72302234196150
firstPaint------
backgroundConnect45251672748105
firstReactRender24195062537
getState136155181135
initialActions102122
loadScripts107994813168411341229
setupStore144179211135
numNetworkReqs1156816761
BrowserifyPower User HomeuiStartup23181912279522324952712
load1087918148413111201408
domContentLoaded1086917148313211191408
domInteractive1123438684108360
firstPaint------
backgroundConnect882237847108165
firstReactRender79401481889108
getState22952801198228680
initialActions3012227
loadScripts1054898146112610731353
setupStore1669724204197671
numNetworkReqs92612204084199
WebpackStandard HomeuiStartup14951325203712515391782
load1260110914848613161438
domContentLoaded1260110914838613161438
domInteractive72291903793133
firstPaint------
backgroundConnect4521183244886
firstReactRender28217173039
getState147126201130
initialActions103122
loadScripts1234108414467912901371
setupStore166328351142
numNetworkReqs1156615656
WebpackPower User HomeuiStartup26441994334326128213145
load13641124192818114641726
domContentLoaded13641123192818114641725
domInteractive11728528118107432
firstPaint------
backgroundConnect1002345161122208
firstReactRender80401932289109
getState31340903251535816
initialActions506011242
loadScripts13301099191117814271688
setupStore85656510586363
numNetworkReqs916118433123154
📊 Page Load Benchmark Results

Current Commit: 02c48a6 | Date: 11/24/2025

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.02s (±38ms) 🟡 | historical mean value: 1.03s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 712ms (±35ms) 🟢 | historical mean value: 719ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 75ms (±11ms) 🟢 | historical mean value: 78ms ⬇️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.02s 38ms 1.00s 1.30s 1.06s 1.30s
domContentLoaded 712ms 35ms 693ms 976ms 744ms 976ms
firstPaint 75ms 11ms 56ms 168ms 84ms 168ms
firstContentfulPaint 75ms 11ms 56ms 168ms 84ms 168ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 53 Bytes (0%)
  • ui: -16 Bytes (0%)
  • common: 361 Bytes (0%)

metamaskbot avatar Nov 24 '25 20:11 metamaskbot

Builds ready [486e137]
UI Startup Metrics (1316 ± 125 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard HomeuiStartup13161073161912513751568
load104888512788610861222
domContentLoaded104188112718610771218
domInteractive2615122232091
firstPaint48488128340110221183
backgroundConnect21519826312221240
firstReactRender36256683955
getState62261952967129
initialActions107114
loadScripts8346781074858671009
setupStore1365971525
numNetworkReqs41281463430143
BrowserifyPower User HomeuiStartup21521799314925022912588
load1030897165713210291363
domContentLoaded1017888164913210201358
domInteractive36182033430144
firstPaint6219016544209881340
backgroundConnect256200774101237525
firstReactRender934616124110126
getState19613467675204263
initialActions104113
loadScripts80868814451338011151
setupStore231083142654
numNetworkReqs102622965795268
WebpackStandard HomeuiStartup91275912591119451183
load67157991686714864
domContentLoaded66657590685710858
domInteractive28151092423105
firstPaint24694889185219654
backgroundConnect1053551025
firstReactRender45252223539129
getState56161673188109
initialActions109112
loadScripts66357389883708849
setupStore147198191327
numNetworkReqs41281473330140
WebpackPower User HomeuiStartup18481356240623720352241
load7026061059101702971
domContentLoaded6915961054102693965
domInteractive37162283534123
firstPaint3661001026240636779
backgroundConnect73760714620505
firstReactRender954715124114130
getState18313172677182237
initialActions104112
loadScripts6885941045100691956
setupStore23960142653
numNetworkReqs1437539573146354
FirefoxBrowserifyStandard HomeuiStartup14621192236119215281812
load1109927184711911691312
domContentLoaded1108923184712011651312
domInteractive61292313485119
firstPaint------
backgroundConnect64252614467161
firstReactRender2819109123054
getState2411115162247
initialActions207123
loadScripts1080912182211711291283
setupStore259128202274
numNetworkReqs40281262733121
BrowserifyPower User HomeuiStartup26421861471248227743844
load1131938258619911341475
domContentLoaded1130938258619911341475
domInteractive1203250497115388
firstPaint------
backgroundConnect130331410151130290
firstReactRender84392032290126
getState292341131217405811
initialActions208123
loadScripts1096920242618710971445
setupStore17411885198194679
numNetworkReqs102593276681244
WebpackStandard HomeuiStartup19531643474434120142452
load15061291395227115631741
domContentLoaded15051291395127115631741
domInteractive104352156211119159
firstPaint------
backgroundConnect894034255104198
firstReactRender382786114268
getState3511285393297
initialActions206123
loadScripts14661269383825915231650
setupStore39152333337105
numNetworkReqs40281312832123
WebpackPower User HomeuiStartup30512300508071830974622
load14961167294345513802779
domContentLoaded14961167294345613792779
domInteractive12030998131105395
firstPaint------
backgroundConnect139171330185134320
firstReactRender91413174195178
getState27061877216280778
initialActions3078823
loadScripts14491141284842213562659
setupStore1815797202284630
numNetworkReqs100562516079238
📊 Page Load Benchmark Results

Current Commit: 486e137 | Date: 11/25/2025

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 975ms (±52ms) 🟢 | historical mean value: 1.03s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 679ms (±49ms) 🟢 | historical mean value: 721ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 74ms (±11ms) 🟢 | historical mean value: 78ms ⬇️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 975ms 52ms 944ms 1.26s 1.06s 1.26s
domContentLoaded 679ms 49ms 652ms 959ms 740ms 959ms
firstPaint 74ms 11ms 60ms 172ms 84ms 172ms
firstContentfulPaint 74ms 11ms 60ms 172ms 84ms 172ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 1.24 KiB (0.03%)
  • ui: 10.08 KiB (0.14%)
  • common: 988 Bytes (0.01%)

metamaskbot avatar Nov 25 '25 18:11 metamaskbot

Builds ready [e4b03c7]
UI Startup Metrics (1366 ± 136 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard HomeuiStartup13661118201613614151636
load1078891152010411251253
domContentLoaded1072886151310211191243
domInteractive2615125232196
firstPaint58488132443110571224
backgroundConnect22120027414227248
firstReactRender4427156185071
getState65201522774123
initialActions104113
loadScripts85867613041019041035
setupStore1565871825
numNetworkReqs41281473430143
BrowserifyPower User HomeuiStartup20841798328324921142648
load1023911168113710151386
domContentLoaded1009901165513710061374
domInteractive36162023729142
firstPaint6289416834199801405
backgroundConnect25919559297232533
firstReactRender924513823111127
getState18913072162203246
initialActions107112
loadScripts80269314521377941168
setupStore22895132846
numNetworkReqs101652995894282
WebpackStandard HomeuiStartup89275112641069191152
load65857895585698859
domContentLoaded65457494985694852
domInteractive2715116222291
firstPaint22485857150220627
backgroundConnect1063051019
firstReactRender42232332939109
getState54181382772100
initialActions108113
loadScripts65157294083692843
setupStore1466091541
numNetworkReqs41291503330142
WebpackPower User HomeuiStartup18141306260027220282280
load6835751254112677958
domContentLoaded6735671246113664951
domInteractive36181583333130
firstPaint3081111003228338815
backgroundConnect65759214620566
firstReactRender934414824114134
getState18213370477178231
initialActions103112
loadScripts6705651234111662942
setupStore221069142549
numNetworkReqs1486940777196329
FirefoxBrowserifyStandard HomeuiStartup14021160177914615081692
load107092612879311401250
domContentLoaded106992212879311391244
domInteractive66291953590131
firstPaint------
backgroundConnect53221923257135
firstReactRender291983123255
getState231198132244
initialActions204122
loadScripts104691112708711051227
setupStore249108202090
numNetworkReqs40281262832123
BrowserifyPower User HomeuiStartup26272107430241628023433
load1136958243820411231520
domContentLoaded1135953243720411231520
domInteractive1163151198114373
firstPaint------
backgroundConnect12424579103136427
firstReactRender87383203095124
getState24770826180268726
initialActions3035527
loadScripts1097936230718910791463
setupStore2287845235380742
numNetworkReqs103583256578244
WebpackStandard HomeuiStartup16071366212818517031969
load12651115155211213251502
domContentLoaded12641115155211213241502
domInteractive56231773582135
firstPaint------
backgroundConnect65202844268145
firstReactRender332178103753
getState2210122152437
initialActions204123
loadScripts12371096149710413011474
setupStore2410146222292
numNetworkReqs40281272733122
WebpackPower User HomeuiStartup30612233537873732794804
load14921174333145615432808
domContentLoaded14921174333045615432802
domInteractive13529186722196432
firstPaint------
backgroundConnect173231250239150982
firstReactRender953930040103154
getState338641744291508850
initialActions218123
loadScripts14091146331036914812267
setupStore1306716176110606
numNetworkReqs102623306378247
📊 Page Load Benchmark Results

Current Commit: e4b03c7 | Date: 11/25/2025

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.11s (±119ms) 🟡 | historical mean value: 1.04s ⬆️ (historical data)
  • domContentLoaded-> current mean value: 797ms (±123ms) 🟢 | historical mean value: 729ms ⬆️ (historical data)
  • firstContentfulPaint-> current mean value: 91ms (±127ms) 🟢 | historical mean value: 78ms ⬆️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.11s 119ms 1.02s 1.35s 1.33s 1.35s
domContentLoaded 797ms 123ms 704ms 1.29s 1.01s 1.29s
firstPaint 91ms 127ms 60ms 1.36s 88ms 1.36s
firstContentfulPaint 91ms 127ms 60ms 1.36s 88ms 1.36s
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 1.24 KiB (0.03%)
  • ui: 10.08 KiB (0.14%)
  • common: 988 Bytes (0.01%)

metamaskbot avatar Nov 25 '25 19:11 metamaskbot

Builds ready [99b871e]
UI Startup Metrics (1328 ± 139 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard HomeuiStartup13281084183413914031596
load1044865150511010931254
domContentLoaded1036862149810910861231
domInteractive2714112232296
firstPaint58874152444010481239
backgroundConnect21519425813223243
firstReactRender38257084355
getState70181813382146
initialActions105114
loadScripts82965812471078881031
setupStore1472951724
numNetworkReqs41281503430145
BrowserifyPower User HomeuiStartup21641764291724522512702
load1047925160213710511401
domContentLoaded1034908158713810411390
domInteractive36171493231133
firstPaint5639416104099881350
backgroundConnect273208795125237571
firstReactRender944514623111138
getState18713532533204252
initialActions105114
loadScripts82070913791388261178
setupStore241073132849
numNetworkReqs103662825698272
WebpackStandard HomeuiStartup88771613531149301122
load66356397593723852
domContentLoaded65855897092717845
domInteractive2716117232297
firstPaint23594908161210602
backgroundConnect952841018
firstReactRender3619193203869
getState4916123226195
initialActions103112
loadScripts65555696090716835
setupStore14567101438
numNetworkReqs41281473430144
WebpackPower User HomeuiStartup19341390253924420682401
load6785931222102693945
domContentLoaded6685851216103685939
domInteractive36181693131127
firstPaint294124976194341699
backgroundConnect103765419337597
firstReactRender944716424110132
getState190126749107183235
initialActions102012
loadScripts6665821208101682930
setupStore20952122250
numNetworkReqs1507041076196328
FirefoxBrowserifyStandard HomeuiStartup14541218207918415401866
load1098923163411911581287
domContentLoaded1097923163411911571286
domInteractive72332553897132
firstPaint------
backgroundConnect67222444384169
firstReactRender2918132153355
getState289122202883
initialActions204122
loadScripts1069907157610711171253
setupStore2812162252792
numNetworkReqs40281242734121
BrowserifyPower User HomeuiStartup27322078467043328583863
load1174977240218911981513
domContentLoaded1173977240218911981513
domInteractive12633640107118400
firstPaint------
backgroundConnect153312542257139369
firstReactRender915215323102137
getState285831094213364750
initialActions208123
loadScripts1140960227718211551484
setupStore1917967221237709
numNetworkReqs100603166177241
WebpackStandard HomeuiStartup16471397225317717231972
load12681092169011413381509
domContentLoaded12671092169011413381508
domInteractive58261172884106
firstPaint------
backgroundConnect66292233892145
firstReactRender3221102123750
getState3210180323295
initialActions207123
loadScripts12401077166310813081445
setupStore33102053531103
numNetworkReqs41281232638120
WebpackPower User HomeuiStartup30512217782181730494644
load15381132597564813892768
domContentLoaded15381132597464813892768
domInteractive196304384476102996
firstPaint------
backgroundConnect139311040185128481
firstReactRender87402132696132
getState28276943216356801
initialActions2135323
loadScripts14841113595561613702668
setupStore1556757209166709
numNetworkReqs100632555879237
📊 Page Load Benchmark Results

Current Commit: 99b871e | Date: 11/26/2025

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.08s (±71ms) 🟡 | historical mean value: 1.03s ⬆️ (historical data)
  • domContentLoaded-> current mean value: 763ms (±69ms) 🟢 | historical mean value: 718ms ⬆️ (historical data)
  • firstContentfulPaint-> current mean value: 80ms (±10ms) 🟢 | historical mean value: 77ms ⬆️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.08s 71ms 1.03s 1.36s 1.32s 1.36s
domContentLoaded 763ms 69ms 714ms 1.03s 980ms 1.03s
firstPaint 80ms 10ms 64ms 160ms 88ms 160ms
firstContentfulPaint 80ms 10ms 64ms 160ms 88ms 160ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 1.5 KiB (0.03%)
  • ui: 6.6 KiB (0.09%)
  • common: 2.2 KiB (0.03%)

metamaskbot avatar Nov 26 '25 10:11 metamaskbot

Builds ready [f99a048]
UI Startup Metrics (1318 ± 133 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard HomeuiStartup13181085181313314011547
load1054872134510611151229
domContentLoaded1048867132310411091217
domInteractive2715134242293
firstPaint61087133541710531215
backgroundConnect21619730816222239
firstReactRender392474104462
getState63191882877124
initialActions106124
loadScripts83866411061008951019
setupStore1473461729
numNetworkReqs41271463430142
BrowserifyPower User HomeuiStartup22421837325728523952808
load1034914171414010301378
domContentLoaded1019906170214110241367
domInteractive35171743132125
firstPaint49210414083719451231
backgroundConnect268204762125241669
firstReactRender6247122136792
getState18613729431204252
initialActions106112
loadScripts81069514531398081158
setupStore22773112444
numNetworkReqs1426738366185284
WebpackStandard HomeuiStartup87974012061089081166
load64656388182674850
domContentLoaded64156087481669845
domInteractive28161232523101
firstPaint22388855157212642
backgroundConnect1053451020
firstReactRender40222643241108
getState4913133246691
initialActions104112
loadScripts63855886479667835
setupStore17598141747
numNetworkReqs41281453430143
WebpackPower User HomeuiStartup18251308237425220262249
load67958699298676921
domContentLoaded66857596698667916
domInteractive35171493032123
firstPaint291100930198275808
backgroundConnect73764715822562
firstReactRender654691117389
getState18412769676186213
initialActions104112
loadScripts66557395696665907
setupStore211055122347
numNetworkReqs1597140876199372
FirefoxBrowserifyStandard HomeuiStartup13961167194016114651752
load106391813489011381226
domContentLoaded106191813479011381226
domInteractive57301583275133
firstPaint------
backgroundConnect63293585172169
firstReactRender28185893149
getState2412141182341
initialActions214122
loadScripts103189913098110791197
setupStore2312167212161
numNetworkReqs39281242732121
BrowserifyPower User HomeuiStartup26161977447652927264029
load1158982262228611411973
domContentLoaded1158982262228611411972
domInteractive1153343491112370
firstPaint------
backgroundConnect133271374172129376
firstReactRender63411651963100
getState26869997216294785
initialActions2029423
loadScripts1119916246525610971848
setupStore17971037230175800
numNetworkReqs100613196082246
WebpackStandard HomeuiStartup16271374305923017481960
load12631067270818113221501
domContentLoaded12631067270818113221501
domInteractive50261292770104
firstPaint------
backgroundConnect71183325078165
firstReactRender332081103747
getState30101943228115
initialActions208123
loadScripts12311042267917412891424
setupStore3182143631123
numNetworkReqs41281262741121
WebpackPower User HomeuiStartup31842288612383933105122
load15141164312844515162832
domContentLoaded15141164312844515152832
domInteractive1113247499105394
firstPaint------
backgroundConnect173391685240159513
firstReactRender68422803071121
getState282581704265380795
initialActions217127
loadScripts14311142302635614612216
setupStore21091308262294738
numNetworkReqs100622935779236
📊 Page Load Benchmark Results

Current Commit: f99a048 | Date: 11/26/2025

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.04s (±56ms) 🟡 | historical mean value: 1.04s ⬆️ (historical data)
  • domContentLoaded-> current mean value: 728ms (±51ms) 🟢 | historical mean value: 720ms ⬆️ (historical data)
  • firstContentfulPaint-> current mean value: 76ms (±13ms) 🟢 | historical mean value: 78ms ⬇️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.04s 56ms 1.01s 1.36s 1.07s 1.36s
domContentLoaded 728ms 51ms 694ms 1.00s 752ms 1.00s
firstPaint 76ms 13ms 56ms 180ms 88ms 180ms
firstContentfulPaint 76ms 13ms 56ms 180ms 88ms 180ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 58 Bytes (0%)
  • ui: 0 Bytes (0%)
  • common: 465 Bytes (0.01%)

metamaskbot avatar Nov 26 '25 16:11 metamaskbot

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Updatedtypescript@​5.4.5 ⏵ 5.6.31001009010090
Updatedlavamoat@​10.0.0 ⏵ 10.0.5100100100100100
Updated@​lavamoat/​webpack@​1.5.3 ⏵ 1.5.6100100100100100

View full report

socket-security[bot] avatar Nov 27 '25 20:11 socket-security[bot]

@metamaskbot update-policies

itsyoboieltr avatar Nov 28 '25 14:11 itsyoboieltr

Policy update failed. You can review the logs or retry the policy update here

metamaskbot avatar Nov 28 '25 14:11 metamaskbot

Policy update failed. You can review the logs or retry the policy update here

metamaskbot avatar Nov 28 '25 14:11 metamaskbot

Builds ready [6632c96]
UI Startup Metrics (1198 ± 115 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard HomeuiStartup11981001168311512831402
load100985514349910691174
domContentLoaded100484914289810661166
domInteractive241591182180
firstPaint4829512353769441133
backgroundConnect21119327012216233
firstReactRender28196183247
getState3517120154059
initialActions104112
loadScripts798646121395852966
setupStore1163441219
numNetworkReqs1257820574
BrowserifyPower User HomeuiStartup21861804310826922782845
load1102966190917110961561
domContentLoaded1085951188617110861548
domInteractive40182153637128
firstPaint72796191345910681540
backgroundConnect285231825111260566
firstReactRender6444109137294
getState21016168454217260
initialActions103112
loadScripts84870616181688401298
setupStore19791102227
numNetworkReqs1346243276193276
WebpackStandard HomeuiStartup8497101173918891031
load65357487072690819
domContentLoaded64857086371685814
domInteractive2513110231993
firstPaint24777779177238691
backgroundConnect1053261127
firstReactRender2820118113241
getState26145193445
initialActions104113
loadScripts64556785370683803
setupStore1162841318
numNetworkReqs1257720570
WebpackPower User HomeuiStartup17631311301730720462260
load7016031383116702999
domContentLoaded6905961373115688993
domInteractive36162123334134
firstPaint314891068220331746
backgroundConnect65665715521628
firstReactRender64459297183
getState211134761117198669
initialActions105112
loadScripts6875941362113686984
setupStore24868153255
numNetworkReqs1736743378217367
FirefoxBrowserifyStandard HomeuiStartup13321095174713814081617
load1091949149410011361283
domContentLoaded1090949149410011361283
domInteractive62301292887113
firstPaint------
backgroundConnect50221753460116
firstReactRender23184952335
getState156189261026
initialActions103122
loadScripts106393313919311071250
setupStore156224241137
numNetworkReqs1256717664
BrowserifyPower User HomeuiStartup27021935520360427604174
load1211940246627711681955
domContentLoaded1210940246527711681954
domInteractive11934504115103464
firstPaint------
backgroundConnect148271362202129557
firstReactRender6037140186598
getState28163982220332810
initialActions3053623
loadScripts1159924195621311311558
setupStore1597763194186657
numNetworkReqs101603076378241
WebpackStandard HomeuiStartup14461283195912915171686
load1205107215629412681394
domContentLoaded1204107115629412681393
domInteractive49261172768109
firstPaint------
backgroundConnect45172002746103
firstReactRender27196772841
getState136142151230
initialActions103012
loadScripts1177105715268412331326
setupStore13699151148
numNetworkReqs1156516758
WebpackPower User HomeuiStartup29822276510374730014776
load14651166297141514272694
domContentLoaded14641165297141614272694
domInteractive12030988143101474
firstPaint------
backgroundConnect1702812152691221114
firstReactRender71393014069174
getState296661342244342808
initialActions207123
loadScripts13681144288927913751777
setupStore169121301238194751
numNetworkReqs99602505799238
📊 Page Load Benchmark Results

Current Commit: 6632c96 | Date: 11/28/2025

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.05s (±64ms) 🟡 | historical mean value: 1.03s ⬆️ (historical data)
  • domContentLoaded-> current mean value: 733ms (±61ms) 🟢 | historical mean value: 719ms ⬆️ (historical data)
  • firstContentfulPaint-> current mean value: 77ms (±11ms) 🟢 | historical mean value: 79ms ⬇️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.05s 64ms 1.01s 1.34s 1.26s 1.34s
domContentLoaded 733ms 61ms 702ms 1.01s 937ms 1.01s
firstPaint 77ms 11ms 60ms 164ms 84ms 164ms
firstContentfulPaint 77ms 11ms 60ms 164ms 84ms 164ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 58 Bytes (0%)
  • ui: 0 Bytes (0%)
  • common: 898 Bytes (0.01%)

metamaskbot avatar Nov 28 '25 20:11 metamaskbot

Builds ready [9b7a3b6]
UI Startup Metrics (1245 ± 103 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard HomeuiStartup12451028163910313151419
load103586614109610841200
domContentLoaded102986314029510791192
domInteractive2614133212282
firstPaint5019312523979981146
backgroundConnect21919925211227239
firstReactRender2918103113047
getState3715149214182
initialActions106113
loadScripts815658116393863980
setupStore1172531317
numNetworkReqs1257620571
BrowserifyPower User HomeuiStartup20511696301422521562487
load1042891180214310261380
domContentLoaded1027884178714210091363
domInteractive39182293536129
firstPaint57410318084289861370
backgroundConnect274203833127241658
firstReactRender5639110116277
getState18913466654200240
initialActions104112
loadScripts81268015451397961149
setupStore20116992341
numNetworkReqs1597733757204276
WebpackStandard HomeuiStartup8227071246918401024
load638569100076653815
domContentLoaded63356399575649808
domInteractive2513157251891
firstPaint27088824194260674
backgroundConnect1052741118
firstReactRender28206083343
getState291285153762
initialActions103111
loadScripts63056098573647799
setupStore1052641118
numNetworkReqs1257620571
WebpackPower User HomeuiStartup15661252225821516291990
load672583117195678880
domContentLoaded662577116596665873
domInteractive33161812832101
firstPaint33381960225593856
backgroundConnect70863215919557
firstReactRender574410486268
getState18012767253186212
initialActions105112
loadScripts659575115694663864
setupStore1984892444
numNetworkReqs1586930560213280
FirefoxBrowserifyStandard HomeuiStartup12961099173413413811534
load1073931151010111271284
domContentLoaded1072930151010111241283
domInteractive57291432883109
firstPaint------
backgroundConnect46181963445123
firstReactRender23175862335
getState12692121130
initialActions102012
loadScripts104591714539111011205
setupStore105718925
numNetworkReqs1156416657
BrowserifyPower User HomeuiStartup26361972520155426954121
load1232996303531412611998
domContentLoaded1232996303431412601998
domInteractive1203658790122315
firstPaint------
backgroundConnect12331645118129404
firstReactRender5737160185992
getState275621062214306753
initialActions218123
loadScripts1188964284626411641866
setupStore1588816205177687
numNetworkReqs92582584583230
WebpackStandard HomeuiStartup14651252202815415451814
load1209106414558812741378
domContentLoaded1209106314558812731378
domInteractive55261593179112
firstPaint------
backgroundConnect46171893146124
firstReactRender25198172734
getState156155221246
initialActions103122
loadScripts1182104714328212511323
setupStore157100141351
numNetworkReqs1256516760
WebpackPower User HomeuiStartup29632281507962330004579
load14421176272428014232115
domContentLoaded14421175272428014222113
domInteractive1193244699117401
firstPaint------
backgroundConnect16046875151176538
firstReactRender6342146166696
getState33178970260513887
initialActions3185823
loadScripts13931149259726313752058
setupStore1627716191166651
numNetworkReqs91602504880232
📊 Page Load Benchmark Results

Current Commit: 9b7a3b6 | Date: 12/2/2025

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.07s (±73ms) 🟡 | historical mean value: 1.04s ⬆️ (historical data)
  • domContentLoaded-> current mean value: 750ms (±70ms) 🟢 | historical mean value: 725ms ⬆️ (historical data)
  • firstContentfulPaint-> current mean value: 80ms (±12ms) 🟢 | historical mean value: 79ms ⬆️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.07s 73ms 1.02s 1.36s 1.31s 1.36s
domContentLoaded 750ms 70ms 710ms 1.03s 973ms 1.03s
firstPaint 80ms 12ms 60ms 184ms 92ms 184ms
firstContentfulPaint 80ms 12ms 60ms 184ms 92ms 184ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 58 Bytes (0%)
  • ui: 295 Bytes (0%)
  • common: 898 Bytes (0.01%)

metamaskbot avatar Dec 02 '25 18:12 metamaskbot