Skip to content

Conversation

@mikesposito
Copy link
Member

@mikesposito mikesposito commented Jun 12, 2025

Description

Updating @metamask/keyring-controller to bring these changes:

### Added

- Added optional `SupportedKeyDerivationOptions` type parameter to the `ExportableKeyEncryptor` type ([#5963](https://github.com/MetaMask/core/pull/5963))
  - This type parameter allows specifying the key derivation options supported by the injected encryptor.

### Changed

- **BREAKING:** The `KeyringController` constructor now requires an encryptor supporting the `keyFromPassword`, `exportKey` and `generateSalt` methods ([#5963](https://github.com/MetaMask/core/pull/5963))

### Removed

- **BREAKING:** The `cacheEncryptionKey` parameter has been removed from the `KeyringController` constructor options ([#5963](https://github.com/MetaMask/core/pull/5963))
  - This parameter was previously used to enable encryption key in-memory caching, but it is no longer needed as the controller now always uses the latest encryption key.
- **BREAKING:** The `submitEncryptionKey` method does not accept an `encryptionSalt` argument anymore ([#5963](https://github.com/MetaMask/core/pull/5963))
  - The encryption salt is now always taken from the vault.

Open in GitHub Codespaces

Related issues

Fixes:

Manual testing steps

As this version of @metamask/keyring-controller ships some internal critical changes on the encryption mechanism, it is important to test the following scenarios:

  • On a fresh install of the extension

    1. Onboard
    2. Create a new account
    3. Lock and unlock the extension
    4. Shutdown browser session, open it again, check all accounts are there, retry from step 2
  • Updating from a recent extension version (e.g. 12.18.0)

    1. Build locally 12.18.0, install, onboard, create a new account
    2. Checkout this branch, build locally, reload the extension from chrome://extensions
    3. Check that all accounts are there
    4. Lock and unlock the extension
    5. Shutdown browser session, open it again, check all accounts are there, retry from step 2
  • Updating from a version with older encryption parameters (e.g. 11.7.3)

    1. Build locally 11.7.3, install, onboard, create a new account
    2. Checkout this branch, build locally, reload the extension from chrome://extensions
    3. Check that all accounts are there
    4. Create a new account
    5. Lock and unlock the extension
    6. Shutdown browser session, open it again, check all accounts are there, retry from step 2

Screenshots/Recordings

Before

After

recording.mp4

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.

@mikesposito mikesposito marked this pull request as draft June 12, 2025 10:29
@socket-security
Copy link

socket-security bot commented Jun 12, 2025

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

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Updatedpbkdf2@​3.1.3 ⏵ 3.1.2100 +125 -7576 -686100
Updatedform-data@​4.0.4 ⏵ 4.0.099 +125 -7510097100
Updatedesquery@​1.6.0 ⏵ 1.5.01001008179100
Updatedignore@​5.3.2 ⏵ 5.3.110010010085100
Updated@​endo/​import-bundle@​1.5.2 ⏵ 1.5.195 -310010092100

View full report

@socket-security
Copy link

socket-security bot commented Jun 12, 2025

Caution

Review the following alerts detected in dependencies.

According to your organization's Security Policy, you must resolve all "Block" alerts before proceeding. Learn more about Socket for GitHub.

Action Severity Alert (click for details)
Block Critical
form-data@4.0.0 has a Critical CVE.

CVE: GHSA-fjxv-7rqg-78g4 form-data uses unsafe random function in form-data for choosing boundary (CRITICAL)

Affected versions: < 2.5.4; >= 3.0.0 < 3.0.4; >= 4.0.0 < 4.0.4

Patched version: 4.0.4

From: yarn.locknpm/form-data@4.0.0

ℹ Read more on: This package | This alert | What is a critical CVE?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Remove or replace dependencies that include known critical CVEs. Consumers can use dependency overrides or npm audit fix --force to remove vulnerable dependencies.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/form-data@4.0.0. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Block Critical
pbkdf2@3.1.2 has a Critical CVE.

CVE: GHSA-h7cp-r72f-jxh6 pbkdf2 returns predictable uninitialized/zero-filled memory for non-normalized or unimplemented algos (CRITICAL)

Affected versions: >= 3.0.10 < 3.1.3

Patched version: 3.1.3

From: yarn.locknpm/pbkdf2@3.1.2

ℹ Read more on: This package | This alert | What is a critical CVE?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Remove or replace dependencies that include known critical CVEs. Consumers can use dependency overrides or npm audit fix --force to remove vulnerable dependencies.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/pbkdf2@3.1.2. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Block Critical
pbkdf2@3.1.2 has a Critical CVE.

CVE: GHSA-v62p-rq8g-8h59 pbkdf2 silently disregards Uint8Array input, returning static keys (CRITICAL)

Affected versions: < 3.1.3

Patched version: 3.1.3

From: yarn.locknpm/pbkdf2@3.1.2

ℹ Read more on: This package | This alert | What is a critical CVE?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Remove or replace dependencies that include known critical CVEs. Consumers can use dependency overrides or npm audit fix --force to remove vulnerable dependencies.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/pbkdf2@3.1.2. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Block Medium
secp256k1@4.0.4 has Native code.

Location: Package overview

From: ?npm/ethereumjs-util@7.1.5npm/hdkey@2.1.0npm/gridplus-sdk@2.5.1npm/ganache@7.9.2npm/@metamask/keyring-controller@22.1.0npm/secp256k1@4.0.4

ℹ Read more on: This package | This alert | Why is native code a concern?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Verify that the inclusion of native code is expected and necessary for this package's functionality. If it is unnecessary or unexpected, consider using alternative packages without native code to mitigate potential risks.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/secp256k1@4.0.4. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Block Low
ulid@2.4.0 has a New author.

New Author: perrymitchell

Previous Author: alizain

From: ?npm/@metamask/keyring-controller@22.1.0npm/ulid@2.4.0

ℹ Read more on: This package | This alert | What is new author?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Scrutinize new collaborator additions to packages because they now have the ability to publish code into your dependency tree. Packages should avoid frequent or unnecessary additions or changes to publishing rights.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/ulid@2.4.0. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

View full report

@metamaskbot
Copy link
Collaborator

Builds ready [6280309]
UI Startup Metrics (1225 ± 63 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyHomeuiStartup1225111714266312661342
load106695312426411121183
domContentLoaded105994612376511061177
domInteractive16144031622
firstPaint74773124242310861154
backgroundConnect84436723
firstReactRender20165252127
getState1363571826
initialActions001001
loadScripts81170998262856924
setupStore85162813
WebpackHomeuiStartup20011529246622121322425
load15541199187217016821843
domContentLoaded15491195186416916771833
domInteractive15114891342
firstPaint1585929653198256
backgroundConnect19104162133
firstReactRender1184536392102345
getState134314301119
initialActions612962934
loadScripts15461194185316816741822
setupStore4073118417309
FirefoxBrowserifyHomeuiStartup1356118415868014061515
load1202105014128012471360
domContentLoaded1201105014128012461360
domInteractive993820927111150
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect221472102250
firstReactRender24205432528
getState7511189
initialActions001001
loadScripts1181103413907912301346
setupStore74172712
WebpackHomeuiStartup14851349184410715721687
load12971157162210213841490
domContentLoaded12961157162110213841490
domInteractive80301892283134
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect20144442125
firstReactRender39284844245
getState85304812
initialActions002111
loadScripts12781140159510213691472
setupStore8545589
Benchmark value 23 exceeds gate value 18 for chrome browserify home p95 backgroundConnect
Benchmark value 40 exceeds gate value 32 for chrome webpack home mean setupStore
Benchmark value 309 exceeds gate value 65 for chrome webpack home p95 setupStore
Benchmark value 40 exceeds gate value 38 for firefox webpack home mean firstReactRender
Sum of mean exceeds: 10ms | Sum of p95 exceeds: 249ms
Sum of all benchmark exceeds: 259ms

Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: -24 Bytes (0%)
  • ui: 0 Bytes (0%)
  • common: 94 Bytes (0%)

@HowardBraham HowardBraham changed the title chore: update @metamask/keyring-controller bump: update @metamask/keyring-controller Jun 12, 2025
@mikesposito mikesposito changed the title bump: update @metamask/keyring-controller chore(bump): update @metamask/keyring-controller Jun 13, 2025
@metamaskbot
Copy link
Collaborator

Builds ready [8318244]
UI Startup Metrics (1258 ± 81 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyHomeuiStartup1258114315998112971436
load109396514218011411254
domContentLoaded108695814138111351245
domInteractive17145351719
firstPaint73979141842310961155
backgroundConnect84375724
firstReactRender21164242130
getState1553682130
initialActions001001
loadScripts8367141163818861005
setupStore85243815
WebpackHomeuiStartup21381602256421423002495
load16591243197116817831912
domContentLoaded16531240196016717761902
domInteractive15124981341
firstPaint1626933254196251
backgroundConnect22146582737
firstReactRender17146367122319357
getState155307301422
initialActions613073034
loadScripts16491238194816617731891
setupStore3773227319309
FirefoxBrowserifyHomeuiStartup1320117114957913651472
load1171104313487412191313
domContentLoaded1170104213477412191312
domInteractive993718428113160
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect20129092030
firstReactRender24205452428
getState8477789
initialActions001001
loadScripts1152102913247112021297
setupStore64353611
WebpackHomeuiStartup16011403184011416821790
load13951206164811414921583
domContentLoaded13941206164811414911583
domInteractive85431632391143
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect21174342128
firstReactRender43335244649
getState86364910
initialActions102111
loadScripts13761187162911414751563
setupStore86202910
Benchmark value 1258 exceeds gate value 1234 for chrome browserify home mean uiStartup
Benchmark value 1093 exceeds gate value 1070 for chrome browserify home mean load
Benchmark value 1087 exceeds gate value 1061 for chrome browserify home mean domContentLoaded
Benchmark value 836 exceeds gate value 830 for chrome browserify home mean loadScripts
Benchmark value 1437 exceeds gate value 1365 for chrome browserify home p95 uiStartup
Benchmark value 1255 exceeds gate value 1190 for chrome browserify home p95 load
Benchmark value 1246 exceeds gate value 1180 for chrome browserify home p95 domContentLoaded
Benchmark value 24 exceeds gate value 18 for chrome browserify home p95 backgroundConnect
Benchmark value 1006 exceeds gate value 940 for chrome browserify home p95 loadScripts
Benchmark value 37 exceeds gate value 32 for chrome webpack home mean setupStore
Benchmark value 2496 exceeds gate value 2454 for chrome webpack home p95 uiStartup
Benchmark value 309 exceeds gate value 65 for chrome webpack home p95 setupStore
Benchmark value 1395 exceeds gate value 1380 for firefox webpack home mean load
Benchmark value 1395 exceeds gate value 1380 for firefox webpack home mean domContentLoaded
Benchmark value 43 exceeds gate value 38 for firefox webpack home mean firstReactRender
Benchmark value 1376 exceeds gate value 1360 for firefox webpack home mean loadScripts
Sum of mean exceeds: 135ms | Sum of p95 exceeds: 561ms
Sum of all benchmark exceeds: 696ms

Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: -24 Bytes (0%)
  • ui: 0 Bytes (0%)
  • common: 91 Bytes (0%)

@metamaskbot
Copy link
Collaborator

✨ Files requiring CODEOWNER review ✨

🧩 @MetaMask/extension-devs (5 files, +32 -168)
  • 📁 lavamoat/
    • 📁 browserify/
      • 📁 beta/
        • 📄 policy.json +6 -40
      • 📁 experimental/
        • 📄 policy.json +6 -40
      • 📁 flask/
        • 📄 policy.json +6 -40
      • 📁 main/
        • 📄 policy.json +6 -40
    • 📁 build-system/
      • 📄 policy.json +8 -8

📜 @MetaMask/policy-reviewers (5 files, +32 -168)
  • 📁 lavamoat/
    • 📁 browserify/
      • 📁 beta/
        • 📄 policy.json +6 -40
      • 📁 experimental/
        • 📄 policy.json +6 -40
      • 📁 flask/
        • 📄 policy.json +6 -40
      • 📁 main/
        • 📄 policy.json +6 -40
    • 📁 build-system/
      • 📄 policy.json +8 -8

Tip

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


🔗 @MetaMask/supply-chain (5 files, +32 -168)
  • 📁 lavamoat/
    • 📁 browserify/
      • 📁 beta/
        • 📄 policy.json +6 -40
      • 📁 experimental/
        • 📄 policy.json +6 -40
      • 📁 flask/
        • 📄 policy.json +6 -40
      • 📁 main/
        • 📄 policy.json +6 -40
    • 📁 build-system/
      • 📄 policy.json +8 -8

@metamaskbot
Copy link
Collaborator

Builds ready [744dfd2]
UI Startup Metrics (1300 ± 63 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyHomeuiStartup1300118217156313301385
load1126102115716511551206
domContentLoaded1119101015666611501200
domInteractive16142621619
firstPaint572128124344711091201
backgroundConnect2542382978257269
firstReactRender19144042028
getState843361021
initialActions40216418
loadScripts871753130365902956
setupStore73909713
WebpackHomeuiStartup23521842285618324242736
load18531390247220019442267
domContentLoaded18421384246718919392181
domInteractive2012215231558
firstPaint1616246567186288
backgroundConnect57132968534285
firstReactRender1478733561168315
getState3042596417246
initialActions52193613
loadScripts18351380245518719342178
setupStore2662595415214
FirefoxBrowserifyHomeuiStartup15681371219815716451844
load1335118616648913851510
domContentLoaded1335118616648913851509
domInteractive1133637567113289
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect3415331413064
firstReactRender312166123163
getState1931903913156
initialActions7021824322
loadScripts1308117015658213501467
setupStore12421427736
WebpackHomeuiStartup17181503254116717992017
load14561276188711515371650
domContentLoaded14551275188711515371649
domInteractive83611311690122
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect3019275263245
firstReactRender52426655463
getState143444441427
initialActions50718614
loadScripts14301255168510715101622
setupStore15423429949
Benchmark value 1300 exceeds gate value 1234 for chrome browserify home mean uiStartup
Benchmark value 1127 exceeds gate value 1070 for chrome browserify home mean load
Benchmark value 1119 exceeds gate value 1061 for chrome browserify home mean domContentLoaded
Benchmark value 255 exceeds gate value 10 for chrome browserify home mean backgroundConnect
Benchmark value 4 exceeds gate value 1 for chrome browserify home mean initialActions
Benchmark value 872 exceeds gate value 830 for chrome browserify home mean loadScripts
Benchmark value 1386 exceeds gate value 1365 for chrome browserify home p95 uiStartup
Benchmark value 1207 exceeds gate value 1190 for chrome browserify home p95 load
Benchmark value 1200 exceeds gate value 1180 for chrome browserify home p95 domContentLoaded
Benchmark value 1202 exceeds gate value 1180 for chrome browserify home p95 firstPaint
Benchmark value 269 exceeds gate value 18 for chrome browserify home p95 backgroundConnect
Benchmark value 18 exceeds gate value 1.2 for chrome browserify home p95 initialActions
Benchmark value 956 exceeds gate value 940 for chrome browserify home p95 loadScripts
Benchmark value 2352 exceeds gate value 2192 for chrome webpack home mean uiStartup
Benchmark value 1854 exceeds gate value 1711 for chrome webpack home mean load
Benchmark value 1842 exceeds gate value 1704 for chrome webpack home mean domContentLoaded
Benchmark value 58 exceeds gate value 40 for chrome webpack home mean backgroundConnect
Benchmark value 30 exceeds gate value 29 for chrome webpack home mean getState
Benchmark value 1835 exceeds gate value 1699 for chrome webpack home mean loadScripts
Benchmark value 2737 exceeds gate value 2454 for chrome webpack home p95 uiStartup
Benchmark value 2267 exceeds gate value 2030 for chrome webpack home p95 load
Benchmark value 2181 exceeds gate value 2005 for chrome webpack home p95 domContentLoaded
Benchmark value 59 exceeds gate value 57 for chrome webpack home p95 domInteractive
Benchmark value 285 exceeds gate value 90 for chrome webpack home p95 backgroundConnect
Benchmark value 246 exceeds gate value 195 for chrome webpack home p95 getState
Benchmark value 13 exceeds gate value 7 for chrome webpack home p95 initialActions
Benchmark value 2179 exceeds gate value 1970 for chrome webpack home p95 loadScripts
Benchmark value 214 exceeds gate value 65 for chrome webpack home p95 setupStore
Benchmark value 1568 exceeds gate value 1405 for firefox browserify home mean uiStartup
Benchmark value 1336 exceeds gate value 1245 for firefox browserify home mean load
Benchmark value 1336 exceeds gate value 1239 for firefox browserify home mean domContentLoaded
Benchmark value 114 exceeds gate value 110 for firefox browserify home mean domInteractive
Benchmark value 34 exceeds gate value 25 for firefox browserify home mean backgroundConnect
Benchmark value 32 exceeds gate value 25 for firefox browserify home mean firstReactRender
Benchmark value 19 exceeds gate value 11 for firefox browserify home mean getState
Benchmark value 8 exceeds gate value 1 for firefox browserify home mean initialActions
Benchmark value 1309 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 1844 exceeds gate value 1660 for firefox browserify home p95 uiStartup
Benchmark value 1510 exceeds gate value 1495 for firefox browserify home p95 load
Benchmark value 1509 exceeds gate value 1495 for firefox browserify home p95 domContentLoaded
Benchmark value 289 exceeds gate value 195 for firefox browserify home p95 domInteractive
Benchmark value 63 exceeds gate value 55 for firefox browserify home p95 firstReactRender
Benchmark value 156 exceeds gate value 24 for firefox browserify home p95 getState
Benchmark value 22 exceeds gate value 2 for firefox browserify home p95 initialActions
Benchmark value 36 exceeds gate value 27 for firefox browserify home p95 setupStore
Benchmark value 1719 exceeds gate value 1615 for firefox webpack home mean uiStartup
Benchmark value 1456 exceeds gate value 1380 for firefox webpack home mean load
Benchmark value 1456 exceeds gate value 1380 for firefox webpack home mean domContentLoaded
Benchmark value 30 exceeds gate value 26 for firefox webpack home mean backgroundConnect
Benchmark value 52 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 1430 exceeds gate value 1360 for firefox webpack home mean loadScripts
Benchmark value 15 exceeds gate value 13 for firefox webpack home mean setupStore
Benchmark value 2017 exceeds gate value 1935 for firefox webpack home p95 uiStartup
Benchmark value 63 exceeds gate value 50 for firefox webpack home p95 firstReactRender
Benchmark value 14 exceeds gate value 2 for firefox webpack home p95 initialActions
Benchmark value 49 exceeds gate value 28 for firefox webpack home p95 setupStore
Sum of mean exceeds: 1886ms | Sum of p95 exceeds: 2275.8ms
Sum of all benchmark exceeds: 4161.8ms

Bundle size diffs [🚀 Bundle size reduced!]
  • background: 14 Bytes (0%)
  • ui: 316 Bytes (0%)
  • common: -15.48 KiB (-0.18%)

@metamaskbot
Copy link
Collaborator

Builds ready [49565c1]
UI Startup Metrics (1298 ± 51 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyHomeuiStartup1298117314795113241399
load1119101513025411581207
domContentLoaded1112100912965411511202
domInteractive18134281640
firstPaint656137130545711181194
backgroundConnect2532402999257270
firstReactRender19154552031
getState10391101122
initialActions20275114
loadScripts865761104553904954
setupStore63162713
WebpackHomeuiStartup23891884283318224692786
load19011369244017819872221
domContentLoaded18841362222616419702177
domInteractive191381141560
firstPaint1536331658176283
backgroundConnect60132958734285
firstReactRender1518736156176245
getState2932606213241
initialActions9219426719
loadScripts18791359221216319672166
setupStore1262241520
FirefoxBrowserifyHomeuiStartup14871296217516515171905
load12861127188712113151505
domContentLoaded12861127188712113151505
domInteractive12937778117106447
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect261578102947
firstReactRender301965123058
getState10218620738
initialActions30284212
loadScripts12641095186012112961484
setupStore9319119622
WebpackHomeuiStartup17621544218116018532144
load14901327185812815821752
domContentLoaded14901327185712815811752
domInteractive1103542571104336
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect3018228223250
firstReactRender52427265663
getState11374111537
initialActions7021423420
loadScripts14661304182712615611724
setupStore174235371263
Benchmark value 1299 exceeds gate value 1234 for chrome browserify home mean uiStartup
Benchmark value 1120 exceeds gate value 1070 for chrome browserify home mean load
Benchmark value 1113 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 3 exceeds gate value 1 for chrome browserify home mean initialActions
Benchmark value 866 exceeds gate value 830 for chrome browserify home mean loadScripts
Benchmark value 1400 exceeds gate value 1365 for chrome browserify home p95 uiStartup
Benchmark value 1208 exceeds gate value 1190 for chrome browserify home p95 load
Benchmark value 1202 exceeds gate value 1180 for chrome browserify home p95 domContentLoaded
Benchmark value 1194 exceeds gate value 1180 for chrome browserify home p95 firstPaint
Benchmark value 271 exceeds gate value 18 for chrome browserify home p95 backgroundConnect
Benchmark value 14 exceeds gate value 1.2 for chrome browserify home p95 initialActions
Benchmark value 954 exceeds gate value 940 for chrome browserify home p95 loadScripts
Benchmark value 2389 exceeds gate value 2192 for chrome webpack home mean uiStartup
Benchmark value 1902 exceeds gate value 1711 for chrome webpack home mean load
Benchmark value 1884 exceeds gate value 1704 for chrome webpack home mean domContentLoaded
Benchmark value 60 exceeds gate value 40 for chrome webpack home mean backgroundConnect
Benchmark value 10 exceeds gate value 7 for chrome webpack home mean initialActions
Benchmark value 1879 exceeds gate value 1699 for chrome webpack home mean loadScripts
Benchmark value 2786 exceeds gate value 2454 for chrome webpack home p95 uiStartup
Benchmark value 2222 exceeds gate value 2030 for chrome webpack home p95 load
Benchmark value 2178 exceeds gate value 2005 for chrome webpack home p95 domContentLoaded
Benchmark value 61 exceeds gate value 57 for chrome webpack home p95 domInteractive
Benchmark value 285 exceeds gate value 90 for chrome webpack home p95 backgroundConnect
Benchmark value 241 exceeds gate value 195 for chrome webpack home p95 getState
Benchmark value 19 exceeds gate value 7 for chrome webpack home p95 initialActions
Benchmark value 2167 exceeds gate value 1970 for chrome webpack home p95 loadScripts
Benchmark value 1488 exceeds gate value 1405 for firefox browserify home mean uiStartup
Benchmark value 1287 exceeds gate value 1245 for firefox browserify home mean load
Benchmark value 1286 exceeds gate value 1239 for firefox browserify home mean domContentLoaded
Benchmark value 130 exceeds gate value 110 for firefox browserify home mean domInteractive
Benchmark value 27 exceeds gate value 25 for firefox browserify home mean backgroundConnect
Benchmark value 30 exceeds gate value 25 for firefox browserify home mean firstReactRender
Benchmark value 3 exceeds gate value 1 for firefox browserify home mean initialActions
Benchmark value 1265 exceeds gate value 1230 for firefox browserify home mean loadScripts
Benchmark value 1905 exceeds gate value 1660 for firefox browserify home p95 uiStartup
Benchmark value 1505 exceeds gate value 1495 for firefox browserify home p95 load
Benchmark value 1505 exceeds gate value 1495 for firefox browserify home p95 domContentLoaded
Benchmark value 447 exceeds gate value 195 for firefox browserify home p95 domInteractive
Benchmark value 58 exceeds gate value 55 for firefox browserify home p95 firstReactRender
Benchmark value 38 exceeds gate value 24 for firefox browserify home p95 getState
Benchmark value 12 exceeds gate value 2 for firefox browserify home p95 initialActions
Benchmark value 1484 exceeds gate value 1475 for firefox browserify home p95 loadScripts
Benchmark value 1763 exceeds gate value 1615 for firefox webpack home mean uiStartup
Benchmark value 1490 exceeds gate value 1380 for firefox webpack home mean load
Benchmark value 1490 exceeds gate value 1380 for firefox webpack home mean domContentLoaded
Benchmark value 110 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 53 exceeds gate value 38 for firefox webpack home mean firstReactRender
Benchmark value 8 exceeds gate value 1 for firefox webpack home mean initialActions
Benchmark value 1467 exceeds gate value 1360 for firefox webpack home mean loadScripts
Benchmark value 17 exceeds gate value 13 for firefox webpack home mean setupStore
Benchmark value 2144 exceeds gate value 1935 for firefox webpack home p95 uiStartup
Benchmark value 1752 exceeds gate value 1660 for firefox webpack home p95 load
Benchmark value 1752 exceeds gate value 1660 for firefox webpack home p95 domContentLoaded
Benchmark value 336 exceeds gate value 156 for firefox webpack home p95 domInteractive
Benchmark value 50 exceeds gate value 49 for firefox webpack home p95 backgroundConnect
Benchmark value 63 exceeds gate value 50 for firefox webpack home p95 firstReactRender
Benchmark value 37 exceeds gate value 32 for firefox webpack home p95 getState
Benchmark value 20 exceeds gate value 2 for firefox webpack home p95 initialActions
Benchmark value 1724 exceeds gate value 1630 for firefox webpack home p95 loadScripts
Benchmark value 63 exceeds gate value 28 for firefox webpack home p95 setupStore
Sum of mean exceeds: 1972ms | Sum of p95 exceeds: 2811.8ms
Sum of all benchmark exceeds: 4783.8ms

Bundle size diffs [🚀 Bundle size reduced!]
  • background: -69 Bytes (0%)
  • ui: 316 Bytes (0%)
  • common: -15.52 KiB (-0.18%)

@metamaskbot
Copy link
Collaborator

Builds ready [0aca366]
UI Startup Metrics (1303 ± 59 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyHomeuiStartup1303121115575913351426
load1122102514065811601215
domContentLoaded1115102113985911531211
domInteractive19145791739
firstPaint64978140446311151192
backgroundConnect25524031612258278
firstReactRender2015172162025
getState10387101228
initialActions30607211
loadScripts867775114659906960
setupStore74173713
WebpackHomeuiStartup23711865278516624392723
load18751373241118719272359
domContentLoaded18651368239518019182186
domInteractive181366121556
firstPaint1596231352173260
backgroundConnect41102906231272
firstReactRender1688739573196346
getState2142485112232
initialActions8222122619
loadScripts18581364238217219122169
setupStore176248311634
FirefoxBrowserifyHomeuiStartup15401299222417015941965
load13191118167111613611586
domContentLoaded13191117167111613611586
domInteractive1213849691110350
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect291582143263
firstReactRender322169133163
getState1831843712139
initialActions5012513317
loadScripts12951102164411413311569
setupStore14334936748
WebpackHomeuiStartup18031525257721119132297
load15141282227916115921805
domContentLoaded15141282227916115921805
domInteractive1123467187106315
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect3520242254265
firstReactRender53427175865
getState183256401587
initialActions7020121720
loadScripts14861259224515615501774
setupStore174239311664
Benchmark value 1304 exceeds gate value 1234 for chrome browserify home mean uiStartup
Benchmark value 1123 exceeds gate value 1070 for chrome browserify home mean load
Benchmark value 1115 exceeds gate value 1061 for chrome browserify home mean domContentLoaded
Benchmark value 256 exceeds gate value 10 for chrome browserify home mean backgroundConnect
Benchmark value 3 exceeds gate value 1 for chrome browserify home mean initialActions
Benchmark value 867 exceeds gate value 830 for chrome browserify home mean loadScripts
Benchmark value 1426 exceeds gate value 1365 for chrome browserify home p95 uiStartup
Benchmark value 1216 exceeds gate value 1190 for chrome browserify home p95 load
Benchmark value 1211 exceeds gate value 1180 for chrome browserify home p95 domContentLoaded
Benchmark value 1193 exceeds gate value 1180 for chrome browserify home p95 firstPaint
Benchmark value 278 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 961 exceeds gate value 940 for chrome browserify home p95 loadScripts
Benchmark value 2372 exceeds gate value 2192 for chrome webpack home mean uiStartup
Benchmark value 1875 exceeds gate value 1711 for chrome webpack home mean load
Benchmark value 1865 exceeds gate value 1704 for chrome webpack home mean domContentLoaded
Benchmark value 42 exceeds gate value 40 for chrome webpack home mean backgroundConnect
Benchmark value 8 exceeds gate value 7 for chrome webpack home mean initialActions
Benchmark value 1858 exceeds gate value 1699 for chrome webpack home mean loadScripts
Benchmark value 2723 exceeds gate value 2454 for chrome webpack home p95 uiStartup
Benchmark value 2360 exceeds gate value 2030 for chrome webpack home p95 load
Benchmark value 2186 exceeds gate value 2005 for chrome webpack home p95 domContentLoaded
Benchmark value 272 exceeds gate value 90 for chrome webpack home p95 backgroundConnect
Benchmark value 232 exceeds gate value 195 for chrome webpack home p95 getState
Benchmark value 19 exceeds gate value 7 for chrome webpack home p95 initialActions
Benchmark value 2169 exceeds gate value 1970 for chrome webpack home p95 loadScripts
Benchmark value 1540 exceeds gate value 1405 for firefox browserify home mean uiStartup
Benchmark value 1319 exceeds gate value 1245 for firefox browserify home mean load
Benchmark value 1319 exceeds gate value 1239 for firefox browserify home mean domContentLoaded
Benchmark value 122 exceeds gate value 110 for firefox browserify home mean domInteractive
Benchmark value 29 exceeds gate value 25 for firefox browserify home mean backgroundConnect
Benchmark value 32 exceeds gate value 25 for firefox browserify home mean firstReactRender
Benchmark value 18 exceeds gate value 11 for firefox browserify home mean getState
Benchmark value 5 exceeds gate value 1 for firefox browserify home mean initialActions
Benchmark value 1295 exceeds gate value 1230 for firefox browserify home mean loadScripts
Benchmark value 14 exceeds gate value 9 for firefox browserify home mean setupStore
Benchmark value 1965 exceeds gate value 1660 for firefox browserify home p95 uiStartup
Benchmark value 1586 exceeds gate value 1495 for firefox browserify home p95 load
Benchmark value 1586 exceeds gate value 1495 for firefox browserify home p95 domContentLoaded
Benchmark value 350 exceeds gate value 195 for firefox browserify home p95 domInteractive
Benchmark value 63 exceeds gate value 55 for firefox browserify home p95 firstReactRender
Benchmark value 139 exceeds gate value 24 for firefox browserify home p95 getState
Benchmark value 17 exceeds gate value 2 for firefox browserify home p95 initialActions
Benchmark value 1569 exceeds gate value 1475 for firefox browserify home p95 loadScripts
Benchmark value 48 exceeds gate value 27 for firefox browserify home p95 setupStore
Benchmark value 1803 exceeds gate value 1615 for firefox webpack home mean uiStartup
Benchmark value 1515 exceeds gate value 1380 for firefox webpack home mean load
Benchmark value 1514 exceeds gate value 1380 for firefox webpack home mean domContentLoaded
Benchmark value 113 exceeds gate value 100 for firefox webpack home mean domInteractive
Benchmark value 36 exceeds gate value 26 for firefox webpack home mean backgroundConnect
Benchmark value 54 exceeds gate value 38 for firefox webpack home mean firstReactRender
Benchmark value 19 exceeds gate value 15 for firefox webpack home mean getState
Benchmark value 8 exceeds gate value 1 for firefox webpack home mean initialActions
Benchmark value 1487 exceeds gate value 1360 for firefox webpack home mean loadScripts
Benchmark value 17 exceeds gate value 13 for firefox webpack home mean setupStore
Benchmark value 2297 exceeds gate value 1935 for firefox webpack home p95 uiStartup
Benchmark value 1805 exceeds gate value 1660 for firefox webpack home p95 load
Benchmark value 1805 exceeds gate value 1660 for firefox webpack home p95 domContentLoaded
Benchmark value 315 exceeds gate value 156 for firefox webpack home p95 domInteractive
Benchmark value 65 exceeds gate value 49 for firefox webpack home p95 backgroundConnect
Benchmark value 65 exceeds gate value 50 for firefox webpack home p95 firstReactRender
Benchmark value 87 exceeds gate value 32 for firefox webpack home p95 getState
Benchmark value 20 exceeds gate value 2 for firefox webpack home p95 initialActions
Benchmark value 1774 exceeds gate value 1630 for firefox webpack home p95 loadScripts
Benchmark value 64 exceeds gate value 28 for firefox webpack home p95 setupStore
Sum of mean exceeds: 2160ms | Sum of p95 exceeds: 3621.8ms
Sum of all benchmark exceeds: 5781.8ms

Bundle size diffs [🚀 Bundle size reduced!]
  • background: 15 Bytes (0%)
  • ui: 316 Bytes (0%)
  • common: -15.52 KiB (-0.18%)

@metamaskbot
Copy link
Collaborator

Builds ready [789c5b9]
UI Startup Metrics (1308 ± 51 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyHomeuiStartup1308120314405113421400
load1125100112375111641207
domContentLoaded111699612265211561202
domInteractive19144971837
firstPaint799142124044311451206
backgroundConnect25724234312261273
firstReactRender21154052233
getState1034581327
initialActions4012313312
loadScripts86675096850905953
setupStore9410613815
WebpackHomeuiStartup23381734291120524442726
load18681291251122519382381
domContentLoaded18521284250620419292229
domInteractive2112203281660
firstPaint1536240162174299
backgroundConnect50103087931292
firstReactRender1568842677177341
getState193259461242
initialActions7217317616
loadScripts18451281237019619252216
setupStore146190251421
FirefoxBrowserifyHomeuiStartup14911293215714715441772
load1283109915579213341489
domContentLoaded1283109915579213331489
domInteractive1123746575109307
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect2614123152655
firstReactRender27206492859
getState12217024939
initialActions6017819318
loadScripts1261108315369013121441
setupStore123180201042
WebpackHomeuiStartup17111504244617317852065
load14521271186413015241720
domContentLoaded14521271186313015241719
domInteractive1133640274105331
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect271875103249
firstReactRender51416865562
getState113233231428
initialActions50356715
loadScripts14291252183712815021688
setupStore154231341353
Benchmark value 1309 exceeds gate value 1234 for chrome browserify home mean uiStartup
Benchmark value 1125 exceeds gate value 1070 for chrome browserify home mean load
Benchmark value 1117 exceeds gate value 1061 for chrome browserify home mean domContentLoaded
Benchmark value 258 exceeds gate value 10 for chrome browserify home mean backgroundConnect
Benchmark value 5 exceeds gate value 1 for chrome browserify home mean initialActions
Benchmark value 867 exceeds gate value 830 for chrome browserify home mean loadScripts
Benchmark value 1401 exceeds gate value 1365 for chrome browserify home p95 uiStartup
Benchmark value 1207 exceeds gate value 1190 for chrome browserify home p95 load
Benchmark value 1202 exceeds gate value 1180 for chrome browserify home p95 domContentLoaded
Benchmark value 1206 exceeds gate value 1180 for chrome browserify home p95 firstPaint
Benchmark value 274 exceeds gate value 18 for chrome browserify home p95 backgroundConnect
Benchmark value 12 exceeds gate value 1.2 for chrome browserify home p95 initialActions
Benchmark value 953 exceeds gate value 940 for chrome browserify home p95 loadScripts
Benchmark value 2339 exceeds gate value 2192 for chrome webpack home mean uiStartup
Benchmark value 1869 exceeds gate value 1711 for chrome webpack home mean load
Benchmark value 1852 exceeds gate value 1704 for chrome webpack home mean domContentLoaded
Benchmark value 22 exceeds gate value 21 for chrome webpack home mean domInteractive
Benchmark value 51 exceeds gate value 40 for chrome webpack home mean backgroundConnect
Benchmark value 1845 exceeds gate value 1699 for chrome webpack home mean loadScripts
Benchmark value 2726 exceeds gate value 2454 for chrome webpack home p95 uiStartup
Benchmark value 2381 exceeds gate value 2030 for chrome webpack home p95 load
Benchmark value 2229 exceeds gate value 2005 for chrome webpack home p95 domContentLoaded
Benchmark value 61 exceeds gate value 57 for chrome webpack home p95 domInteractive
Benchmark value 292 exceeds gate value 90 for chrome webpack home p95 backgroundConnect
Benchmark value 16 exceeds gate value 7 for chrome webpack home p95 initialActions
Benchmark value 2217 exceeds gate value 1970 for chrome webpack home p95 loadScripts
Benchmark value 1491 exceeds gate value 1405 for firefox browserify home mean uiStartup
Benchmark value 1283 exceeds gate value 1245 for firefox browserify home mean load
Benchmark value 1283 exceeds gate value 1239 for firefox browserify home mean domContentLoaded
Benchmark value 113 exceeds gate value 110 for firefox browserify home mean domInteractive
Benchmark value 27 exceeds gate value 25 for firefox browserify home mean backgroundConnect
Benchmark value 28 exceeds gate value 25 for firefox browserify home mean firstReactRender
Benchmark value 12 exceeds gate value 11 for firefox browserify home mean getState
Benchmark value 7 exceeds gate value 1 for firefox browserify home mean initialActions
Benchmark value 1262 exceeds gate value 1230 for firefox browserify home mean loadScripts
Benchmark value 12 exceeds gate value 9 for firefox browserify home mean setupStore
Benchmark value 1772 exceeds gate value 1660 for firefox browserify home p95 uiStartup
Benchmark value 307 exceeds gate value 195 for firefox browserify home p95 domInteractive
Benchmark value 59 exceeds gate value 55 for firefox browserify home p95 firstReactRender
Benchmark value 39 exceeds gate value 24 for firefox browserify home p95 getState
Benchmark value 18 exceeds gate value 2 for firefox browserify home p95 initialActions
Benchmark value 42 exceeds gate value 27 for firefox browserify home p95 setupStore
Benchmark value 1712 exceeds gate value 1615 for firefox webpack home mean uiStartup
Benchmark value 1452 exceeds gate value 1380 for firefox webpack home mean load
Benchmark value 1452 exceeds gate value 1380 for firefox webpack home mean domContentLoaded
Benchmark value 113 exceeds gate value 100 for firefox webpack home mean domInteractive
Benchmark value 28 exceeds gate value 26 for firefox webpack home mean backgroundConnect
Benchmark value 52 exceeds gate value 38 for firefox webpack home mean firstReactRender
Benchmark value 6 exceeds gate value 1 for firefox webpack home mean initialActions
Benchmark value 1430 exceeds gate value 1360 for firefox webpack home mean loadScripts
Benchmark value 16 exceeds gate value 13 for firefox webpack home mean setupStore
Benchmark value 2065 exceeds gate value 1935 for firefox webpack home p95 uiStartup
Benchmark value 1720 exceeds gate value 1660 for firefox webpack home p95 load
Benchmark value 1719 exceeds gate value 1660 for firefox webpack home p95 domContentLoaded
Benchmark value 331 exceeds gate value 156 for firefox webpack home p95 domInteractive
Benchmark value 62 exceeds gate value 50 for firefox webpack home p95 firstReactRender
Benchmark value 15 exceeds gate value 2 for firefox webpack home p95 initialActions
Benchmark value 1688 exceeds gate value 1630 for firefox webpack home p95 loadScripts
Benchmark value 53 exceeds gate value 28 for firefox webpack home p95 setupStore
Sum of mean exceeds: 1652ms | Sum of p95 exceeds: 2495.8ms
Sum of all benchmark exceeds: 4147.8ms

Bundle size diffs [🚀 Bundle size reduced!]
  • background: 15 Bytes (0%)
  • ui: 316 Bytes (0%)
  • common: -15.52 KiB (-0.18%)

@github-actions
Copy link
Contributor

This PR has been automatically marked as stale because it has not had recent activity in the last 90 days. It will be closed in 7 days. Thank you for your contributions.

@github-actions github-actions bot added the stale issues and PRs marked as stale label Oct 24, 2025
@github-actions
Copy link
Contributor

This PR was closed because there has been no follow up activity in 7 days. Thank you for your contributions.

@github-actions github-actions bot closed this Oct 31, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

stale issues and PRs marked as stale

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants