Skip to content

feat(snaps): Setup StorageService for SnapController#39385

Merged
GuillaumeRx merged 23 commits intogr/bump-snaps-v142from
gr/snap-controller-storage-service
Feb 9, 2026
Merged

feat(snaps): Setup StorageService for SnapController#39385
GuillaumeRx merged 23 commits intogr/bump-snaps-v142from
gr/snap-controller-storage-service

Conversation

@GuillaumeRx
Copy link
Copy Markdown
Contributor

@GuillaumeRx GuillaumeRx commented Jan 20, 2026

Description

This PR sets up the StorageService actions in the SnapController messenger and migrate the source code of the existing snaps over it.

Open in GitHub Codespaces

Changelog

CHANGELOG entry: Use StorageService for Snaps.

Related issues

Fixes:

Manual testing steps

  1. Go to test-snaps
  2. try to install a snap

Screenshots/Recordings

Before

After

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

Medium Risk
Adds a new persisted-state migration and changes where snap sourceCode is stored/retrieved, which can impact snap execution/installation and upgrade paths if the migration or storage adapter misbehaves.

Overview
Snap storage is moved toward StorageService. SnapController’s restricted messenger now allows StorageService actions (setItem/getItem/removeItem/clear) and subscribes to SnapsRegistry:stateChange.

Persisted snap sourceCode is migrated out of controller state. New migration 193 copies each snap’s sourceCode from SnapController.snaps into browser storage via BrowserStorageAdapter and deletes it from state, with defensive error reporting and updated migration/version fixtures.

Telemetry/UI sanitization is updated accordingly. State sanitization and tests stop treating snap sourceCode as a “large” field to strip, and unit test setup globally mocks BrowserStorageAdapter with an in-memory adapter (with browser-storage-adapter tests opting into the real implementation).

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

@github-actions
Copy link
Copy Markdown
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.

@metamaskbot metamaskbot added the team-core-platform Core Platform team label Jan 20, 2026
@GuillaumeRx GuillaumeRx changed the title feat!(snaps): Setup StorageService for SnapController feat(snaps): Setup StorageService for SnapController Jan 20, 2026
@metamaskbotv2
Copy link
Copy Markdown
Contributor

metamaskbotv2 bot commented Jan 20, 2026

✨ Files requiring CODEOWNER review ✨

🫰 @MetaMask/core-platform (1 files, +19 -2)
  • 📁 app/
    • 📁 scripts/
      • 📁 controller-init/
        • 📁 messengers/
          • 📁 snaps/
            • 📄 snap-controller-messenger.ts +19 -2

👨‍🔧 @MetaMask/extension-platform (1 files, +4 -4)
  • 📁 test/
    • 📁 e2e/
      • 📁 fixtures/
        • 📄 onboarding-fixture.json +4 -4

🧪 @MetaMask/qa (1 files, +4 -4)
  • 📁 test/
    • 📁 e2e/
      • 📁 fixtures/
        • 📄 onboarding-fixture.json +4 -4

@metamaskbotv2
Copy link
Copy Markdown
Contributor

metamaskbotv2 bot commented Jan 20, 2026

