Skip to content

Conversation

@mikesposito
Copy link
Member

@mikesposito mikesposito commented Nov 3, 2025

Depends on MetaMask/core#7128

Description

Bumping keyring-controller and seedless-onboarding-controller to pick up the latest changes. @metamask/browser-passworder is also being bumped to ^6.0.0, and the encryptor factory has been adjusted to include keyFromPassword, generateSalt and exportKey as they are required by KeyringController.

Open in GitHub Codespaces

Changelog

CHANGELOG entry: null

Related issues

Fixes:

Manual testing steps

  1. Go to this page...

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

Upgrades keyring, seedless onboarding, and passworder deps and updates controller init, types, tests, and policies to the new encryptor API (removes cacheEncryptionKey).

  • Dependencies:
    • Bump @metamask/keyring-controller to ^25.0.0, @metamask/seedless-onboarding-controller to ^7.0.0, and @metamask/browser-passworder to ^6.0.0.
  • Controller Init:
    • keyring-controller-init: remove cacheEncryptionKey when constructing KeyringController.
    • seedless-onboarding-controller-init: use SeedlessOnboardingController<CryptoKey | EncryptionKey> and pass encryptor directly (drop custom wrapper).
  • Types:
    • Change encryptor type from optional ExportableKeyEncryptor to required Encryptor in controller-init/types.
  • Tests/Mocks:
    • Update expectations for encryptor methods (encryptWithKey, isVaultUpdated, exportKey, generateSalt, keyFromPassword).
    • Adjust mock encryptor to implement importKey returning parsed key and new exportKey.
    • Remove cacheEncryptionKey from test expectation.
  • Security Policy:
    • Update LavaMoat policies to reflect browser-passworder changes (remove nested package allowances, adjust to @metamask/utils).

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

@metamaskbot metamaskbot added the team-core-platform Core Platform team label Nov 3, 2025
@socket-security
Copy link

socket-security bot commented Nov 3, 2025

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

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Updated@​metamask/​seedless-onboarding-controller@​6.1.0 ⏵ 7.0.0991007897 +1100

View full report

@mikesposito mikesposito changed the title (wip) chore: update @metamask/{keyring,seedless-onboarding}-controller chore: bump @metamask/{keyring,seedless-onboarding}-controller Nov 3, 2025
@mikesposito
Copy link
Member Author

@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

@metamaskbot
Copy link
Collaborator

metamaskbot commented Nov 3, 2025

✨ Files requiring CODEOWNER review ✨

📜 @MetaMask/policy-reviewers (6 files, +5 -120)
  • 📁 lavamoat/
    • 📁 browserify/
      • 📁 beta/
        • 📄 policy.json +1 -17
      • 📁 experimental/
        • 📄 policy.json +1 -17
      • 📁 flask/
        • 📄 policy.json +1 -17
      • 📁 main/
        • 📄 policy.json +1 -17
    • 📁 webpack/
      • 📁 mv2/
        • 📄 policy.json +1 -18
      • 📁 mv3/
        • 📄 policy.json +0 -34

Tip

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

@metamaskbot
Copy link
Collaborator

Builds ready [5d92049]
UI Startup Metrics (1277 ± 78 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard HomeuiStartup1277111414417813341414
load109295812637711491222
domContentLoaded108695512567611431217
domInteractive211561101953
firstPaint51973124842410991190
backgroundConnect2312152547235247
firstReactRender31196393748
getState24973122850
initialActions71366818
loadScripts861740103275919984
setupStore1172641219
numNetworkReqs1166914653
WebpackStandard HomeuiStartup8717451453978831046
load654595125397655856
domContentLoaded645588124393648805
domInteractive171277101444
firstPaint184581004175197611
backgroundConnect2612140152951
firstReactRender2918155153437
getState1273241518
initialActions3110247
loadScripts642586123091646793
setupStore1052331214
numNetworkReqs1267015857
FirefoxBrowserifyStandard HomeuiStartup14531262194213415211711
load1232108315049313001386
domContentLoaded1231108215039213001386
domInteractive1173629648130215
firstPaint------
backgroundConnect47252683151104
firstReactRender26205362642
getState9417517822
initialActions51405413
loadScripts1204106414378612611356
setupStore13780101331
numNetworkReqs1366917765
WebpackStandard HomeuiStartup17111505247216517472085
load14511272195712514981683
domContentLoaded14501272195712514971683
domInteractive1063440746117187
firstPaint------
backgroundConnect57281923063123
firstReactRender372487173579
getState945071117
initialActions52203414
loadScripts14161254184911514491650
setupStore208218311451
numNetworkReqs1266616761
📊 Page Load Benchmark Results

Current Commit: 5d92049 | Date: 11/3/2025

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.04s (±53ms) 🟡 | historical mean value: 1.04s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 724ms (±51ms) 🟢 | historical mean value: 725ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 76ms (±12ms) 🟢 | historical mean value: 77ms ⬇️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.04s 53ms 1.01s 1.35s 1.07s 1.35s
domContentLoaded 724ms 51ms 697ms 1.03s 755ms 1.03s
firstPaint 76ms 12ms 60ms 176ms 88ms 176ms
firstContentfulPaint 76ms 12ms 60ms 176ms 88ms 176ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 68 Bytes (0%)
  • ui: -9 Bytes (0%)
  • common: 18.55 KiB (0.21%)

@github-actions github-actions bot added size-S and removed size-XS labels Nov 4, 2025
@mikesposito
Copy link
Member Author

@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

@metamaskbot
Copy link
Collaborator

Builds ready [e776872]
UI Startup Metrics (1213 ± 85 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard HomeuiStartup1213106015278512831335
load104191912577510961169
domContentLoaded103491412507410911160
domInteractive211380141867
firstPaint61175119941410541158
backgroundConnect23021727910233245
firstReactRender26175772741
getState22770112747
initialActions61254713
loadScripts811692100774861934
setupStore1162741220
numNetworkReqs1166014652
WebpackStandard HomeuiStartup8156981114758311004
load59755091970596806
domContentLoaded59054490268588799
domInteractive16125081440
firstPaint18959905185189684
backgroundConnect241157112949
firstReactRender28176583337
getState1051631215
initialActions316246
loadScripts58654289266585789
setupStore1052631214
numNetworkReqs1266515858
FirefoxBrowserifyStandard HomeuiStartup14591232184510715301635
load1241106714377712961389
domContentLoaded1241106714367712961389
domInteractive1203529349130243
firstPaint------
backgroundConnect4325132194887
firstReactRender27215462740
getState74475816
initialActions41404311
loadScripts1214104914157512711362
setupStore1274361226
numNetworkReqs1266815854
WebpackStandard HomeuiStartup15701375216714415811944
load13351201162510013661595
domContentLoaded13351201162410013661595
domInteractive1033236449110183
firstPaint------
backgroundConnect49221242359114
firstReactRender292179102960
getState9417417815
initialActions7114016425
loadScripts1308118215979013401510
setupStore166197221346
numNetworkReqs1366918766
📊 Page Load Benchmark Results

Current Commit: e776872 | Date: 11/4/2025

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.05s (±60ms) 🟡 | historical mean value: 1.03s ⬆️ (historical data)
  • domContentLoaded-> current mean value: 730ms (±55ms) 🟢 | historical mean value: 719ms ⬆️ (historical data)
  • firstContentfulPaint-> current mean value: 78ms (±14ms) 🟢 | historical mean value: 79ms ⬇️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.05s 60ms 1.01s 1.36s 1.12s 1.36s
domContentLoaded 730ms 55ms 699ms 1.02s 793ms 1.02s
firstPaint 78ms 14ms 60ms 204ms 88ms 204ms
firstContentfulPaint 78ms 14ms 60ms 204ms 88ms 204ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 34.54 KiB (0.75%)
  • ui: 5.59 KiB (0.08%)
  • common: -15.03 KiB (-0.17%)

@mikesposito mikesposito force-pushed the mikesposito/update-keyring-controller branch from f70e5ae to 825bbeb Compare November 4, 2025 14:23
@mikesposito
Copy link
Member Author

@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

@metamaskbot
Copy link
Collaborator

Builds ready [0a057de]
UI Startup Metrics (1218 ± 80 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard HomeuiStartup1218107514568012671377
load104091312597710891189
domContentLoaded103391012487510791173
domInteractive2113183201854
firstPaint61778125941710351185
backgroundConnect2302152628233250
firstReactRender24174562639
getState2077192337
initialActions51637610
loadScripts810680102575851955
setupStore1072331116
numNetworkReqs1266615659
BrowserifyPower User HomeuiStartup20441753304941826353049
load1050889159322813691593
domContentLoaded1040886156822413431568
domInteractive33151032971103
firstPaint55118213723669241372
backgroundConnect24221830520252305
firstReactRender27243832638
getState17215520713178207
initialActions928018680
loadScripts811662128921211051289
setupStore1182641126
numNetworkReqs15710031788299317
WebpackStandard HomeuiStartup783663110273801937
load55650989366552719
domContentLoaded54850187563545707
domInteractive161158101442
firstPaint21457879209202645
backgroundConnect251362102845
firstReactRender28188293336
getState1064241214
initialActions3122347
loadScripts54549886662542700
setupStore1152941318
numNetworkReqs1266716861
WebpackPower User HomeuiStartup13091109198929014691989
load641564923123690923
domContentLoaded623550885113671885
domInteractive231260164360
firstPaint37086845269565845
backgroundConnect571219864105198
firstReactRender26242912729
getState14510316418155164
initialActions51399239
loadScripts619548876110659876
setupStore1268719987
numNetworkReqs1479827969195279
FirefoxBrowserifyStandard HomeuiStartup14721284193213015471767
load1242109614738613001415
domContentLoaded1242109614738612991415
domInteractive1203435453135218
firstPaint------
backgroundConnect4424152205184
firstReactRender27215762742
getState10319020825
initialActions51405513
loadScripts1216107914348312711391
setupStore15576121535
numNetworkReqs1266715758
BrowserifyPower User HomeuiStartup25042184375836827263758
load13631172172316715631723
domContentLoaded13631172172316715631723
domInteractive23892668208446668
firstPaint------
backgroundConnect993824066178240
firstReactRender483089135189
getState16211328746198287
initialActions13192222292
loadScripts13271149169216615361692
setupStore4161614381161
numNetworkReqs1397230271218302
WebpackStandard HomeuiStartup16691435205614817222002
load14231226177611914851662
domContentLoaded14221225177511914851662
domInteractive1103237654124202
firstPaint------
backgroundConnect54231632858119
firstReactRender302383103040
getState74435715
initialActions7118719424
loadScripts13911208174610914591585
setupStore176181211548
numNetworkReqs1366617765
WebpackPower User HomeuiStartup26202218370439929033704
load15661280219322617002193
domContentLoaded15661279219322617002193
domInteractive18359565155367565
firstPaint------
backgroundConnect94312778696277
firstReactRender42295685056
getState1469221134186211
initialActions171175429175
loadScripts15341243214422216762144
setupStore2961113425111
numNetworkReqs1396433793242337
📊 Page Load Benchmark Results

Current Commit: 0a057de | Date: 11/4/2025

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.05s (±53ms) 🟡 | historical mean value: 1.03s ⬆️ (historical data)
  • domContentLoaded-> current mean value: 735ms (±51ms) 🟢 | historical mean value: 716ms ⬆️ (historical data)
  • firstContentfulPaint-> current mean value: 78ms (±13ms) 🟢 | historical mean value: 79ms ⬇️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.05s 53ms 1.02s 1.34s 1.10s 1.34s
domContentLoaded 735ms 51ms 705ms 1.01s 767ms 1.01s
firstPaint 78ms 13ms 64ms 196ms 88ms 196ms
firstContentfulPaint 78ms 13ms 64ms 196ms 88ms 196ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚀 Bundle size reduced!]
  • background: 4.64 KiB (0.1%)
  • ui: 8.06 KiB (0.11%)
  • common: -14.69 KiB (-0.17%)

@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

@metamaskbot
Copy link
Collaborator

Builds ready [acb5bf2]
UI Startup Metrics (1200 ± 106 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard HomeuiStartup1200993149610612631425
load101084312619010631165
domContentLoaded100484012548910601158
domInteractive251594192183
firstPaint4908012673839621109
backgroundConnect20919124411215232
firstReactRender29197093253
getState3616112184177
initialActions106112
loadScripts801649102985855959
setupStore1274061323
numNetworkReqs1157217563
BrowserifyPower User HomeuiStartup21161679282425723022697
load1031893148912910471418
domContentLoaded1015883146512610201380
domInteractive3418128223498
firstPaint5639014964089661371
backgroundConnect264206795119232600
firstReactRender62431251865104
getState207138817113210267
initialActions107113
loadScripts80568612361248061164
setupStore22125292442
numNetworkReqs1456542476203271
WebpackStandard HomeuiStartup836694107286892984
load65156686674705798
domContentLoaded64656286174699792
domInteractive2514103202090
firstPaint23074797173212727
backgroundConnect12676111027
firstReactRender27207383241
getState24134993141
initialActions105111
loadScripts64456085973691784
setupStore1062841118
numNetworkReqs1157217559
WebpackPower User HomeuiStartup16101256222524718622045
load666574107487681896
domContentLoaded656569106788670891
domInteractive35181833031110
firstPaint304921073222384702
backgroundConnect92760017822566
firstReactRender60458486576
getState17012825623179226
initialActions104112
loadScripts653567105886668883
setupStore211066122445
numNetworkReqs1236439967128285
FirefoxBrowserifyStandard HomeuiStartup13381099190116214201628
load1101955142010011621265
domContentLoaded1100949142010011621265
domInteractive68321383091120
firstPaint------
backgroundConnect47191853643129
firstReactRender24185262437
getState136193191125
initialActions102012
loadScripts107593614049211331236
setupStore165196291065
numNetworkReqs1256617663
BrowserifyPower User HomeuiStartup26921951461155827524195
load1210992252228011831718
domContentLoaded1209987252228011821718
domInteractive11733587112107435
firstPaint------
backgroundConnect136251473208111396
firstReactRender6137129176497
getState27675978211293775
initialActions3132528
loadScripts1155948243022411531506
setupStore18410759203232712
numNetworkReqs100573066278240
WebpackStandard HomeuiStartup15211264192913716161780
load1260109914909413181447
domContentLoaded1259109914909413181447
domInteractive68242203589131
firstPaint------
backgroundConnect4616196284795
firstReactRender26203842837
getState137152151421
initialActions103122
loadScripts1232108314618712911371
setupStore136112131234
numNetworkReqs1156616757
WebpackPower User HomeuiStartup29402218496373029574688
load14661136296744413932838
domContentLoaded14661136296644413932837
domInteractive11028529116101447
firstPaint------
backgroundConnect135251360177139327
firstReactRender63381692368120
getState31773893229512802
initialActions203123
loadScripts14141105279239013632598
setupStore14371284221134729
numNetworkReqs99602556077241
📊 Page Load Benchmark Results

Current Commit: acb5bf2 | Date: 11/28/2025

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.05s (±56ms) 🟡 | historical mean value: 1.04s ⬆️ (historical data)
  • domContentLoaded-> current mean value: 733ms (±52ms) 🟢 | historical mean value: 724ms ⬆️ (historical data)
  • firstContentfulPaint-> current mean value: 78ms (±15ms) 🟢 | historical mean value: 79ms ⬇️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.05s 56ms 1.02s 1.40s 1.09s 1.40s
domContentLoaded 733ms 52ms 704ms 1.05s 773ms 1.05s
firstPaint 78ms 15ms 60ms 216ms 84ms 216ms
firstContentfulPaint 78ms 15ms 60ms 216ms 84ms 216ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚀 Bundle size reduced!]
  • background: 3.82 KiB (0.08%)
  • ui: 1.36 KiB (0.02%)
  • common: -6.26 KiB (-0.07%)

@mikesposito mikesposito marked this pull request as ready for review December 2, 2025 11:14
@mikesposito mikesposito requested a review from a team as a code owner December 2, 2025 11:14
cryptodev-2s
cryptodev-2s previously approved these changes Dec 2, 2025
Copy link
Contributor

@cryptodev-2s cryptodev-2s left a comment

Choose a reason for hiding this comment

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

LGTM!

@mikesposito
Copy link
Member Author

@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

@metamaskbot
Copy link
Collaborator

Builds ready [9126053]
UI Startup Metrics (1257 ± 113 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard HomeuiStartup12571039156611313341442
load105487713379911181228
domContentLoaded104887513229711081221
domInteractive2715157232284
firstPaint50676134040810191173
backgroundConnect22219827113230246
firstReactRender27195473044
getState3617123203993
initialActions104112
loadScripts8326671076948831004
setupStore1173151222
numNetworkReqs1156817562
BrowserifyPower User HomeuiStartup20341672266922021162481
load1008875165612910221308
domContentLoaded99386616491319941300
domInteractive3317126233290
firstPaint5909513443809591102
backgroundConnect270202739136229661
firstReactRender5540101155793
getState18913774762201229
initialActions106112
loadScripts79066514461297921094
setupStore1994462229
numNetworkReqs1526729255205250
WebpackStandard HomeuiStartup809688106573848974
load62955382066665798
domContentLoaded62454981166660790
domInteractive2515104192280
firstPaint21874813150204601
backgroundConnect1053351325
firstReactRender27206573238
getState2714100133246
initialActions103111
loadScripts62154780364658781
setupStore1174661324
numNetworkReqs1157317563
WebpackPower User HomeuiStartup15891239227222817092039
load674580103794684897
domContentLoaded664575103295668891
domInteractive37171813234114
firstPaint27092884186264697
backgroundConnect74762316419572
firstReactRender5844114106374
getState194133727104184241
initialActions103112
loadScripts661573102493667883
setupStore20959102345
numNetworkReqs1627039564216287
FirefoxBrowserifyStandard HomeuiStartup14151154194016215111739
load1155995151910112061337
domContentLoaded1155989151810112061336
domInteractive72312023590137
firstPaint------
backgroundConnect51222063659128
firstReactRender24194252637
getState157205261227
initialActions103122
loadScripts112497814959411841280
setupStore14791151242
numNetworkReqs1256917663
BrowserifyPower User HomeuiStartup------
load------
domContentLoaded------
domInteractive------
firstPaint------
backgroundConnect------
firstReactRender------
getState------
initialActions------
loadScripts------
setupStore------
numNetworkReqs------
WebpackStandard HomeuiStartup15281266198415816271899
load12551064156510613191464
domContentLoaded12541064156410613191464
domInteractive64272363581106
firstPaint------
backgroundConnect47211872947124
firstReactRender28206663137
getState157131191347
initialActions103122
loadScripts1226105015339912951402
setupStore166139201444
numNetworkReqs1256617763
WebpackPower User HomeuiStartup30042143611081130074807
load15281165305644216362791
domContentLoaded15281164305644216362791
domInteractive12730650116124390
firstPaint------
backgroundConnect1812313152491641035
firstReactRender68372403865153
getState286621852262340826
initialActions207123
loadScripts14601144297837116052439
setupStore1676788221173686
numNetworkReqs915822235111170
📊 Page Load Benchmark Results

Current Commit: 9126053 | Date: 12/2/2025

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.03s (±39ms) 🟡 | historical mean value: 1.04s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 720ms (±36ms) 🟢 | historical mean value: 727ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 78ms (±13ms) 🟢 | historical mean value: 80ms ⬇️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.03s 39ms 1.01s 1.33s 1.06s 1.33s
domContentLoaded 720ms 36ms 701ms 994ms 735ms 994ms
firstPaint 78ms 13ms 60ms 188ms 88ms 188ms
firstContentfulPaint 78ms 13ms 60ms 188ms 88ms 188ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚀 Bundle size reduced!]
  • background: 3.81 KiB (0.07%)
  • ui: -2 Bytes (0%)
  • common: -34.17 KiB (-0.38%)

cryptodev-2s
cryptodev-2s previously approved these changes Dec 2, 2025
Copy link
Contributor

@cryptodev-2s cryptodev-2s left a comment

Choose a reason for hiding this comment

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

LGTM!

@metamaskbot
Copy link
Collaborator

Builds ready [14cfe12]
UI Startup Metrics (1223 ± 101 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard HomeuiStartup12231013166610113011371
load101984914378810681151
domContentLoaded101384414348710591145
domInteractive2615216252179
firstPaint50583120438910141086
backgroundConnect21319626011219234
firstReactRender331986123853
getState3717187214455
initialActions107113
loadScripts806644118084848934
setupStore1272441520
numNetworkReqs1157117563
BrowserifyPower User HomeuiStartup20791830289119321322504
load1061949166112010791352
domContentLoaded1046940163912010571331
domInteractive37181552436104
firstPaint609108165242910221323
backgroundConnect276209840125246666
firstReactRender6242118156497
getState19314073260211234
initialActions104112
loadScripts82672513931178311120
setupStore21124582441
numNetworkReqs94632072995158
WebpackStandard HomeuiStartup80568298777841968
load62554885369667780
domContentLoaded62054184769659772
domInteractive26141112321101
firstPaint24498749165249626
backgroundConnect1067881225
firstReactRender27207173239
getState251359103443
initialActions105112
loadScripts61753884568656763
setupStore1062131117
numNetworkReqs1056716561
WebpackPower User HomeuiStartup15681274211019615892028
load680590106782698880
domContentLoaded670584106083689871
domInteractive34171732631107
firstPaint30796881210323725
backgroundConnect73962814923555
firstReactRender58438686376
getState18112570377182241
initialActions105112
loadScripts668582105281687862
setupStore20950112347
numNetworkReqs986325937104184
FirefoxBrowserifyStandard HomeuiStartup12671093192613513541500
load105193713728711051236
domContentLoaded105093713718711051236
domInteractive56311542983109
firstPaint------
backgroundConnect4321316403996
firstReactRender22184952334
getState1072241020
initialActions102012
loadScripts102492012227310661157
setupStore1155491035
numNetworkReqs1156916760
BrowserifyPower User HomeuiStartup26762068498956227364334
load12371023265532312602488
domContentLoaded12361022265532312602487
domInteractive1143545384114322
firstPaint------
backgroundConnect163271149216148756
firstReactRender59391512060104
getState29861964245366841
initialActions218123
loadScripts11801000239724712161521
setupStore15011808175163591
numNetworkReqs916127539100196
WebpackStandard HomeuiStartup15261310204615216181870
load1252108714849613191438
domContentLoaded1251108614849513191438
domInteractive55271302882103
firstPaint------
backgroundConnect52191923164114
firstReactRender28206473042
getState167231261337
initialActions103122
loadScripts1223105214579012931367
setupStore14586131243
numNetworkReqs1256717763
WebpackPower User HomeuiStartup28462065500466627824271
load14751163262838815052485
domContentLoaded14751163262738815052485
domInteractive11331922115101331
firstPaint------
backgroundConnect148261042199140800
firstReactRender6241259316192
getState29467945247451817
initialActions3152527
loadScripts14171142259834314762363
setupStore13081073194109577
numNetworkReqs906122836108173
📊 Page Load Benchmark Results

Current Commit: 14cfe12 | Date: 12/3/2025

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.01s (±73ms) 🟡 | historical mean value: 1.04s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 703ms (±71ms) 🟢 | historical mean value: 723ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 77ms (±10ms) 🟢 | historical mean value: 78ms ⬇️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.01s 73ms 959ms 1.29s 1.24s 1.29s
domContentLoaded 703ms 71ms 664ms 985ms 934ms 985ms
firstPaint 77ms 10ms 64ms 152ms 88ms 152ms
firstContentfulPaint 77ms 10ms 64ms 152ms 88ms 152ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚀 Bundle size reduced!]
  • background: 3.81 KiB (0.07%)
  • ui: 6 Bytes (0%)
  • common: -34.17 KiB (-0.38%)

Comment on lines -49 to -56
let payload: EncryptionResult;
if (typeof encryptedData === 'string') {
payload = JSON.parse(encryptedData);
} else {
payload = encryptedData;
}

return encryptor.decryptWithKey(key as EncryptionKey, payload);
Copy link
Member

Choose a reason for hiding this comment

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

Is this compatible with the encryptor passed now?

Copy link
Member Author

Choose a reason for hiding this comment

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

There has been this broken type in KeyringController for a while now, but it was aligned with the real type coming from browser-passworder here: https://github.com/MetaMask/core/pull/7127/files#diff-cacd62f731d7f6947fe841f6ba3441c7a16f764b699801b0c212e0e6c15879bfR423 - encryptedData should never be a string when being decrypted with decryptWithKey

Copy link
Member

Choose a reason for hiding this comment

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

Just making sure that the SeedlessOnboardingController doesn't expect to be able to pass a string? But I guess not since the types are valid

Copy link
Member Author

Choose a reason for hiding this comment

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

Copy link
Contributor

@cryptodev-2s cryptodev-2s left a comment

Choose a reason for hiding this comment

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

LGTM!

@mikesposito mikesposito enabled auto-merge December 3, 2025 11:56
@mikesposito mikesposito added this pull request to the merge queue Dec 3, 2025
@metamaskbot
Copy link
Collaborator

Builds ready [3733c29]
UI Startup Metrics (1270 ± 116 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard HomeuiStartup12701026163211613301445
load105887213699711081235
domContentLoaded105286813629611021228
domInteractive2715158242291
firstPaint55088125841310441188
backgroundConnect21519427212220241
firstReactRender311980113553
getState40171492445106
initialActions107113
loadScripts8446661148938851018
setupStore1353761629
numNetworkReqs1057516562
BrowserifyPower User HomeuiStartup20071616248520521602402
load99187416711409771334
domContentLoaded97886816621399601326
domInteractive33171292532104
firstPaint4848714593689221227
backgroundConnect23420069975223444
firstReactRender543699135790
getState200127799111190334
initialActions107112
loadScripts77567114211357611116
setupStore18114762232
numNetworkReqs1526833960203259
WebpackStandard HomeuiStartup806691106769838949
load62755687164651759
domContentLoaded62355286464644752
domInteractive2614136232194
firstPaint23284758165217628
backgroundConnect1166291225
firstReactRender282089103140
getState271380133650
initialActions105111
loadScripts62054985663642745
setupStore1062031216
numNetworkReqs1056815556
WebpackPower User HomeuiStartup15971277215522816842062
load6815811152103685915
domContentLoaded6715741145103674908
domInteractive39162423835130
firstPaint26590968182262697
backgroundConnect3485338117222
firstReactRender60439396482
getState19013774293186229
initialActions105111
loadScripts6685721136101672898
setupStore191056102248
numNetworkReqs1586642066217284
FirefoxBrowserifyStandard HomeuiStartup13681150190414814391719
load112297414838511611274
domContentLoaded112297414838511611274
domInteractive69322123593129
firstPaint------
backgroundConnect48231993348117
firstReactRender24195662536
getState157199241140
initialActions102012
loadScripts109495314407911311245
setupStore167168261175
numNetworkReqs1256816660
BrowserifyPower User HomeuiStartup26561972540561526934323
load1212925273630012431568
domContentLoaded1212925273630012421568
domInteractive1183449495113377
firstPaint------
backgroundConnect180241143238141888
firstReactRender5835201215898
getState26468893213269796
initialActions2033323
loadScripts1153911255822311791516
setupStore1727734206209680
numNetworkReqs91612624585235
WebpackStandard HomeuiStartup14701261200914315641770
load12141049148510112841400
domContentLoaded12141049148510112841399
domInteractive52262013272109
firstPaint------
backgroundConnect42201702641101
firstReactRender26198582834
getState13680131343
initialActions103112
loadScripts1190103514629612571346
setupStore155158211140
numNetworkReqs1256716762
WebpackPower User HomeuiStartup29182019567972428134458
load15491154295447916042701
domContentLoaded15491153295447916042700
domInteractive130291089157124385
firstPaint------
backgroundConnect193261223254172987
firstReactRender6037178226394
getState24459869202261734
initialActions207123
loadScripts14861137279741815662595
setupStore1315781193106678
numNetworkReqs916321435114169
📊 Page Load Benchmark Results

Current Commit: 3733c29 | Date: 12/3/2025

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.05s (±69ms) 🟡 | historical mean value: 1.04s ⬆️ (historical data)
  • domContentLoaded-> current mean value: 735ms (±66ms) 🟢 | historical mean value: 726ms ⬆️ (historical data)
  • firstContentfulPaint-> current mean value: 78ms (±14ms) 🟢 | historical mean value: 79ms ⬇️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.05s 69ms 1.01s 1.34s 1.26s 1.34s
domContentLoaded 735ms 66ms 701ms 1.02s 935ms 1.02s
firstPaint 78ms 14ms 60ms 200ms 88ms 200ms
firstContentfulPaint 78ms 14ms 60ms 200ms 88ms 200ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚀 Bundle size reduced!]
  • background: 4.15 KiB (0.08%)
  • ui: -926 Bytes (-0.01%)
  • common: -34.31 KiB (-0.38%)

@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Dec 3, 2025
@mikesposito mikesposito added this pull request to the merge queue Dec 3, 2025
Merged via the queue into main with commit dd5b1ac Dec 3, 2025
176 checks passed
@mikesposito mikesposito deleted the mikesposito/update-keyring-controller branch December 3, 2025 13:28
@github-actions github-actions bot locked and limited conversation to collaborators Dec 3, 2025
@metamaskbot metamaskbot added the release-13.13.0 Issue or pull request that will be included in release 13.13.0 label Dec 3, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

release-13.13.0 Issue or pull request that will be included in release 13.13.0 size-S team-core-platform Core Platform team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants