Skip to content

Conversation

@pedronfigueiredo
Copy link
Contributor

@pedronfigueiredo pedronfigueiredo commented Oct 31, 2025

Description

  • Clean‑ups so the confirmation flow selectors stop tripping Reselect’s dev‑mode warnings while keeping behaviour intact:
    • shared/modules/selectors/smart-transactions.ts -- Normalised the opt‑in selectors (getSmartTransactionsOptInStatusForMetrics, getSmartTransactionsPreferenceEnabled) so they return booleans/null instead of blindly echoing the stored value; this gives the combiner meaningful work and avoids the identity check complaints.
    • test/jest/setup.js -- Dropped the global setGlobalDevModeChecks(...) override and replaced it with a lightweight proxy background stub. The warnings are now addressed in code rather than hidden in test setup.
    • ui/pages/confirmations/hooks/useCurrentConfirmation.ts -- Replaced the stack of individual useSelector calls with a single lookup of a new aggregated selector. The hook now just reads selectConfirmationData, eliminating several pass‑through selectors that used to return the input unchanged.
    • ui/pages/confirmations/selectors/confirm.ts -- Added selectConfirmationData, a memoized selector that:
      • picks the active confirmation ID (explicit route param or the oldest pending approval)
      • fetches the matching approval, transaction meta, and signature message
      • packages them into a shaped object. This concentrates the memoization logic in one place so Reselect no longer sees identity functions.
    • ui/selectors/approvals.ts / ui/selectors/accounts.ts -- Wrapped getPendingApprovals, pendingApprovalsSortedSelector, and getInternalAccounts in proper memoized selectors that build their arrays in the combiner instead of returning new Object.values(...) results each time. selectPendingApproval now reuses its internal selector directly.
    • ui/selectors/signatures.ts – Simplified selectUnapprovedMessage to export the existing memoized selector rather than wrapping it in another x => x layer.
    • ui/selectors/selectors.js – Adjusted selectors that simply
      forwarded upstream data:
      • getMemoizedMetaMaskInternalAccounts and selectERC20TokensByChain now expose the existing selectors.
      • getUnapprovedTransaction returns a cloned transaction (or undefined) instead of the original reference.
    • ui/selectors/transactions.js – Ensured every selector’s result transforms its input:
      • the base transaction lists clone before returning;
      • filtered selectors (getUnapprovedTransactions, getApprovedAndSignedTransactions, submittedPendingTransactionsSelector, etc.) build new arrays (copying items when needed);
      • removed the redundant getAllNetworkTransactions wrapper;
      • guarded empty cases explicitly so dev-mode sees a new reference rather than the unmodified input.
    • ui/pages/confirmations/confirm/snapshots/confirm.test.tsx.snap – Snapshots were updated automatically to reflect the more complete render output once the selectors no longer short-circuited.

Collectively these changes mean Reselect’s dev-mode checks now recognise actual transformations—the warnings are gone because selectors either generate fresh data or expose memoized helpers directly, rather than returning the same reference they were given.

  • Wrapped render logic in act once and flushed pending promises
  • Introduce a proper background stub

Open in GitHub Codespaces

Changelog

CHANGELOG entry:

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

Refactors confirmation flow and shared selectors for proper memoization/value normalization and updates tests (async render + background stub), eliminating Reselect dev warnings and refreshing snapshots.

  • Selectors:
    • Confirmations: Add selectConfirmationData; refactor useCurrentConfirmation to use it; add pendingConfirmations* selectors; expose oldestPendingConfirmationSelector.
    • Transactions: Ensure outputs clone/transform data (getTransactions, getUnapprovedTransactions, getApprovedAndSignedTransactions, submittedPendingTransactionsSelector, etc.); remove redundant wrappers; guard empty cases.
    • Approvals/Accounts/Signatures: Convert to memoized selectors (getPendingApprovals, pendingApprovalsSortedSelector, getInternalAccounts); simplify selectPendingApproval/selectUnapprovedMessage.
    • Shared selectors: Update getUnapprovedTransaction to return a cloned item; expose existing selectors (getMemoizedMetaMaskInternalAccounts, selectERC20TokensByChain).
    • Smart Transactions: Normalize opt-in selectors to return boolean|null; keep default-enabled logic in getSmartTransactionsPreferenceEnabled.
  • Tests/Infra:
    • Jest setup: add background connection proxy stub.
    • Confirm page tests: wrap render in act, flush promises, factor renderConfirm, update snapshots.
    • Hooks tests: refactor useNonContractAddressAlerts and useAutomaticGasFeeTokenSelect tests to provider-based helpers; add store update helper; stabilize mocks.
    • Onboarding welcome tests: use clearAllMocks and adjust spies.

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

@pedronfigueiredo pedronfigueiredo self-assigned this Oct 31, 2025
@pedronfigueiredo pedronfigueiredo requested a review from a team as a code owner October 31, 2025 17:11
@pedronfigueiredo pedronfigueiredo added team-confirmations Push issues to confirmations team no-changelog no-changelog Indicates no external facing user changes, therefore no changelog documentation needed labels Oct 31, 2025
@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.

@pedronfigueiredo pedronfigueiredo force-pushed the pnf/address-confirm-test-warnings branch from f40a9a7 to e372f77 Compare October 31, 2025 17:13
@metamaskbot
Copy link
Collaborator

metamaskbot commented Oct 31, 2025

✨ Files requiring CODEOWNER review ✨

@MetaMask/confirmations (6 files, +422 -389)
  • 📁 ui/
    • 📁 pages/
      • 📁 confirmations/
        • 📁 confirm/
          • 📁 __snapshots__/
            • 📄 confirm.test.tsx.snap +150 -21
            • 📄 confirm.test.tsx +32 -70
        • 📁 hooks/
          • 📁 alerts/
            • 📁 transactions/
              • 📄 useNonContractAddressAlerts.test.ts +107 -245
            • 📄 useAutomaticGasFeeTokenSelect.test.ts +40 -10
            • 📄 useCurrentConfirmation.ts +13 -24
        • 📁 selectors/
          • 📄 confirm.ts +80 -19

🔐 @MetaMask/web3auth (1 files, +6 -5)
  • 📁 ui/
    • 📁 pages/
      • 📁 onboarding-flow/
        • 📁 welcome/
          • 📄 welcome.test.js +6 -5

@metamaskbot
Copy link
Collaborator

📊 Page Load Benchmark Results

Current Commit: e372f77 | Date: 10/31/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: 724ms ⬇️ (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.03s 39ms 1.01s 1.31s 1.07s 1.31s
domContentLoaded 720ms 36ms 698ms 978ms 738ms 978ms
firstPaint 76ms 12ms 60ms 184ms 84ms 184ms
firstContentfulPaint 76ms 12ms 60ms 184ms 84ms 184ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms

Results generated automatically by MetaMask CI

@metamaskbot
Copy link
Collaborator

Builds ready [e372f77]
UI Startup Metrics (1287 ± 92 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard HomeuiStartup1287112115229213511468
load110997213608911671292
domContentLoaded110396313518811621286
domInteractive201457102048
firstPaint59474129344611171229
backgroundConnect2292182476232240
firstReactRender28175883245
getState22979102640
initialActions60285613
loadScripts8807431124889371066
setupStore1162731217
numNetworkReqs96327630
BrowserifyPower User HomeuiStartup21071743304748928923047
load1152927197534415901975
domContentLoaded1145920196734315771967
domInteractive281776174676
firstPaint84219517934569781793
backgroundConnect260218675109243675
firstReactRender25223122731
getState17415819812184198
initialActions62195519
loadScripts910707154830713301548
setupStore1191821118
numNetworkReqs350212710180579710
WebpackStandard HomeuiStartup8557301126788741049
load64659592869652860
domContentLoaded63958892067646851
domInteractive15114561430
firstPaint18558900190175626
backgroundConnect23125282641
firstReactRender27176193236
getState1362951424
initialActions3116349
loadScripts63558690865643840
setupStore1163241217
numNetworkReqs96368632
WebpackPower User HomeuiStartup17171477239334521382393
load73664210801457931080
domContentLoaded70361810241247581024
domInteractive18133472234
firstPaint47011510303347981030
backgroundConnect13635447151353447
firstReactRender26213942639
getState1511241699156169
initialActions1005418854
loadScripts69861610141217471014
setupStore20652152552
numNetworkReqs341202688160552688
FirefoxBrowserifyStandard HomeuiStartup1455127117889615051677
load1254111215347312981382
domContentLoaded1253111215337312981381
domInteractive1133729742126217
firstPaint------
backgroundConnect4421110164975
firstReactRender24215852539
getState84497814
initialActions328146
loadScripts1227109515077112661358
setupStore1277781319
numNetworkReqs96337830
BrowserifyPower User HomeuiStartup26822244414547728954145
load14091271176014015451760
domContentLoaded14081270175914015451759
domInteractive17210032069225320
firstPaint------
backgroundConnect2044010762573151076
firstReactRender453093154893
getState1477325039178250
initialActions611241112
loadScripts13591208160512014711605
setupStore3061102838110
numNetworkReqs264150594111330594
WebpackStandard HomeuiStartup15321349211613115531815
load1324118916138913611513
domContentLoaded1323118916128913611513
domInteractive1023131346110209
firstPaint------
backgroundConnect4223111164979
firstReactRender272069102866
getState938111823
initialActions8117226311
loadScripts1298116715848813381480
setupStore1265571225
numNetworkReqs96357731
WebpackPower User HomeuiStartup28942303431461731674314
load16321347227525417922275
domContentLoaded16311347227425417912274
domInteractive1274429163157291
firstPaint------
backgroundConnect22139870233295870
firstReactRender393072114372
getState13410226038142260
initialActions713791037
loadScripts15601284201322717472013
setupStore3971774671177
numNetworkReqs273155597134398597
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 68 Bytes (0%)
  • ui: -918 Bytes (-0.01%)
  • common: 1.28 KiB (0.01%)

expect(container).toMatchSnapshot();
});
const signatureRender = await renderConfirm(mockStoreSign);
expect(signatureRender.container).toMatchSnapshot();
Copy link
Contributor