Builds ready [980bd1e]
UI Startup Metrics (1288 ± 106 ms)
PlatformBuildTypePageMetricTest Title (ms)Persona (ms)Mean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--12881037161810613581464
load--107587513449911441270
domContentLoaded--106987213419911381265
domInteractive--251598182275
firstPaint--144631157116183254
backgroundConnect--21619825510222236
firstReactRender--1593241624
getState--351890123864
initialActions--107112
loadScripts--8596721090979261058
setupStore--1272931319
numNetworkReqs--171177161162
19--------
BrowserifyPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--19131566248920120302348
load--1026902162211810521289
domContentLoaded--1014894161311810341280
domInteractive--34171342432101
firstPaint--196711303205220415
backgroundConnect--266204662111243594
firstReactRender--22154962435
getState--17113629226188209
initialActions--104112
loadScripts--80068214031168111061
setupStore--19108192037
numNetworkReqs--60361672663131
19--------
WebpackStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--797656105286849986
load--64357082266675785
domContentLoaded--63856681465672780
domInteractive--241594181977
firstPaint--1086227751146206
backgroundConnect--335156325396
firstReactRender--16103341625
getState--301264133956
initialActions--104112
loadScripts--63556481264669771
setupStore--1154661226
numNetworkReqs--171175161164
19--------
WebpackPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--1380895213128015811899
load--67960095984684927
domContentLoaded--66959095485676919
domInteractive--33171652534101
firstPaint--1426342979197275
backgroundConnect--106767019326567
firstReactRender--22173942427
getState--15012625420159179
initialActions--102011
loadScripts--66658894683673910
setupStore--16104871740
numNetworkReqs--1043933654138225
19--------
FirefoxBrowserifyStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--13231066189016714231634
load--105790913119611331234
domContentLoaded--105790813109611331234
domInteractive--68312154294145
firstPaint--------
backgroundConnect--48182133756138
firstReactRender--1292321217
getState--176485521125
initialActions--102122
loadScripts--102889212678510961184
setupStore--134208211030
numNetworkReqs--18985171370
19--------
BrowserifyPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--24811762615086223814658
load--1229980491549411762339
domContentLoaded--1229980491549411762339
domInteractive--147353274339111293
firstPaint--------
backgroundConnect--9621101210999213
firstReactRender--21146182249
getState--25249776213387719
initialActions--203123
loadScripts--1180961489846711311946
setupStore--12910698158129560
numNetworkReqs--513099217492
19--------
WebpackStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--16221282219918417381960
load--13221113161611113891544
domContentLoaded--13221113161611113891544
domInteractive--973123344131168
firstPaint--------
backgroundConnect--63172134384153
firstReactRender--16114651724
getState--16997131732
initialActions--104122
loadScripts--1281108615219313471475
setupStore--2862725018174
numNetworkReqs--19981181473
19--------
WebpackPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--28212228499859027914218
load--16041218309442316202815
domContentLoaded--16041217309442316202815
domInteractive--13135952143124346
firstPaint--------
backgroundConnect--166361191233145919
firstReactRender--25188782833
getState--30090814230452790
initialActions--214123
loadScripts--15091195285331815342495
setupStore--1091568914394510
numNetworkReqs--51261412356105
19--------
📊 Page Load Benchmark Results

Current Commit: 980bd1e | Date: 1/20/2026

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.05s (±40ms) 🟡 | historical mean value: 1.04s ⬆️ (historical data)
  • domContentLoaded-> current mean value: 730ms (±37ms) 🟢 | historical mean value: 725ms ⬆️ (historical data)
  • firstContentfulPaint-> current mean value: 78ms (±10ms) 🟢 | historical mean value: 77ms ⬆️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.05s 40ms 1.02s 1.33s 1.08s 1.33s
domContentLoaded 730ms 37ms 703ms 996ms 758ms 996ms
firstPaint 78ms 10ms 60ms 160ms 88ms 160ms
firstContentfulPaint 78ms 10ms 60ms 160ms 88ms 160ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 219 Bytes (0%)
  • ui: 1.51 KiB (0.02%)
  • common: -189 Bytes (0%)

@metamaskbotv2
Copy link
Copy Markdown
Contributor

metamaskbotv2 bot commented Jan 20, 2026

Builds ready [f836d7c]
UI Startup Metrics (1299 ± 117 ms)
PlatformBuildTypePageMetricTest Title (ms)Persona (ms)Mean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--12991036167411713681461
load--1085871146610911341251
domContentLoaded--1077868146010911301244
domInteractive--251691172281
firstPaint--161661204159197292
backgroundConnect--21520026010219237
firstReactRender--16115361628
getState--361875124461
initialActions--105111
loadScripts--87066412511089251035
setupStore--1263141423
numNetworkReqs--171171161163
19--------
BrowserifyPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--17931470255320319022261
load--94984717191239661203
domContentLoaded--93783917141249541194
domInteractive--31151202330105
firstPaint--1706141764212285
backgroundConnect--250179625128213599
firstReactRender--20154342225
getState--18014069657191224
initialActions--102111
loadScripts--7516501510120751999
setupStore--1694471537
numNetworkReqs--60382092857132
19--------
WebpackStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--805664107079851988
load--64057984361655788
domContentLoaded--63557583861650783
domInteractive--2515122202178
firstPaint--1046033850130200
backgroundConnect--315128304297
firstReactRender--16114351727
getState--331594154365
initialActions--105111
loadScripts--63257282859648775
setupStore--1365481236
numNetworkReqs--171177171168
19--------
WebpackPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--1291968210424113901795
load--666582111987673879
domContentLoaded--657576111488659875
domInteractive--34171762932113
firstPaint--1266039966141270
backgroundConnect--90763317821562
firstReactRender--22173132329
getState--15012772360152179
initialActions--102111
loadScripts--654574110586657866
setupStore--1563851721
numNetworkReqs--1033524148139214
19--------
FirefoxBrowserifyStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--16031235220120417341982
load--12721029184115013281599
domContentLoaded--12711028184115013281599
domInteractive--973335054137167
firstPaint--------
backgroundConnect--832538767131235
firstReactRender--15115051524
getState--206224311578
initialActions--103122
loadScripts--12191006181313112821486
setupStore--1244481434
numNetworkReqs--19975171372
19--------
BrowserifyPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--26121912506364025824135
load--13651053272939814042614
domContentLoaded--13641053272939814042613
domInteractive--145381553215116352
firstPaint--------
backgroundConnect--11733816110124259
firstReactRender--24167392636
getState--27458835234372791
initialActions--218124
loadScripts--13181035263938012922541
setupStore--12310646150114501
numNetworkReqs--502996217587
19--------
WebpackStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--16361338252120417631996
load--13661151197914714391629
domContentLoaded--13651151197814714391629
domInteractive--902924851129204
firstPaint--------
backgroundConnect--65222274578161
firstReactRender--16127971622
getState--209240301665
initialActions--103122
loadScripts--13261105183213113981590
setupStore--2362774314111
numNetworkReqs--19981171470
19--------
WebpackPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--28842029505774829494646
load--16371227299853916692867
domContentLoaded--16361227299853916692866
domInteractive--124311053150117340
firstPaint--------
backgroundConnect--1922712442721711080
firstReactRender--2717122152957
getState--34960930269564857
initialActions--213123
loadScripts--15331208287442216312680
setupStore--121884118190629
numNetworkReqs--4929100196589
19--------
📊 Page Load Benchmark Results

Current Commit: f836d7c | Date: 1/20/2026

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.07s (±60ms) 🟡 | historical mean value: 1.05s ⬆️ (historical data)
  • domContentLoaded-> current mean value: 747ms (±58ms) 🟢 | historical mean value: 732ms ⬆️ (historical data)
  • firstContentfulPaint-> current mean value: 79ms (±13ms) 🟢 | historical mean value: 80ms ⬇️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.07s 60ms 1.01s 1.41s 1.14s 1.41s
domContentLoaded 747ms 58ms 702ms 1.09s 818ms 1.09s
firstPaint 79ms 13ms 64ms 188ms 96ms 188ms
firstContentfulPaint 79ms 13ms 64ms 188ms 96ms 188ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 1.6 KiB (0.03%)
  • ui: 1 Bytes (0%)
  • common: 13 Bytes (0%)

@metamaskbotv2
Copy link
Copy Markdown
Contributor

metamaskbotv2 bot commented Jan 20, 2026

Builds ready [e9c766a]
UI Startup Metrics (1277 ± 121 ms)
PlatformBuildTypePageMetricTest Title (ms)Persona (ms)Mean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--12771024167912113461499
load--1071851138711011241309
domContentLoaded--1064848138111011181300
domInteractive--2615121202287
firstPaint--145621076113180287
backgroundConnect--21219326710216231
firstReactRender--1694151827
getState--3817120154564
initialActions--109111
loadScripts--85964911841109161093
setupStore--1373641422
numNetworkReqs--171180161164
19--------
BrowserifyPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--19461518260723720662457
load--1025890171911710411280
domContentLoaded--1011884171211810261268
domInteractive--3318116183366
firstPaint--190661341174223347
backgroundConnect--266211736112239569
firstReactRender--22166472332
getState--18213774662192231
initialActions--102011
loadScripts--79667614831138031014
setupStore--19115081943
numNetworkReqs--1043721938125185
19--------
WebpackStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--792648100982847965
load--64756790978685794
domContentLoaded--64256390277680787
domInteractive--241589172074
firstPaint--965823443117181
backgroundConnect--2951463148105
firstReactRender--15113841625
getState--3115152203856
initialActions--104111
loadScripts--63956089976678777
setupStore--1164061222
numNetworkReqs--171175171168
19--------
WebpackPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--1347940203025715151916
load--699613116697701920
domContentLoaded--689606115397690913
domInteractive--35181652830116
firstPaint--15165903109185294
backgroundConnect--103860918731573
firstReactRender--23183532529
getState--15913276765157201
initialActions--103112
loadScripts--686604114395687904
setupStore--1564961724
numNetworkReqs--853822442107159
19--------
FirefoxBrowserifyStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--13841072197918014781734
load--1105913168913811641391
domContentLoaded--1104913168813811641391
domInteractive--69304054990145
firstPaint--------
backgroundConnect--56182454659162
firstReactRender--13103441323
getState--126143141322
initialActions--103122
loadScripts--1070897163212311251274
setupStore--145120151241
numNetworkReqs--19979181473
19--------
BrowserifyPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--25241814596477724884834
load--1198965277929711831566
domContentLoaded--1198965277929711831566
domInteractive--1033448872108293
firstPaint--------
backgroundConnect--129281528215109364
firstReactRender--2515116152662
getState--311591053248462825
initialActions--208123
loadScripts--1143942247922311461509
setupStore--1419782185128621
numNetworkReqs--5531109197789
19--------
WebpackStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--15811278207216816801910
load--13311132173512613981574
domContentLoaded--13301132173512613981574
domInteractive--852822445128161
firstPaint--------
backgroundConnect--62211864176156
firstReactRender--15123031722
getState--157145171525
initialActions--103122
loadScripts--12911115168910713511502
setupStore--155204241324
numNetworkReqs--18972151361
19--------
WebpackPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--28492094503871927854559
load--16311212323052616462946
domContentLoaded--16311212323052616462946
domInteractive--1033163983111284
firstPaint--------
backgroundConnect--172301149230165991
firstReactRender--2417114112733
getState--28879951251430845
initialActions--204123
loadScripts--15401156321142816112725
setupStore--1236798176106632
numNetworkReqs--5228120206992
19--------
📊 Page Load Benchmark Results

Current Commit: e9c766a | Date: 1/20/2026

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 978ms (±45ms) 🟢 | historical mean value: 1.05s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 678ms (±39ms) 🟢 | historical mean value: 732ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 76ms (±13ms) 🟢 | historical mean value: 80ms ⬇️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 978ms 45ms 948ms 1.28s 994ms 1.28s
domContentLoaded 678ms 39ms 656ms 942ms 693ms 942ms
firstPaint 76ms 13ms 60ms 188ms 84ms 188ms
firstContentfulPaint 76ms 13ms 60ms 188ms 84ms 188ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 1.6 KiB (0.03%)
  • ui: 1 Bytes (0%)
  • common: 13 Bytes (0%)

@metamaskbotv2
Copy link
Copy Markdown
Contributor

metamaskbotv2 bot commented Jan 20, 2026

Builds ready [0ec947e]
UI Startup Metrics (1307 ± 114 ms)
PlatformBuildTypePageMetricTest Title (ms)Persona (ms)Mean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--13071062165711413891504
load--1098866139010811651291
domContentLoaded--1092861138310911581286
domInteractive--2816142232488
firstPaint--174651207178189330
backgroundConnect--22320527111227243
firstReactRender--16103551825
getState--361888124262
initialActions--105113
loadScripts--87665411651079401077
setupStore--1283741421
numNetworkReqs--171177161165
19--------
BrowserifyPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--19181657243617520282300
load--1043909139511310631335
domContentLoaded--1031902138611310521314
domInteractive--34171492732111
firstPaint--1747039779229333
backgroundConnect--290210816133249626
firstReactRender--21154542228
getState--17414024226189226
initialActions--102112
loadScripts--80968211591118261096
setupStore--1794361834
numNetworkReqs--59381452462126
19--------
WebpackStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--800668103373841927
load--64958681764673796
domContentLoaded--64458281263667790
domInteractive--2715124222288
firstPaint--1056027450132204
backgroundConnect--2661313030108
firstReactRender--16104051725
getState--311665124156
initialActions--104112
loadScripts--64158180362664783
setupStore--1474281534
numNetworkReqs--181176181174
19--------
WebpackPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--13711016224926514791950
load--70160293075713886
domContentLoaded--69159792476708882
domInteractive--34191292532104
firstPaint--1346546771158278
backgroundConnect--80767316423542
firstReactRender--22173642529
getState--15713279366157184
initialActions--101011
loadScripts--68959591675705874
setupStore--1765191743
numNetworkReqs--60372052965136
19--------
FirefoxBrowserifyStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--14311109201419615271851
load--1154937176115012171468
domContentLoaded--1153936176115112131468
domInteractive--67302254394140
firstPaint--------
backgroundConnect--53202614450155
firstReactRender--13105251317
getState--13672101431
initialActions--103122
loadScripts--1120924173113811741343
setupStore--184206311357
numNetworkReqs--19978181573
19--------
BrowserifyPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--25071703505567125064415
load--1257999280934812512415
domContentLoaded--1257999280834812502415
domInteractive--1113444880117313
firstPaint--------
backgroundConnect--125221141194105478
firstReactRender--23146492454
getState--27652834228431758
initialActions--2045423
loadScripts--1199985246426112261808
setupStore--1258843184102649
numNetworkReqs--5029111206988
19--------
WebpackStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--15711305233819416461972
load--13311116183812714121586
domContentLoaded--13311116183812714121586
domInteractive--852824149128182
firstPaint--------
backgroundConnect--661819447111150
firstReactRender--14102221418
getState--168150201453
initialActions--103122
loadScripts--12911099171911213281520
setupStore--133139181232
numNetworkReqs--19985191475
19--------
WebpackPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--28741950837798627124773
load--16841161695580215843110
domContentLoaded--16841160695580315843110
domInteractive--168324839500101285
firstPaint--------
backgroundConnect--1622213292641411108
firstReactRender--2315117112632
getState--316851763280505831
initialActions--203123
loadScripts--15861143693274015372929
setupStore--939754132107360
numNetworkReqs--4828101186681
19--------
📊 Page Load Benchmark Results

Current Commit: 0ec947e | Date: 1/20/2026

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.04s (±42ms) 🟡 | historical mean value: 1.05s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 725ms (±38ms) 🟢 | historical mean value: 734ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 78ms (±11ms) 🟢 | historical mean value: 80ms ⬇️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.04s 42ms 1.01s 1.34s 1.07s 1.34s
domContentLoaded 725ms 38ms 701ms 1.01s 744ms 1.01s
firstPaint 78ms 11ms 56ms 168ms 88ms 168ms
firstContentfulPaint 78ms 11ms 56ms 168ms 88ms 168ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 122.04 KiB (2.43%)
  • ui: 61 Bytes (0%)
  • common: 235.22 KiB (2.61%)

@metamaskbotv2
Copy link
Copy Markdown
Contributor

metamaskbotv2 bot commented Feb 6, 2026

Builds ready [2f2aaf2]
UI Startup Metrics (1354 ± 94 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard HomeuiStartup1354118016589414151514
load1173101013888712321324
domContentLoaded1166100613808712191318
domInteractive261683172272
firstPaint155651280132202249
backgroundConnect23521633017237269
firstReactRender1693341822
initialActions105113
loadScripts9437861157869961100
setupStore1263241519
numNetworkReqs231591201582
BrowserifyPower User HomeuiStartup18161457242716918652119
load11961068183617311811667
domContentLoaded11791053173716111701627
domInteractive3519154233657
firstPaint209731754229235358
backgroundConnect32429338620336363
firstReactRender23164262435
initialActions104111
loadScripts93280214861589171365
setupStore1683951927
numNetworkReqs1075027546134205
WebpackStandard HomeuiStartup8216821130100893997
load710607104392756869
domContentLoaded705603103892750863
domInteractive261695182279
firstPaint1116226951144210
backgroundConnect26175382944
firstReactRender14104251722
initialActions103112
loadScripts702601103691749861
setupStore1265051221
numNetworkReqs231598211584
WebpackPower User HomeuiStartup1194918194316712651443
load70061311431106951008
domContentLoaded6916091135110685993
domInteractive36171663134123
firstPaint1366454994131342
backgroundConnect16013133247158298
firstReactRender22163242429
initialActions103111
loadScripts6886061126107682973
setupStore1263541319
numNetworkReqs1214726050146251
FirefoxBrowserifyStandard HomeuiStartup15161324223317015371895
load13071154201414313411584
domContentLoaded13051154200814313411584
domInteractive66322484186135
firstPaint------
backgroundConnect5228130165385
firstReactRender1292521214
initialActions103122
loadScripts12821132198714113171543
setupStore156194221432
numNetworkReqs241394211785
BrowserifyPower User HomeuiStartup26601945384134127483395
load15101234235224315702048
domContentLoaded15101230235224315702048
domInteractive11834731111114384
firstPaint------
backgroundConnect283107964240281888
firstReactRender19146591923
initialActions103122
loadScripts14751211227123015212004
setupStore1509780205157642
numNetworkReqs65351413189127
WebpackStandard HomeuiStartup15991301308520116561850
load13801169283417814371549
domContentLoaded13791169283417814371549
domInteractive852922542117141
firstPaint------
backgroundConnect54251692661109
firstReactRender15107891421
initialActions102022
loadScripts13541156280017414091510
setupStore166157181346
numNetworkReqs241296211780
WebpackPower User HomeuiStartup26901985422843427603669
load15551249243128916972196
domContentLoaded15541248243128916972196
domInteractive12232756130104451
firstPaint------
backgroundConnect3021221258272241933
firstReactRender21163042327
initialActions209123
loadScripts15111227240527016352128
setupStore1549707190218535
numNetworkReqs65371303199120
📊 Page Load Benchmark Results

Current Commit: 2f2aaf2 | Date: 2/6/2026

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.06s (±62ms) 🟡 | historical mean value: 1.03s ⬆️ (historical data)
  • domContentLoaded-> current mean value: 745ms (±60ms) 🟢 | historical mean value: 719ms ⬆️ (historical data)
  • firstContentfulPaint-> current mean value: 79ms (±10ms) 🟢 | historical mean value: 77ms ⬆️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.06s 62ms 1.03s 1.34s 1.28s 1.34s
domContentLoaded 745ms 60ms 714ms 1.02s 946ms 1.02s
firstPaint 79ms 10ms 60ms 160ms 84ms 160ms
firstContentfulPaint 79ms 10ms 60ms 160ms 84ms 160ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants