Skip to content

Conversation

@salimtb
Copy link
Contributor

@salimtb salimtb commented Sep 22, 2025

Description

The goal of this PR is to migrate the network manager to use the NetworkEnablementController from the core repo instead of maintaining a separate local controller.

Why this change?
• Reduces duplication by consolidating network management logic in one place.
• Ensures consistency with the latest implementation in the core repo.
• Makes future updates easier to maintain, since fixes and enhancements to network enablement will flow directly from core.
• Aligns mobile/extension behavior with shared controller patterns.

Open in GitHub Codespaces

Changelog

CHANGELOG entry: Refactored network manager to use the NetworkEnablementController from core instead of a local controller.

Related issues

Fixes:

Manual testing steps

  1. Go to network manager
  2. Should have the same behavior
  3. try to add new network through the add, form or dapp
  4. switch network
  5. edit network
  6. delete network

Screenshots/Recordings

Before

After

https://www.loom.com/share/40d0a5d5405f4c93a63eb018f8df1b7e

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.

@github-actions
Copy link
Contributor

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.

@socket-security
Copy link

socket-security bot commented Sep 22, 2025

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

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Added@​metamask/​network-enablement-controller@​1.2.09910010095100

View full report

@metamaskbot
Copy link
Collaborator

metamaskbot commented Sep 22, 2025

✨ Files requiring CODEOWNER review ✨

🧩 @MetaMask/extension-devs (4 files, +36 -0)
  • 📁 lavamoat/
    • 📁 browserify/
      • 📁 beta/
        • 📄 policy.json +9 -0
      • 📁 experimental/
        • 📄 policy.json +9 -0
      • 📁 flask/
        • 📄 policy.json +9 -0
      • 📁 main/
        • 📄 policy.json +9 -0

💎 @MetaMask/metamask-assets (1 files, +4 -4)
  • 📁 ui/
    • 📁 components/
      • 📁 app/
        • 📁 assets/
          • 📁 asset-list/
            • 📁 asset-list-control-bar/
              • 📄 asset-list-control-bar.tsx +4 -4

📜 @MetaMask/policy-reviewers (4 files, +36 -0)
  • 📁 lavamoat/
    • 📁 browserify/
      • 📁 beta/
        • 📄 policy.json +9 -0
      • 📁 experimental/
        • 📄 policy.json +9 -0
      • 📁 flask/
        • 📄 policy.json +9 -0
      • 📁 main/
        • 📄 policy.json +9 -0

Tip

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


🧪 @MetaMask/qa (2 files, +5 -2)
  • 📁 test/
    • 📁 e2e/
      • 📄 default-fixture.js +2 -0
      • 📄 fixture-builder.js +3 -2

🔗 @MetaMask/supply-chain (4 files, +36 -0)
  • 📁 lavamoat/
    • 📁 browserify/
      • 📁 beta/
        • 📄 policy.json +9 -0
      • 📁 experimental/
        • 📄 policy.json +9 -0
      • 📁 flask/
        • 📄 policy.json +9 -0
      • 📁 main/
        • 📄 policy.json +9 -0

@salimtb
Copy link
Contributor Author

salimtb commented Sep 22, 2025

@metamaskbot update-policies

@metamaskbot
Copy link
Collaborator

Policies updated.
👀 Please review the diff for suspicious new powers.

🧠 Learn how: https://lavamoat.github.io/guides/policy-diff/#what-to-look-for-when-reviewing-a-policy-diff

@salimtb
Copy link
Contributor Author

salimtb commented Sep 23, 2025

@metamaskbot update-policies

@metamaskbot
Copy link
Collaborator

No policy changes

@metamaskbot
Copy link
Collaborator

📊 Page Load Benchmark Results

Current Commit: a5d748a | Date: 9/23/2025

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.05s (±71ms) 🟡 | historical mean value: 1.06s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 740ms (±69ms) 🟢 | historical mean value: 742ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 76ms (±11ms) 🟢 | historical mean value: 79ms ⬇️ (historical data)
📈 Detailed Results
Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.05s 71ms 1.02s 1.32s 1.28s 1.32s
domContentLoaded 740ms 69ms 705ms 1.01s 958ms 1.01s
firstPaint 76ms 11ms 56ms 152ms 88ms 152ms
firstContentfulPaint 76ms 11ms 56ms 152ms 88ms 152ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms

Results generated automatically by MetaMask CI

@metamaskbot
Copy link
Collaborator

Builds ready [a5d748a]
UI Startup Metrics (1173 ± 57 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyHomeuiStartup1173105613195712081287
load100488811455310421092
domContentLoaded99888011385310351087
domInteractive17134361639
firstPaint561137114239410011068
backgroundConnect2111982326213221
firstReactRender25175962738
getState1453971728
initialActions50668616
loadScripts79467792352831879
setupStore94263917
WebpackHomeuiStartup1142912135110912161290
load963748118110110301081
domContentLoaded958744117810210261078
domInteractive15125181438
firstPaint1576244365183252
backgroundConnect16104861528
firstReactRender35325533541
getState63162611
initialActions62143811
loadScripts955742117610110231076
setupStore86213813
FirefoxBrowserifyHomeuiStartup13921222198712814591625
load1203105715728612781325
domContentLoaded1202105715728612771325
domInteractive98332754999233
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect3218125203592
firstReactRender29235872941
getState62607612
initialActions7020626313
loadScripts1178103615508412511300
setupStore1048910825
WebpackHomeuiStartup15961383205715816861944
load13651167175513714601612
domContentLoaded13651167175413714591611
domInteractive1073640363100277
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect32215683651
firstReactRender46366465058
getState63737610
initialActions3115236
loadScripts13421139173213814351590
setupStore11518020917
Benchmark value 211 exceeds gate value 10 for chrome browserify home mean backgroundConnect
Benchmark value 26 exceeds gate value 23 for chrome browserify home mean firstReactRender
Benchmark value 6 exceeds gate value 1 for chrome browserify home mean initialActions
Benchmark value 222 exceeds gate value 18 for chrome browserify home p95 backgroundConnect
Benchmark value 16 exceeds gate value 1.2 for chrome browserify home p95 initialActions
Benchmark value 11 exceeds gate value 7 for chrome webpack home p95 initialActions
Benchmark value 33 exceeds gate value 25 for firefox browserify home mean backgroundConnect
Benchmark value 29 exceeds gate value 25 for firefox browserify home mean firstReactRender
Benchmark value 7 exceeds gate value 1 for firefox browserify home mean initialActions
Benchmark value 10 exceeds gate value 9 for firefox browserify home mean setupStore
Benchmark value 233 exceeds gate value 195 for firefox browserify home p95 domInteractive
Benchmark value 92 exceeds gate value 70 for firefox browserify home p95 backgroundConnect
Benchmark value 13 exceeds gate value 2 for firefox browserify home p95 initialActions
Benchmark value 108 exceeds gate value 100 for firefox webpack home mean domInteractive
Benchmark value 33 exceeds gate value 26 for firefox webpack home mean backgroundConnect
Benchmark value 47 exceeds gate value 38 for firefox webpack home mean firstReactRender
Benchmark value 3 exceeds gate value 1 for firefox webpack home mean initialActions
Benchmark value 1944 exceeds gate value 1935 for firefox webpack home p95 uiStartup
Benchmark value 277 exceeds gate value 156 for firefox webpack home p95 domInteractive
Benchmark value 51 exceeds gate value 49 for firefox webpack home p95 backgroundConnect
Benchmark value 58 exceeds gate value 50 for firefox webpack home p95 firstReactRender
Benchmark value 6 exceeds gate value 2 for firefox webpack home p95 initialActions
Sum of mean exceeds: 254ms | Sum of p95 exceeds: 437.8ms
Sum of all benchmark exceeds: 691.8ms

Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 9.44 KiB (0.21%)
  • ui: 1.04 KiB (0.01%)
  • common: 961 Bytes (0.01%)

@metamaskbot
Copy link
Collaborator

📊 Page Load Benchmark Results

Current Commit: 67bcd00 | Date: 9/23/2025

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.06s (±75ms) 🟡 | historical mean value: 1.06s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 741ms (±72ms) 🟢 | historical mean value: 743ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 76ms (±12ms) 🟢 | historical mean value: 80ms ⬇️ (historical data)
📈 Detailed Results
Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.06s 75ms 1.02s 1.36s 1.30s 1.36s
domContentLoaded 741ms 72ms 702ms 1.04s 969ms 1.04s
firstPaint 76ms 12ms 60ms 172ms 84ms 172ms
firstContentfulPaint 76ms 12ms 60ms 172ms 84ms 172ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms

Results generated automatically by MetaMask CI

@metamaskbot
Copy link
Collaborator

Builds ready [67bcd00]
UI Startup Metrics (1171 ± 58 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyHomeuiStartup1171107313335812051270
load100491611745610331132
domContentLoaded99891111675610281125
domInteractive17135161635
firstPaint660100117240010161077
backgroundConnect2101942396213222
firstReactRender24184152538
getState1364471626
initialActions50758516
loadScripts79469996355824903
setupStore953141018
WebpackHomeuiStartup1231979145211413111361
load1026796116810611011141
domContentLoaded1020792116310610971137
domInteractive181360121555
firstPaint1596443774187314
backgroundConnect18114261833
firstReactRender40365934047
getState74183714
initialActions72265916
loadScripts1017790116010610931134
setupStore1074541013
FirefoxBrowserifyHomeuiStartup14811296197311315361693
load1276113614978113291412
domContentLoaded1276113614978113291411
domInteractive1093229252120225
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect342088133671
firstReactRender31256173246
getState73678713
initialActions3132439
loadScripts1250111814778013091387
setupStore12519821929
WebpackHomeuiStartup16151396216115517111929
load13791181181413914681633
domContentLoaded13791180181313914671632
domInteractive1063332958105299
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect31216673642
firstReactRender47346155057
getState63222610
initialActions4175836
loadScripts13561156177714014451609
setupStore1056481026
Benchmark value 210 exceeds gate value 10 for chrome browserify home mean backgroundConnect
Benchmark value 25 exceeds gate value 23 for chrome browserify home mean firstReactRender
Benchmark value 6 exceeds gate value 1 for chrome browserify home mean initialActions
Benchmark value 222 exceeds gate value 18 for chrome browserify home p95 backgroundConnect
Benchmark value 16 exceeds gate value 1.2 for chrome browserify home p95 initialActions
Benchmark value 18 exceeds gate value 17 for chrome browserify home p95 setupStore
Benchmark value 16 exceeds gate value 7 for chrome webpack home p95 initialActions
Benchmark value 1481 exceeds gate value 1405 for firefox browserify home mean uiStartup
Benchmark value 1277 exceeds gate value 1245 for firefox browserify home mean load
Benchmark value 1276 exceeds gate value 1239 for firefox browserify home mean domContentLoaded
Benchmark value 35 exceeds gate value 25 for firefox browserify home mean backgroundConnect
Benchmark value 31 exceeds gate value 25 for firefox browserify home mean firstReactRender
Benchmark value 4 exceeds gate value 1 for firefox browserify home mean initialActions
Benchmark value 1250 exceeds gate value 1230 for firefox browserify home mean loadScripts
Benchmark value 13 exceeds gate value 9 for firefox browserify home mean setupStore
Benchmark value 1693 exceeds gate value 1660 for firefox browserify home p95 uiStartup
Benchmark value 225 exceeds gate value 195 for firefox browserify home p95 domInteractive
Benchmark value 71 exceeds gate value 70 for firefox browserify home p95 backgroundConnect
Benchmark value 9 exceeds gate value 2 for firefox browserify home p95 initialActions
Benchmark value 29 exceeds gate value 27 for firefox browserify home p95 setupStore
Benchmark value 106 exceeds gate value 100 for firefox webpack home mean domInteractive
Benchmark value 32 exceeds gate value 26 for firefox webpack home mean backgroundConnect
Benchmark value 47 exceeds gate value 38 for firefox webpack home mean firstReactRender
Benchmark value 4 exceeds gate value 1 for firefox webpack home mean initialActions
Benchmark value 299 exceeds gate value 156 for firefox webpack home p95 domInteractive
Benchmark value 57 exceeds gate value 50 for firefox webpack home p95 firstReactRender
Benchmark value 6 exceeds gate value 2 for firefox webpack home p95 initialActions
Sum of mean exceeds: 419ms | Sum of p95 exceeds: 455.8ms
Sum of all benchmark exceeds: 874.8ms

Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 9.44 KiB (0.21%)
  • ui: 1.11 KiB (0.02%)
  • common: 961 Bytes (0.01%)

@metamaskbot
Copy link
Collaborator

📊 Page Load Benchmark Results

Current Commit: 37b38a9 | Date: 9/23/2025

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.07s (±76ms) 🟡 | historical mean value: 1.06s ⬆️ (historical data)
  • domContentLoaded-> current mean value: 749ms (±72ms) 🟢 | historical mean value: 742ms ⬆️ (historical data)
  • firstContentfulPaint-> current mean value: 79ms (±11ms) 🟢 | historical mean value: 79ms ⬇️ (historical data)
📈 Detailed Results
Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.07s 76ms 1.03s 1.36s 1.33s 1.36s
domContentLoaded 749ms 72ms 713ms 1.03s 999ms 1.03s
firstPaint 79ms 11ms 64ms 176ms 88ms 176ms
firstContentfulPaint 79ms 11ms 64ms 176ms 88ms 176ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms

Results generated automatically by MetaMask CI

@metamaskbot
Copy link
Collaborator

Builds ready [37b38a9]
UI Startup Metrics (1177 ± 63 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyHomeuiStartup1177105313436312121299
load101892411876010571140
domContentLoaded101291711806010521135
domInteractive18134371739
firstPaint634140113140110161087
backgroundConnect2112002828213220
firstReactRender25195472742
getState1256271425
initialActions40143511
loadScripts80771896558843930
setupStore95253917
WebpackHomeuiStartup1154919133510512271291
load97475811609910401099
domContentLoaded969754115510010351094
domInteractive16124881438
firstPaint1566444556182259
backgroundConnect16113671632
firstReactRender35335133542
getState64132611
initialActions62154812
loadScripts96675211539910331092
setupStore86202811
FirefoxBrowserifyHomeuiStartup14331235176311914891720
load1241108114488513071383
domContentLoaded1241108014488513061383
domInteractive1043430949116226
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect37201502533100
firstReactRender30235363144
getState72799617
initialActions40779310
loadScripts1211103213748012721355
setupStore94447825
WebpackHomeuiStartup17431484211513618351984
load14971267178812315761736
domContentLoaded14961267178812315751736
domInteractive1166633658113313
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect3221106123744
firstReactRender49386355358
getState7314814613
initialActions4174838
loadScripts14731243176312515541712
setupStore1069291020
Benchmark value 212 exceeds gate value 10 for chrome browserify home mean backgroundConnect
Benchmark value 26 exceeds gate value 23 for chrome browserify home mean firstReactRender
Benchmark value 4 exceeds gate value 1 for chrome browserify home mean initialActions
Benchmark value 220 exceeds gate value 18 for chrome browserify home p95 backgroundConnect
Benchmark value 11 exceeds gate value 1.2 for chrome browserify home p95 initialActions
Benchmark value 12 exceeds gate value 7 for chrome webpack home p95 initialActions
Benchmark value 1433 exceeds gate value 1405 for firefox browserify home mean uiStartup
Benchmark value 1241 exceeds gate value 1239 for firefox browserify home mean domContentLoaded
Benchmark value 37 exceeds gate value 25 for firefox browserify home mean backgroundConnect
Benchmark value 31 exceeds gate value 25 for firefox browserify home mean firstReactRender
Benchmark value 5 exceeds gate value 1 for firefox browserify home mean initialActions
Benchmark value 10 exceeds gate value 9 for firefox browserify home mean setupStore
Benchmark value 1720 exceeds gate value 1660 for firefox browserify home p95 uiStartup
Benchmark value 226 exceeds gate value 195 for firefox browserify home p95 domInteractive
Benchmark value 100 exceeds gate value 70 for firefox browserify home p95 backgroundConnect
Benchmark value 10 exceeds gate value 2 for firefox browserify home p95 initialActions
Benchmark value 1743 exceeds gate value 1615 for firefox webpack home mean uiStartup
Benchmark value 1497 exceeds gate value 1380 for firefox webpack home mean load
Benchmark value 1497 exceeds gate value 1380 for firefox webpack home mean domContentLoaded
Benchmark value 116 exceeds gate value 100 for firefox webpack home mean domInteractive
Benchmark value 32 exceeds gate value 26 for firefox webpack home mean backgroundConnect
Benchmark value 49 exceeds gate value 38 for firefox webpack home mean firstReactRender
Benchmark value 4 exceeds gate value 1 for firefox webpack home mean initialActions
Benchmark value 1473 exceeds gate value 1360 for firefox webpack home mean loadScripts
Benchmark value 1984 exceeds gate value 1935 for firefox webpack home p95 uiStartup
Benchmark value 1736 exceeds gate value 1660 for firefox webpack home p95 load
Benchmark value 1736 exceeds gate value 1660 for firefox webpack home p95 domContentLoaded
Benchmark value 313 exceeds gate value 156 for firefox webpack home p95 domInteractive
Benchmark value 58 exceeds gate value 50 for firefox webpack home p95 firstReactRender
Benchmark value 8 exceeds gate value 2 for firefox webpack home p95 initialActions
Benchmark value 1712 exceeds gate value 1630 for firefox webpack home p95 loadScripts
Sum of mean exceeds: 772ms | Sum of p95 exceeds: 799.8ms
Sum of all benchmark exceeds: 1571.8ms

Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 9.44 KiB (0.21%)
  • ui: -3.93 KiB (-0.06%)
  • common: 162 Bytes (0%)

Copy link
Contributor

@Prithpal-Sooriya Prithpal-Sooriya left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Okay changes mostly look good, some comments that need resolving, and we can discuss in a short meeting to validate changes.

cursor[bot]

This comment was marked as outdated.

@metamaskbot
Copy link
Collaborator

📊 Page Load Benchmark Results

Current Commit: a1b479a | Date: 9/25/2025

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.04s (±71ms) 🟡 | historical mean value: 1.05s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 733ms (±82ms) 🟢 | historical mean value: 735ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 86ms (±125ms) 🟢 | historical mean value: 78ms ⬆️ (historical data)
📈 Detailed Results
Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.04s 71ms 1.00s 1.35s 1.25s 1.35s
domContentLoaded 733ms 82ms 696ms 1.26s 931ms 1.26s
firstPaint 86ms 125ms 56ms 1.32s 88ms 1.32s
firstContentfulPaint 86ms 125ms 56ms 1.32s 88ms 1.32s
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms

Results generated automatically by MetaMask CI

@metamaskbot
Copy link
Collaborator

Builds ready [a1b479a]
UI Startup Metrics (1253 ± 69 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyHomeuiStartup1253111814236913061373
load108496612376411361196
domContentLoaded107695912286411291187
domInteractive18135171739
firstPaint687103124143711021167
backgroundConnect25624235212261268
firstReactRender26178792939
getState156126141931
initialActions50526613
loadScripts82771498064881940
setupStore1062741119
WebpackHomeuiStartup1145909135010612241287
load96174311069910361093
domContentLoaded95774111039910321085
domInteractive16125181439
firstPaint1606157472181282
backgroundConnect16104661531
firstReactRender35325433541
getState74183712
initialActions62154814
loadScripts95473911019810291083
setupStore86202812
FirefoxBrowserifyHomeuiStartup14541262186311715291689
load1248109914988313131397
domContentLoaded1248109814978313121397
domInteractive1063428850108234
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect3419121153857
firstReactRender29245953033
getState82799725
initialActions7115819511
loadScripts1222107814718112891354
setupStore125151171031
WebpackHomeuiStartup16241410211314817201912
load13831186186813914821618
domContentLoaded13831185186713914821618
domInteractive1153233167110301
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect3620282323754
firstReactRender38325744048
getState7313213713
initialActions411521546
loadScripts13551152176713114601594
setupStore116157151021
Benchmark value 1254 exceeds gate value 1234 for chrome browserify home mean uiStartup
Benchmark value 1085 exceeds gate value 1070 for chrome browserify home mean load
Benchmark value 1077 exceeds gate value 1061 for chrome browserify home mean domContentLoaded
Benchmark value 257 exceeds gate value 10 for chrome browserify home mean backgroundConnect
Benchmark value 27 exceeds gate value 23 for chrome browserify home mean firstReactRender
Benchmark value 5 exceeds gate value 1 for chrome browserify home mean initialActions
Benchmark value 1373 exceeds gate value 1365 for chrome browserify home p95 uiStartup
Benchmark value 1196 exceeds gate value 1190 for chrome browserify home p95 load
Benchmark value 1188 exceeds gate value 1180 for chrome browserify home p95 domContentLoaded
Benchmark value 268 exceeds gate value 18 for chrome browserify home p95 backgroundConnect
Benchmark value 13 exceeds gate value 1.2 for chrome browserify home p95 initialActions
Benchmark value 19 exceeds gate value 17 for chrome browserify home p95 setupStore
Benchmark value 14 exceeds gate value 7 for chrome webpack home p95 initialActions
Benchmark value 1455 exceeds gate value 1405 for firefox browserify home mean uiStartup
Benchmark value 1248 exceeds gate value 1245 for firefox browserify home mean load
Benchmark value 1248 exceeds gate value 1239 for firefox browserify home mean domContentLoaded
Benchmark value 34 exceeds gate value 25 for firefox browserify home mean backgroundConnect
Benchmark value 29 exceeds gate value 25 for firefox browserify home mean firstReactRender
Benchmark value 7 exceeds gate value 1 for firefox browserify home mean initialActions
Benchmark value 13 exceeds gate value 9 for firefox browserify home mean setupStore
Benchmark value 1689 exceeds gate value 1660 for firefox browserify home p95 uiStartup
Benchmark value 234 exceeds gate value 195 for firefox browserify home p95 domInteractive
Benchmark value 25 exceeds gate value 24 for firefox browserify home p95 getState
Benchmark value 11 exceeds gate value 2 for firefox browserify home p95 initialActions
Benchmark value 31 exceeds gate value 27 for firefox browserify home p95 setupStore
Benchmark value 1624 exceeds gate value 1615 for firefox webpack home mean uiStartup
Benchmark value 1384 exceeds gate value 1380 for firefox webpack home mean load
Benchmark value 1383 exceeds gate value 1380 for firefox webpack home mean domContentLoaded
Benchmark value 115 exceeds gate value 100 for firefox webpack home mean domInteractive
Benchmark value 37 exceeds gate value 26 for firefox webpack home mean backgroundConnect
Benchmark value 39 exceeds gate value 38 for firefox webpack home mean firstReactRender
Benchmark value 5 exceeds gate value 1 for firefox webpack home mean initialActions
Benchmark value 301 exceeds gate value 156 for firefox webpack home p95 domInteractive
Benchmark value 54 exceeds gate value 49 for firefox webpack home p95 backgroundConnect
Benchmark value 6 exceeds gate value 2 for firefox webpack home p95 initialActions
Sum of mean exceeds: 438ms | Sum of p95 exceeds: 528.8ms
Sum of all benchmark exceeds: 966.8ms

Bundle size diffs [🚀 Bundle size reduced!]
  • background: 40.34 KiB (0.9%)
  • ui: 17.95 KiB (0.25%)
  • common: -92.99 KiB (-1.19%)

@metamaskbot
Copy link
Collaborator

📊 Page Load Benchmark Results

Current Commit: 60732c9 | Date: 9/25/2025

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.07s (±78ms) 🟡 | historical mean value: 1.05s ⬆️ (historical data)
  • domContentLoaded-> current mean value: 753ms (±75ms) 🟢 | historical mean value: 739ms ⬆️ (historical data)
  • firstContentfulPaint-> current mean value: 79ms (±11ms) 🟢 | historical mean value: 80ms ⬇️ (historical data)
📈 Detailed Results
Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.07s 78ms 1.03s 1.39s 1.33s 1.39s
domContentLoaded 753ms 75ms 712ms 1.05s 988ms 1.05s
firstPaint 79ms 11ms 64ms 172ms 88ms 172ms
firstContentfulPaint 79ms 11ms 64ms 172ms 88ms 172ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms

Results generated automatically by MetaMask CI

@metamaskbot
Copy link
Collaborator

Builds ready [60732c9]
UI Startup Metrics (1239 ± 69 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyHomeuiStartup1239111714366912761389
load106996312576511071209
domContentLoaded106295912506410991201
domInteractive19134681841
firstPaint60478126643410681151
backgroundConnect2542392798259269
firstReactRender2617152142540
getState1353361628
initialActions50254613
loadScripts815704101165851941
setupStore942631017
WebpackHomeuiStartup1168921143511412491309
load981755124510810511124
domContentLoaded977752124210810461121
domInteractive16125191441
firstPaint1536433057178286
backgroundConnect16118391630
firstReactRender36334523641
getState64132712
initialActions72224815
loadScripts974750123910810421119
setupStore86212812
FirefoxBrowserifyHomeuiStartup14221242192211614661687
load1226108714547612741345
domContentLoaded1225108714547612741345
domInteractive1073228753110247
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect3421133163559
firstReactRender29247463036
getState839010729
initialActions51616513
loadScripts1200107114287212471325
setupStore13579151155
WebpackHomeuiStartup15251366200614616151811
load12891139160812113631538
domContentLoaded12891139160812113621538
domInteractive1043634058102272
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect30195273640
firstReactRender36318053744
getState63172611
initialActions7014720420
loadScripts12671121159012213371519
setupStore136162211028
Benchmark value 1240 exceeds gate value 1234 for chrome browserify home mean uiStartup
Benchmark value 1063 exceeds gate value 1061 for chrome browserify home mean domContentLoaded
Benchmark value 254 exceeds gate value 10 for chrome browserify home mean backgroundConnect
Benchmark value 27 exceeds gate value 23 for chrome browserify home mean firstReactRender
Benchmark value 5 exceeds gate value 1 for chrome browserify home mean initialActions
Benchmark value 1390 exceeds gate value 1365 for chrome browserify home p95 uiStartup
Benchmark value 1210 exceeds gate value 1190 for chrome browserify home p95 load
Benchmark value 1201 exceeds gate value 1180 for chrome browserify home p95 domContentLoaded
Benchmark value 269 exceeds gate value 18 for chrome browserify home p95 backgroundConnect
Benchmark value 13 exceeds gate value 1.2 for chrome browserify home p95 initialActions
Benchmark value 941 exceeds gate value 940 for chrome browserify home p95 loadScripts
Benchmark value 15 exceeds gate value 7 for chrome webpack home p95 initialActions
Benchmark value 1422 exceeds gate value 1405 for firefox browserify home mean uiStartup
Benchmark value 34 exceeds gate value 25 for firefox browserify home mean backgroundConnect
Benchmark value 29 exceeds gate value 25 for firefox browserify home mean firstReactRender
Benchmark value 5 exceeds gate value 1 for firefox browserify home mean initialActions
Benchmark value 14 exceeds gate value 9 for firefox browserify home mean setupStore
Benchmark value 1687 exceeds gate value 1660 for firefox browserify home p95 uiStartup
Benchmark value 247 exceeds gate value 195 for firefox browserify home p95 domInteractive
Benchmark value 29 exceeds gate value 24 for firefox browserify home p95 getState
Benchmark value 13 exceeds gate value 2 for firefox browserify home p95 initialActions
Benchmark value 55 exceeds gate value 27 for firefox browserify home p95 setupStore
Benchmark value 104 exceeds gate value 100 for firefox webpack home mean domInteractive
Benchmark value 31 exceeds gate value 26 for firefox webpack home mean backgroundConnect
Benchmark value 7 exceeds gate value 1 for firefox webpack home mean initialActions
Benchmark value 272 exceeds gate value 156 for firefox webpack home p95 domInteractive
Benchmark value 20 exceeds gate value 2 for firefox webpack home p95 initialActions
Sum of mean exceeds: 314ms | Sum of p95 exceeds: 594.8ms
Sum of all benchmark exceeds: 908.8ms

Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 10.16 KiB (0.22%)
  • ui: -4.14 KiB (-0.06%)
  • common: 140 Bytes (0%)

@salimtb salimtb added the INVALID-PR-TEMPLATE PR's body doesn't match template label Sep 26, 2025
@metamaskbot metamaskbot removed the INVALID-PR-TEMPLATE PR's body doesn't match template label Sep 26, 2025
Copy link
Contributor

@hjetpoluru hjetpoluru left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

e2e files changes lgtm

@vinnyhoward vinnyhoward added this pull request to the merge queue Sep 26, 2025
Merged via the queue into main with commit a25be36 Sep 26, 2025
156 of 158 checks passed
@vinnyhoward vinnyhoward deleted the fix/migrate-to-network-enablement branch September 26, 2025 18:16
@github-actions github-actions bot locked and limited conversation to collaborators Sep 26, 2025
@metamaskbot metamaskbot added the release-13.5.0 Issue or pull request that will be included in release 13.5.0 label Sep 26, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

release-13.5.0 Issue or pull request that will be included in release 13.5.0 size-XL team-assets

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants