Skip to content

fix: enhance webcam utility to support sidepanel environment#39438

Merged
dawnseeker8 merged 6 commits intomainfrom
fix/39267-camera-issue-in-sidebar
Feb 5, 2026
Merged

fix: enhance webcam utility to support sidepanel environment#39438
dawnseeker8 merged 6 commits intomainfrom
fix/39267-camera-issue-in-sidebar

Conversation

@dawnseeker8
Copy link
Contributor

@dawnseeker8 dawnseeker8 commented Jan 21, 2026

Description

This PR fix camera permissions issue with Keystone HW wallet in sidebar mode

  • Added support for the new ENVIRONMENT_TYPE_SIDEPANEL in the WebcamUtils class.
  • Refactored checkStatus method to handle sidepanel and popup environments, improving camera permission handling.
  • Introduced a new test suite for WebcamUtils, covering various scenarios including sidepanel and popup modes, ensuring robust permission checks and environment readiness.

Open in GitHub Codespaces

Changelog

CHANGELOG entry: Fixes: Fix camera permissions issue with Keystone HW wallet in sidebar mode (#39267 )

Related issues

#39267

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

Adds sidepanel support and tightens webcam permission logic.

  • Refactors checkStatus in webcam-utils.js to detect ENVIRONMENT_TYPE_SIDEPANEL, treat popup/sidepanel as restricted, and set environmentReady false when permissions are missing or in Firefox within restricted environments; returns explicit permissions and environmentReady flags and throws NO_WEBCAM_FOUND when no device exists
  • Introduces webcam-utils.test.ts covering no-device errors, fullscreen vs popup/sidepanel flows, permission vs no-permission outcomes, and Firefox behavior; mocks navigator.mediaDevices, getEnvironmentType, and getBrowserName

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

- Added support for the new ENVIRONMENT_TYPE_SIDEPANEL in the WebcamUtils class.
- Refactored checkStatus method to handle sidepanel and popup environments, improving camera permission handling.
- Introduced a new test suite for WebcamUtils, covering various scenarios including sidepanel and popup modes, ensuring robust permission checks and environment readiness.
@github-actions
Copy link
Contributor

CLA Signature Action: All authors have signed the CLA. You may need to manually re-run the blocking PR check if it doesn't pass in a few minutes.

@metamaskbot metamaskbot added the team-accounts-framework Accounts team label Jan 21, 2026
@github-project-automation github-project-automation bot moved this to Needs dev review in PR review queue Jan 21, 2026
@dawnseeker8 dawnseeker8 changed the title feat: enhance webcam utility to support sidepanel environment fix: enhance webcam utility to support sidepanel environment Jan 21, 2026
- Replaced `toEqual` with `toStrictEqual` in multiple test cases to ensure more precise comparison of objects in the WebcamUtils test suite.
- Added an ESLint directive to allow importing the `getEnvironmentType` function for mocking purposes, enhancing test reliability.
- Introduced a new test suite for WebcamUtils, covering various scenarios including checks for webcam availability and permissions across different environments (fullscreen, popup, sidepanel).
- Implemented mocks for environment type and browser name to ensure consistent test results.
- Enhanced error handling tests to verify correct behavior when no webcam is found.
@metamaskbotv2
Copy link
Contributor

metamaskbotv2 bot commented Jan 21, 2026

Builds ready [fc9b468]
UI Startup Metrics (1283 ± 103 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--12831007156810313521436
load--107385412788711381199
domContentLoaded--106684712728711341189
domInteractive--261692192287
firstPaint--148601090142176302
backgroundConnect--21820025912224249
firstReactRender--18103862329
getState--3922119154572
initialActions--106113
loadScripts--856645105586925974
setupStore--1372741420
numNetworkReqs--171177161164
19--------
BrowserifyPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--307617569302158834245800
load--1187973164414112921437
domContentLoaded--1168944158213812711412
domInteractive--3619280323395
firstPaint--198821367172234372
backgroundConnect--78622434159107863006
firstReactRender--23165062535
getState--3261433729392352762
initialActions--105111
loadScripts--924727132112710091151
setupStore--22760122553
numNetworkReqs--87462293494176
19--------
WebpackStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--802655102476835966
load--64458086865659794
domContentLoaded--63957585964655785
domInteractive--251597182282
firstPaint--1095876680122210
backgroundConnect--2961263233102
firstReactRender--16103541723
getState--3316137184266
initialActions--104112
loadScripts--63657385062653776
setupStore--1373971330
numNetworkReqs--171176171169
19--------
WebpackPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--1287974249026113701957
load--698612101576712876
domContentLoaded--687607100977697872
domInteractive--38191582836111
firstPaint--1387239567148289
backgroundConnect--298648771852
firstReactRender--23183542431
getState--15012726921156194
initialActions--103112
loadScripts--685605100175695864
setupStore--21664122145
numNetworkReqs--1364933653154264
19--------
FirefoxBrowserifyStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--14531147245820015381822
load--1161971215414912301390
domContentLoaded--1160971215414912301390
domInteractive--853092396106189
firstPaint--------
backgroundConnect--58192044281134
firstReactRender--14104671439
getState--136126131225
initialActions--103122
loadScripts--1121955204913411781299
setupStore--174229301248
numNetworkReqs--19983171368
19--------
BrowserifyPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--24351671329334227253155
load--1178999219920612451383
domContentLoaded--1178999219920612451383
domInteractive--139531210127154335
firstPaint--------
backgroundConnect--3253613813275051060
firstReactRender--21155952328
getState--18966764150207577
initialActions--217123
loadScripts--1138969215820112011347
setupStore--13914701143168467
numNetworkReqs--76321402689125
19--------
WebpackStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--16561311252319817572010
load--13821160196913814561611
domContentLoaded--13821160196813814551611
domInteractive--932927351131188
firstPaint--------
backgroundConnect--69182755685203
firstReactRender--15115861623
getState--2272293815102
initialActions--102122
loadScripts--13421137191812114051503
setupStore--1941803114106
numNetworkReqs--19978171472
19--------
WebpackPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--29202157907384030133948
load--15051216433235715472058
domContentLoaded--15041216433135715472058
domInteractive--16347851135181514
firstPaint--------
backgroundConnect--3714316153386131071
firstReactRender--22165462430
getState--24064747171270651
initialActions--203122
loadScripts--14401194429534014861818
setupStore--12719865138157414
numNetworkReqs--79331632687141
19--------
📊 Page Load Benchmark Results

Current Commit: fc9b468 | Date: 1/21/2026

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.05s (±42ms) 🟡 | historical mean value: 1.04s ⬆️ (historical data)
  • domContentLoaded-> current mean value: 737ms (±62ms) 🟢 | historical mean value: 725ms ⬆️ (historical data)
  • firstContentfulPaint-> current mean value: 91ms (±129ms) 🟢 | historical mean value: 78ms ⬆️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.05s 42ms 1.02s 1.37s 1.08s 1.37s
domContentLoaded 737ms 62ms 703ms 1.30s 758ms 1.30s
firstPaint 91ms 129ms 60ms 1.37s 88ms 1.37s
firstContentfulPaint 91ms 129ms 60ms 1.37s 88ms 1.37s
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚀 Bundle size reduced!]
  • background: 58 Bytes (0%)
  • ui: -10.76 KiB (-0.14%)
  • common: -234 Bytes (0%)

@metamaskbotv2
Copy link
Contributor

metamaskbotv2 bot commented Jan 22, 2026

Builds ready [3d729c8]
UI Startup Metrics (1341 ± 97 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--1341110916459713991505
load--110688313279811791262
domContentLoaded--109887713219611701250
domInteractive--2816121212483
firstPaint--183681281167203322
backgroundConnect--23020432917239255
firstReactRender--16104261729
getState--381699154275
initialActions--106112
loadScripts--8776641093959481022
setupStore--1273441420
numNetworkReqs--181277161265
19--------
BrowserifyPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--20721442642477320433433
load--1036890143912811001308
domContentLoaded--1022881143412610841290
domInteractive--3217143233197
firstPaint--1586645179210302
backgroundConnect--3372024318469243968
firstReactRender--21164442329
getState--2101341557185194744
initialActions--102111
loadScripts--80867812231218501071
setupStore--19791111837
numNetworkReqs--65351612680125
19--------
WebpackStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--84568711061009031081
load--68960199386715881
domContentLoaded--68359798586711875
domInteractive--2616123192382
firstPaint--1106225652150231
backgroundConnect--215156252296
firstReactRender--18113762030
getState--331577144258
initialActions--104112
loadScripts--68059598285709873
setupStore--1475471728
numNetworkReqs--181274171268
19--------
WebpackPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--1359975211227615181868
load--68559793585711884
domContentLoaded--67659292785699879
domInteractive--37172463633124
firstPaint--1226336262145241
backgroundConnect--89664417820603
firstReactRender--22184542428
getState--1465022019153175
initialActions--103011
loadScripts--67459192284697871
setupStore--1667081736
numNetworkReqs--107524747139216
19--------
FirefoxBrowserifyStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--13751066189817114861760
load--1099925168211711601283
domContentLoaded--1098925168211711591283
domInteractive--67313304589144
firstPaint--------
backgroundConnect--52181803573121
firstReactRender--1493951324
getState--1267691227
initialActions--102012
loadScripts--1067912157910611321253
setupStore--144167191145
numNetworkReqs--201079171468
19--------
BrowserifyPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--25221792516656626503494
load--12271017267127412761880
domContentLoaded--12271017267127412761880
domInteractive--13745971115156315
firstPaint--------
backgroundConnect--2443323553732001049
firstReactRender--22156472430
getState--256661039223269763
initialActions--207123
loadScripts--1186996256825811971707
setupStore--13912764174122620
numNetworkReqs--62341322479120
19--------
WebpackStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--16501356216120217662039
load--13771150191514614701665
domContentLoaded--13771149191514614701664
domInteractive--962937362130228
firstPaint--------
backgroundConnect--60171833878158
firstReactRender--15112521620
getState--177120181539
initialActions--103122
loadScripts--13411136188813514051619
setupStore--2452524514136
numNetworkReqs--201085171470
19--------
WebpackPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--29142197491668030094587
load--15471209334942415842634
domContentLoaded--15471209334942415832633
domInteractive--149311104165167402
firstPaint--------
backgroundConnect--2593617513581971218
firstReactRender--2517111132633
getState--326891110250495858
initialActions--206123
loadScripts--14541190317130615402118
setupStore--1417910187136630
numNetworkReqs--67322663980150
19--------
📊 Page Load Benchmark Results

Current Commit: 3d729c8 | Date: 1/22/2026

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 998ms (±49ms) 🟢 | historical mean value: 1.04s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 693ms (±63ms) 🟢 | historical mean value: 722ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 87ms (±122ms) 🟢 | historical mean value: 77ms ⬆️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 998ms 49ms 969ms 1.34s 1.02s 1.34s
domContentLoaded 693ms 63ms 667ms 1.24s 707ms 1.24s
firstPaint 87ms 122ms 64ms 1.30s 84ms 1.30s
firstContentfulPaint 87ms 122ms 64ms 1.30s 84ms 1.30s
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs
  • background: 58 Bytes (0%)
  • ui: 52 Bytes (0%)
  • common: 20 Bytes (0%)

@metamaskbotv2
Copy link
Contributor

metamaskbotv2 bot commented Jan 27, 2026

Builds ready [019c12f]
UI Startup Metrics (1342 ± 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--13421077163211414181543
load--1145916142111012251338
domContentLoaded--1138908141410912071331
domInteractive--271692182481
firstPaint--155651160121193298
backgroundConnect--23821932518242283
firstReactRender--19103962130
initialActions--108114
loadScripts--91569311961119841099
setupStore--1464371728
numNetworkReqs--201381171368
19--------
BrowserifyPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--259216076596106727305065
load--1142959174013612031414
domContentLoaded--1123951173113311901381
domInteractive--3519126223591
firstPaint--201791141125243359
backgroundConnect--69028137746817182465
firstReactRender--24146272636
initialActions--104113
loadScripts--88672314551279351146
setupStore--1574361826
numNetworkReqs--87412093799173
19--------
WebpackStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--8186601127998771015
load--66958194581732805
domContentLoaded--66457793780727800
domInteractive--2515107182177
firstPaint--1025739861107232
backgroundConnect--44181333054112
firstReactRender--14103441523
initialActions--103112
loadScripts--66157593579720798
setupStore--1063451020
numNetworkReqs--201381181371
19--------
WebpackPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--1358885265427515061772
load--7406131275110766994
domContentLoaded--7296071264111754988
domInteractive--38181602936110
firstPaint--1526642186193354
backgroundConnect--16613454970161266
firstReactRender--22174242432
initialActions--102111
loadScripts--7276051255109752980
setupStore--1242541518
numNetworkReqs--924024645104212
19--------
FirefoxBrowserifyStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--13741107184615814651686
load--1113929162412011911329
domContentLoaded--1112929162412011911329
domInteractive--67332344090143
firstPaint--------
backgroundConnect--58242594267155
firstReactRender--1295141216
initialActions--102122
loadScripts--1079914159810711341270
setupStore--155228311042
numNetworkReqs--211183171572
19--------
BrowserifyPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--27771899458948529743440
load--13391061255224513691947
domContentLoaded--13381060255224513691946
domInteractive--14039507100151404
firstPaint--------
backgroundConnect--41512218723495821103
firstReactRender--22155862433
initialActions--206123
loadScripts--12771045224519413241749
setupStore--14118855198117713
numNetworkReqs--81302194681198
19--------
WebpackStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--16461385210315317131999
load--14051190173211114761621
domContentLoaded--14051190172611114761620
domInteractive--922723747132168
firstPaint--------
backgroundConnect--69252574480159
firstReactRender--14112531520
initialActions--103122
loadScripts--1369117616519714181593
setupStore--165159231168
numNetworkReqs--211183181576
19--------
WebpackPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--31222089941698731444848
load--17351294757383616822962
domContentLoaded--17351293757283616822962
domInteractive--163491413174166496
firstPaint--------
backgroundConnect--42011819143695241189
firstReactRender--2416120122633
initialActions--203123
loadScripts--16871270753582416492927
setupStore--1379691164158560
numNetworkReqs--78302764779190
19--------
📊 Page Load Benchmark Results

Current Commit: 019c12f | Date: 1/27/2026

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.05s (±67ms) 🟡 | historical mean value: 1.04s ⬆️ (historical data)
  • domContentLoaded-> current mean value: 735ms (±65ms) 🟢 | historical mean value: 723ms ⬆️ (historical data)
  • firstContentfulPaint-> current mean value: 77ms (±11ms) 🟢 | historical mean value: 80ms ⬇️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.05s 67ms 1.01s 1.32s 1.26s 1.32s
domContentLoaded 735ms 65ms 700ms 1.00s 934ms 1.00s
firstPaint 77ms 11ms 64ms 176ms 84ms 176ms
firstContentfulPaint 77ms 11ms 64ms 176ms 84ms 176ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs
  • background: 58 Bytes (0%)
  • ui: 52 Bytes (0%)
  • common: 20 Bytes (0%)

@metamaskbotv2
Copy link
Contributor

metamaskbotv2 bot commented Jan 28, 2026

Builds ready [7ce24d9]
UI Startup Metrics (1309 ± 120 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--13091058167212013641523
load--1116898143211511691342
domContentLoaded--1110892142511511641336
domInteractive--251684162278
firstPaint--152661156154187284
backgroundConnect--23221228112235255
firstReactRender--17103951926
initialActions--105113
loadScripts--89368511951159481124
setupStore--1363661625
numNetworkReqs--191381161366
19--------
BrowserifyPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--19281572244216420132283
load--1084940168413211131379
domContentLoaded--1068930167713010951370
domInteractive--37191613133131
firstPaint--186721392145235333
backgroundConnect--31828459749320413
firstReactRender--24166782640
initialActions--106113
loadScripts--83470414061258511128
setupStore--1564261826
numNetworkReqs--69371803968167
19--------
WebpackStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--79263899290853965
load--64556781072723779
domContentLoaded--64056380571718773
domInteractive--231497171971
firstPaint--1135427858155263
backgroundConnect--41171513047103
firstReactRender--1494551525
initialActions--107112
loadScripts--63856179870713766
setupStore--1054451117
numNetworkReqs--201388201377
19--------
WebpackPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--1277874189720614241668
load--7456171242114777983
domContentLoaded--7356091235115769976
domInteractive--35181592732107
firstPaint--145631080119159328
backgroundConnect--16513562781158206
firstReactRender--23183342530
initialActions--103111
loadScripts--7336071226113767967
setupStore--1252631517
numNetworkReqs--70411694059162
19--------
FirefoxBrowserifyStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--14661121190016415731811
load--1190982172313012661439
domContentLoaded--1190982172313012631439
domInteractive--873520445136158
firstPaint--------
backgroundConnect--68233014595148
firstReactRender--14104661420
initialActions--103122
loadScripts--1147969170011512081373
setupStore--14699161353
numNetworkReqs--221189201882
19--------
BrowserifyPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--27062023507469927624517
load--13301077279539912562590
domContentLoaded--13301076279439912552590
domInteractive--12836877121132294
firstPaint--------
backgroundConnect--2911231218259228938
firstReactRender--21146962227
initialActions--214123
loadScripts--12771054269234912282211
setupStore--1789824226213722
numNetworkReqs--60301723978168
19--------
WebpackStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--16871322219217718072006
load--14391190189213115161660
domContentLoaded--14391190189213115161660
domInteractive--962823348131178
firstPaint--------
backgroundConnect--832227253133191
firstReactRender--14112531522
initialActions--102122
loadScripts--13921170175510714731560
setupStore--1841582812102
numNetworkReqs--211183181675
19--------
WebpackPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--303820168735106131834739
load--16751204609263717232930
domContentLoaded--16751204609063717232929
domInteractive--963376310199188
firstPaint--------
backgroundConnect--4218449005754071173
firstReactRender--22156262630
initialActions--216123
loadScripts--15951185606458516882764
setupStore--125795120685574
numNetworkReqs--59281803970163
19--------
📊 Page Load Benchmark Results

Current Commit: 7ce24d9 | Date: 1/28/2026

📄 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: 716ms (±36ms) 🟢 | historical mean value: 724ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 74ms (±12ms) 🟢 | historical mean value: 80ms ⬇️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.03s 39ms 1.00s 1.31s 1.07s 1.31s
domContentLoaded 716ms 36ms 694ms 988ms 748ms 988ms
firstPaint 74ms 12ms 56ms 168ms 84ms 168ms
firstContentfulPaint 74ms 12ms 56ms 168ms 84ms 168ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs
  • background: 58 Bytes (0%)
  • ui: 52 Bytes (0%)
  • common: 20 Bytes (0%)

@github-project-automation github-project-automation bot moved this from Needs dev review to Review finalised - Ready to be merged in PR review queue Feb 5, 2026
@dawnseeker8 dawnseeker8 added this pull request to the merge queue Feb 5, 2026
Merged via the queue into main with commit 39ddb68 Feb 5, 2026
182 checks passed
@dawnseeker8 dawnseeker8 deleted the fix/39267-camera-issue-in-sidebar branch February 5, 2026 10:37
@github-project-automation github-project-automation bot moved this from Review finalised - Ready to be merged to Merged, Closed or Archived in PR review queue Feb 5, 2026
@github-actions github-actions bot locked and limited conversation to collaborators Feb 5, 2026
@metamaskbot metamaskbot added the release-13.18.0 Issue or pull request that will be included in release 13.18.0 label Feb 5, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

QA Passed release-13.18.0 Issue or pull request that will be included in release 13.18.0 size-M team-accounts-framework Accounts team

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

[Bug]: Fix camera permissions issue with Keystone HW wallet in sidebar mode

5 participants