Choose a reason for hiding this comment

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

Nice cleanup

jpuri
jpuri previously approved these changes Nov 3, 2025
@pedronfigueiredo pedronfigueiredo force-pushed the pnf/address-confirm-test-warnings branch 2 times, most recently from d3195ef to 0ecfcf5 Compare November 3, 2025 11:54
@metamaskbot
Copy link
Collaborator

Builds ready [0ecfcf5]
UI Startup Metrics (1275 ± 96 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard HomeuiStartup1275110715139613221471
load109995813298611521247
domContentLoaded109395313238411451235
domInteractive211491132055
firstPaint637115133643710971242
backgroundConnect2312172618235250
firstReactRender29185593747
getState237110152540
initialActions61567721
loadScripts8687201090839201014
setupStore1063131115
numNetworkReqs1367620672
BrowserifyPower User HomeuiStartup21161835294538125412945
load1116966150419813961504
domContentLoaded1104946149519813911495
domInteractive281565174865
firstPaint760157149949110881499
backgroundConnect24622527916263279
firstReactRender27263222732
getState17715620515195205
initialActions724310643
loadScripts872724122318911601223
setupStore13103161331
numNetworkReqs187103356104314356
WebpackStandard HomeuiStartup7946711170937991007
load58653698279592776
domContentLoaded57853096376584762
domInteractive15117991432
firstPaint21154970206169731
backgroundConnect261388152971
firstReactRender27165783235
getState1161831416
initialActions3020349
loadScripts57552892973582755
setupStore1053041216
numNetworkReqs1467720874
WebpackPower User HomeuiStartup13371166183520614701835
load65959887282749872
domContentLoaded63958783070708830
domInteractive221357133757
firstPaint37775714242622714
backgroundConnect791827686194276
firstReactRender26243022630
getState14810917218157172
initialActions40205720
loadScripts63558581766697817
setupStore1162771527
numNetworkReqs1479727459194274
FirefoxBrowserifyStandard HomeuiStartup15011279201514615741870
load12741090169010013501429
domContentLoaded12741090169010013491429
domInteractive1203542058135233
firstPaint------
backgroundConnect4727160235295
firstReactRender25214952638
getState13319928932
initialActions42224414
loadScripts1246107016669713151400
setupStore1373871332
numNetworkReqs1366617764
BrowserifyPower User HomeuiStartup25012164288626128252886
load14101222166016316341660
domContentLoaded14091222165916316331659
domInteractive20989512166466512
firstPaint------
backgroundConnect1083133690186336
firstReactRender39306194661
getState14910533154177331
initialActions3112175435217
loadScripts13761201161815915771618
setupStore3881614252161
numNetworkReqs1597036284224362
WebpackStandard HomeuiStartup16361403256018916552039
load14041207202013014531645
domContentLoaded14031207202013014531645
domInteractive1052958054112153
firstPaint------
backgroundConnect52271352755114
firstReactRender29237393042
getState84455817
initialActions52437425
loadScripts13711185193511914271564
setupStore186198261376
numNetworkReqs1366918766
WebpackPower User HomeuiStartup25332140312934230163129
load15201244186020017601860
domContentLoaded15191244185820017591858
domInteractive1558140694254406
firstPaint------
backgroundConnect1113040499174404
firstReactRender38324864548
getState1308818327152183
initialActions9139101339
loadScripts14811227181119117281811
setupStore32101133135113
numNetworkReqs1436230487230304
📊 Page Load Benchmark Results

Current Commit: 0ecfcf5 | Date: 11/3/2025

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.04s (±41ms) 🟡 | historical mean value: 1.04s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 726ms (±38ms) 🟢 | historical mean value: 729ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 77ms (±12ms) 🟢 | historical mean value: 77ms ⬆️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.04s 41ms 1.01s 1.36s 1.07s 1.36s
domContentLoaded 726ms 38ms 699ms 1.03s 751ms 1.03s
firstPaint 77ms 12ms 64ms 188ms 84ms 188ms
firstContentfulPaint 77ms 12ms 64ms 188ms 84ms 188ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 68 Bytes (0%)
  • ui: -923 Bytes (-0.01%)
  • common: 1.45 KiB (0.02%)

@metamaskbot
Copy link
Collaborator

Builds ready [c4149da]
UI Startup Metrics (1320 ± 110 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard HomeuiStartup13201117159211014011525
load1143967137810112111313
domContentLoaded1136962137110012031304
domInteractive2215146161949
firstPaint70573138045511571275
backgroundConnect2342192527239249
firstReactRender31196793850
getState2194772335
initialActions71729717
loadScripts9097411144999761084
setupStore1062331117
numNetworkReqs1367419671
BrowserifyPower User HomeuiStartup21421842353946025823539
load1128951181426014281814
domContentLoaded1121941180825914091808
domInteractive301681215781
firstPaint670157143740410121437
backgroundConnect24722929015258290
firstReactRender27263112831
getState19616726925204269
initialActions1028119781
loadScripts888720153224811641532
setupStore13102961329
numNetworkReqs15510431783249317
WebpackStandard HomeuiStartup8727421208908771121
load65259898473658855
domContentLoaded64359096170649827
domInteractive16123971535
firstPaint21259964208203635
backgroundConnect291395193081
firstReactRender29176583437
getState1261931518
initialActions41173510
loadScripts64058895068647816
setupStore1162141319
numNetworkReqs1467820874
WebpackPower User HomeuiStartup13371176191125413781911
load70160210001397531000
domContentLoaded679591944121748944
domInteractive271282243282
firstPaint366116947285608947
backgroundConnect65112287353228
firstReactRender26243832638
getState1466919729160197
initialActions7056141156
loadScripts674589934118746934
setupStore1162981029
numNetworkReqs14810028571199285
FirefoxBrowserifyStandard HomeuiStartup14321242172611215041667
load1229108014118312901379
domContentLoaded1229107914118312901379
domInteractive1133334144125192
firstPaint------
backgroundConnect45261332151103
firstReactRender24215252434
getState74415715
initialActions31153313
loadScripts1201106113737812601347
setupStore1274971232
numNetworkReqs1266516760
BrowserifyPower User HomeuiStartup23742008288329127242883
load13441085172318415391723
domContentLoaded13441085172318515381723
domInteractive17466400101275400
firstPaint------
backgroundConnect14834453141241453
firstReactRender372770104470
getState1177619129125191
initialActions62256825
loadScripts12871065159315113221593
setupStore35691245491
numNetworkReqs1407033078211330
WebpackStandard HomeuiStartup15711358207414515901941
load1349117116389913821598
domContentLoaded1349117116389913821598
domInteractive1013423533120163
firstPaint------
backgroundConnect49241902953112
firstReactRender302275132867
getState93497925
initialActions6115516320
loadScripts1320115516079213401536
setupStore156191201239
numNetworkReqs1367118767
WebpackPower User HomeuiStartup25082151352042226363520
load14731229191720516001917
domContentLoaded14731228191620516001916
domInteractive15958432113267432
firstPaint------
backgroundConnect962727473145274
firstReactRender462994215094
getState1217515817128158
initialActions1511253016125
loadScripts14411210187219815711872
setupStore3561163772116
numNetworkReqs1355733798228337
📊 Page Load Benchmark Results

Current Commit: c4149da | Date: 11/3/2025

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.02s (±49ms) 🟡 | historical mean value: 1.04s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 713ms (±45ms) 🟢 | historical mean value: 729ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 76ms (±15ms) 🟢 | historical mean value: 77ms ⬇️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.02s 49ms 1.00s 1.43s 1.06s 1.43s
domContentLoaded 713ms 45ms 695ms 1.09s 745ms 1.09s
firstPaint 76ms 15ms 56ms 208ms 84ms 208ms
firstContentfulPaint 76ms 15ms 56ms 208ms 84ms 208ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 68 Bytes (0%)
  • ui: -923 Bytes (-0.01%)
  • common: 1.45 KiB (0.02%)

@github-actions github-actions bot added size-L and removed size-M labels Nov 3, 2025
@metamaskbot
Copy link
Collaborator

Builds ready [8a30e82]
UI Startup Metrics (1272 ± 91 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard HomeuiStartup1272111116129113311435
load109595813428211591241
domContentLoaded108995313298011531226
domInteractive211486121850
firstPaint63989133444210991230
backgroundConnect2302172557234241
firstReactRender30196383744
getState21995122436
initialActions707711721
loadScripts865736108679934999
setupStore1173241120
numNetworkReqs1367620675
BrowserifyPower User HomeuiStartup20651765332842423333328
load1108947187225512771872
domContentLoaded1099941186525412711865
domInteractive281470195670
firstPaint643163146048211121460
backgroundConnect25323039438255394
firstReactRender26233222632
getState18315924821193248
initialActions51266526
loadScripts860716147622310451476
setupStore1091211112
numNetworkReqs15410231584272315
WebpackStandard HomeuiStartup87772612881018961173
load653584102584654917
domContentLoaded644577100981648899
domInteractive16114471535
firstPaint23258944238200896
backgroundConnect2913106193084
firstReactRender29165283540
getState1372541619
initialActions41183510
loadScripts64157599879646887
setupStore1162641318
numNetworkReqs1467920871
WebpackPower User HomeuiStartup13151111182222212941822
load68160991597699915
domContentLoaded66559886787684867
domInteractive231364173664
firstPaint33895870295666870
backgroundConnect65112177094217
firstReactRender26242812728
getState1415716628156166
initialActions30184318
loadScripts66059685684672856
setupStore1062761227
numNetworkReqs1448328470195284
FirefoxBrowserifyStandard HomeuiStartup15501290211612416141793
load1316110915019013761490
domContentLoaded1316110915019013761490
domInteractive1213737255133246
firstPaint------
backgroundConnect56271963360150
firstReactRender27224032833
getState10519219815
initialActions61859515
loadScripts1280108514748713391446
setupStore1575881436
numNetworkReqs1366817764
BrowserifyPower User HomeuiStartup25202217348332926873483
load13981138180319916441803
domContentLoaded13981137180319916431803
domInteractive19786465144416465
firstPaint------
backgroundConnect12631568141152568
firstReactRender40305684856
getState1457519231174192
initialActions12177191677
loadScripts13591115168318216101683
setupStore3281092742109
numNetworkReqs1387232175209321
WebpackStandard HomeuiStartup16411465221212216851918
load1417126916278414641612
domContentLoaded1417126916278414641611
domInteractive1003224029112146
firstPaint------
backgroundConnect50261232356115
firstReactRender312376122972
getState84485815
initialActions51466417
loadScripts1385124015827714321541
setupStore157235231335
numNetworkReqs1366917765
WebpackPower User HomeuiStartup25312073328741230243287
load15291208204927418042049
domContentLoaded15291208204927418032049
domInteractive19379525156370525
firstPaint------
backgroundConnect12129409108224409
firstReactRender36295673756
getState1309120633130206
initialActions1411072911107
loadScripts14871190198825617291988
setupStore2851834322183
numNetworkReqs1386334192224341
📊 Page Load Benchmark Results

Current Commit: 8a30e82 | Date: 11/3/2025

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.01s (±42ms) 🟡 | historical mean value: 1.04s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 699ms (±38ms) 🟢 | historical mean value: 729ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 78ms (±12ms) 🟢 | historical mean value: 77ms ⬆️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.01s 42ms 984ms 1.32s 1.06s 1.32s
domContentLoaded 699ms 38ms 677ms 976ms 732ms 976ms
firstPaint 78ms 12ms 60ms 180ms 92ms 180ms
firstContentfulPaint 78ms 12ms 60ms 180ms 92ms 180ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 68 Bytes (0%)
  • ui: -923 Bytes (-0.01%)
  • common: 1.46 KiB (0.02%)

@pedronfigueiredo pedronfigueiredo force-pushed the pnf/address-confirm-test-warnings branch from 8a30e82 to abbd8bf Compare November 3, 2025 14:33
@pedronfigueiredo pedronfigueiredo requested a review from a team as a code owner November 3, 2025 14:33
@pedronfigueiredo pedronfigueiredo force-pushed the pnf/address-confirm-test-warnings branch from abbd8bf to 7f54bf7 Compare November 3, 2025 14:44
@metamaskbot
Copy link
Collaborator

Builds ready [7f54bf7]
UI Startup Metrics (1217 ± 102 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard HomeuiStartup12171013146010212921390
load104787612249111181169
domContentLoaded104187412119011111160
domInteractive19145481843
firstPaint68981124342010781187
backgroundConnect1891762269194208
firstReactRender31165993746
getState1976092232
initialActions815610728
loadScripts858699102988926976
setupStore1052431216
numNetworkReqs1367620674
BrowserifyPower User HomeuiStartup21071792345647523693456
load1112953180524913291805
domContentLoaded1102945179624913211796
domInteractive301582224482
firstPaint67617114924529951492
backgroundConnect25022730020260300
firstReactRender27243422834
getState18215926526198265
initialActions52122612
loadScripts867719151923510681519
setupStore1191621216
numNetworkReqs15810231782240317
WebpackStandard HomeuiStartup88273913641058931168
load659599110292656945
domContentLoaded652591108389649927
domInteractive16116481536
firstPaint204591086218169896
backgroundConnect271378152871
firstReactRender29186393443
getState1372841622
initialActions31213410
loadScripts648589107287647916
setupStore1252641420
numNetworkReqs1467920872
WebpackPower User HomeuiStartup13741179192826816561928
load70160710221348671022
domContentLoaded684596993123827993
domInteractive221350144050
firstPaint426107884268616884
backgroundConnect802124378131243
firstReactRender26252812628
getState14710916517159165
initialActions402471024
loadScripts679594981120817981
setupStore962241022
numNetworkReqs1669429478264294
FirefoxBrowserifyStandard HomeuiStartup14781271179611615541689
load1265111015108813371432
domContentLoaded1265111015108813371432
domInteractive1233630450133250
firstPaint------
backgroundConnect4525137205289
firstReactRender25215252536
getState10418319821
initialActions51426415
loadScripts1237109214328313021408
setupStore1278091231
numNetworkReqs1266716863
BrowserifyPower User HomeuiStartup27142245351138732303511
load14731252196723617041967
domContentLoaded14731251196723617031967
domInteractive22693635176457635
firstPaint------
backgroundConnect15833522147245522
firstReactRender473395155295
getState16211627448188274
initialActions913991039
loadScripts14221224192322616351923
setupStore5362426480242
numNetworkReqs1406832285225322
WebpackStandard HomeuiStartup16021403222514016171917
load13771181170810514261605
domContentLoaded13771180170710514261604
domInteractive1023331343109178
firstPaint------
backgroundConnect49261442654122
firstReactRender322381153076
getState84304815
initialActions6118719316
loadScripts1348116416259714061555
setupStore13664101238
numNetworkReqs1367017765
WebpackPower User HomeuiStartup25442299317522226613175
load15471308185717716901857
domContentLoaded15461307185617716901856
domInteractive16573502129288502
firstPaint------
backgroundConnect933232673111326
firstReactRender473394145394
getState1568732058195320
initialActions912481824
loadScripts15101287181516816531815
setupStore41111604050160
numNetworkReqs1325423568207235
📊 Page Load Benchmark Results

Current Commit: 7f54bf7 | Date: 11/3/2025

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.04s (±39ms) 🟡 | historical mean value: 1.04s ⬆️ (historical data)
  • domContentLoaded-> current mean value: 728ms (±36ms) 🟢 | historical mean value: 729ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 79ms (±12ms) 🟢 | historical mean value: 77ms ⬆️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.04s 39ms 1.02s 1.32s 1.08s 1.32s
domContentLoaded 728ms 36ms 706ms 982ms 765ms 982ms
firstPaint 79ms 12ms 60ms 176ms 92ms 176ms
firstContentfulPaint 79ms 12ms 60ms 176ms 92ms 176ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 68 Bytes (0%)
  • ui: -939 Bytes (-0.01%)
  • common: 1.46 KiB (0.02%)

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

Labels

no-changelog no-changelog Indicates no external facing user changes, therefore no changelog documentation needed size-L team-confirmations Push issues to confirmations team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants