Skip to content

Conversation

@LeVinhGithub
Copy link
Contributor

@LeVinhGithub LeVinhGithub commented Nov 28, 2025

Description

This PR adds comprehensive E2E test coverage for Shield Claims functionality, including successful claim submission with file attachments and error handling scenarios. The changes include:

  1. Added E2E tests for Shield Claims:

    • Successfully submit shield claim form with file attachment and verify claim details
    • Display error when transaction is not eligible (field error validation)
    • Display error toast when duplicate transaction hash is submitted
  2. Enhanced Page Object Model:

    • Added verifyFieldError() method for inline field error verification
    • Added verifyToastError() method for toast error message verification
    • Added uploadTestFile() method for file upload functionality
    • Added verifyFileUploaded() method for file upload verification
    • Organized selectors alphabetically for better maintainability
  3. Improved Mock Service:

    • Extended ShieldMockttpService to support error scenarios (E102: TRANSACTION_NOT_ELIGIBLE, E203: DUPLICATE_CLAIM_EXISTS)
    • Added claimErrorCode override parameter for flexible error testing
  4. UI Enhancement:

    • Added data-testid="shield-claim-impacted-tx-hash-error" to transaction hash error field for better testability
  5. Test Data:

    • Created reusable test PDF file (test/e2e/test-data/test-document.pdf) for file upload scenarios

Motivation: These tests ensure critical Shield Claims functionality works correctly, including form validation, error handling, and file upload capabilities. This improves test coverage and helps prevent regressions in the claims submission flow.

Open in GitHub Codespaces

Changelog

CHANGELOG entry: null

(This is a test-only change and does not affect end-user functionality)

Related issues

Fixes:

Manual testing steps

  1. Navigate to Settings > Security & Privacy > Transaction Shield
  2. Click "Submit Case" button
  3. Fill in the claim form with valid data:
    • Email address
    • Reimbursement wallet address
    • Select impacted wallet (Account 1)
    • Select network (Mainnet)
    • Enter impacted transaction hash
    • Enter description
    • Upload a PDF file (test-document.pdf)
  4. Click "Submit" button
  5. Verify success toast message appears
  6. Verify claim appears in claims list with "Created" status
  7. Click on the claim to view details
  8. Verify all claim data is displayed correctly including uploaded file

Error Scenarios Testing:

  1. Transaction Not Eligible Error:

    • Submit a claim with a transaction hash that is not eligible
    • Verify error message appears on the transaction hash field: "This transaction is not done within MetaMask, hence it is not eligible for claims"
  2. Duplicate Claim Error:

    • Submit a claim with a transaction hash that already exists
    • Verify error toast appears: "A claim has already been submitted for this transaction hash."

Screenshots/Recordings

Before

No E2E tests existed for Shield Claims error scenarios

After

E2E tests now cover:

  • ✅ Successful claim submission with file upload
  • ✅ Transaction not eligible error (field validation)
  • ✅ Duplicate transaction hash error (toast notification)
  • ✅ Claim details verification in view mode

Pre-merge author checklist

  • I've followed MetaMask Contributor Docs and MetaMask Extension Coding Standards.

  • I've completed the PR template to the best of my ability

  • I've included tests if applicable

    • Added 3 new E2E test cases for Shield Claims
    • Enhanced page object methods for error verification
    • Extended mock service for error scenario support
  • I've documented my code using JSDoc format if applicable

    • All new page object methods include JSDoc comments
    • Test methods are self-documenting with descriptive names
  • I've applied the right labels on the PR (see labeling guidelines). Not required for external contributors.

    • Suggested labels: test, e2e, shield, enhancement

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 E2E tests for Shield Claims (success with attachment, in-field and toast errors) and supporting mock, page object, and UI test-id updates.

  • E2E Tests (Shield Claims):
    • Add scenarios: successful claim submission with file upload and details verification; ineligible transaction inline error (E102); duplicate hash toast error (E203).
    • Integrate into test/e2e/tests/shield/shield-subscription-management.spec.ts.
  • Mocks:
    • Extend ShieldMockttpService to accept claimErrorCode override and return mapped errors in #handleSubmitClaim (E102, E203) or success; propagate override in setup.
  • Page Objects:
    • Enhance ShieldClaimPage with file upload helpers (uploadTestFile, verifyFileUploaded), error verifiers (verifyFieldError, verifyToastError), and optional uploadTestFile in fillForm.
    • Add/select new test IDs (e.g., file-uploader-input, claim-submit-toast-error, shield-claim-impacted-tx-hash-error).
  • UI:
    • Add data-testid="shield-claim-impacted-tx-hash-error" to impacted tx hash error help text in claims-form.tsx.
  • Test Data:
    • Add test/e2e/test-data/test-document.pdf.
  • Fixtures/Constants:
    • Include attachment metadata in MOCK_CLAIM_2 for view-mode verification.

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

@LeVinhGithub LeVinhGithub requested review from a team as code owners November 28, 2025 10:42
@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-qa QA team label Nov 28, 2025
@LeVinhGithub LeVinhGithub added the no-changelog no-changelog Indicates no external facing user changes, therefore no changelog documentation needed label Nov 28, 2025
@LeVinhGithub LeVinhGithub self-assigned this Nov 28, 2025
@metamaskbot
Copy link
Collaborator

✨ Files requiring CODEOWNER review ✨

🧪 @MetaMask/qa (1 files, +74 -7)
  • 📁 test/
    • 📁 e2e/
      • 📁 page-objects/
        • 📁 pages/
          • 📁 settings/
            • 📁 shield/
              • 📄 shield-claim-page.ts +74 -7

🔐 @MetaMask/web3auth (1 files, +5 -1)
  • 📁 ui/
    • 📁 pages/
      • 📁 settings/
        • 📁 transaction-shield-tab/
          • 📁 claims-form/
            • 📄 claims-form.tsx +5 -1

@metamaskbot
Copy link
Collaborator

Builds ready [024bae7]
UI Startup Metrics (1215 ± 108 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard HomeuiStartup12151013161510812891386
load102085513749610601185
domContentLoaded101485113539410531177
domInteractive251598192076
firstPaint4668213823789531122
backgroundConnect21519625713222243
firstReactRender312066113457
getState3816147224199
initialActions106112
loadScripts805650112592848961
setupStore1173051223
numNetworkReqs1257720572
BrowserifyPower User HomeuiStartup20691631324026322442562
load1004880167314410151412
domContentLoaded988874166514410001402
domInteractive34171322534114
firstPaint6559514603939601269
backgroundConnect23319762665228269
firstReactRender62411211766108
getState20915168195207274
initialActions104112
loadScripts78666514611427841200
setupStore1877092134
numNetworkReqs1406939473191282
WebpackStandard HomeuiStartup804687103877827979
load62355784166641795
domContentLoaded61855383666636788
domInteractive251498202084
firstPaint22691681154221610
backgroundConnect1053761226
firstReactRender272096103038
getState261358103346
initialActions104111
loadScripts61555182664634779
setupStore1063241220
numNetworkReqs1257821576
WebpackPower User HomeuiStartup16991297244126519662168
load6855891073102687976
domContentLoaded6755831067102676969
domInteractive37171623434139
firstPaint270991035190271678
backgroundConnect94759418021585
firstReactRender6245100106879
getState18714069387184226
initialActions105112
loadScripts6725811057101674959
setupStore21661112447
numNetworkReqs1666941277208389
FirefoxBrowserifyStandard HomeuiStartup12811066172014413421595
load105592313409111131256
domContentLoaded105592113409111131255
domInteractive66331733285132
firstPaint------
backgroundConnect43222143046111
firstReactRender22174862336
getState147159191038
initialActions102022
loadScripts102790712968510711196
setupStore11512112920
numNetworkReqs1256918763
BrowserifyPower User HomeuiStartup26051970487949927263705
load1180970258320911721570
domContentLoaded1180963258220911711569
domInteractive12334574111112467
firstPaint------
backgroundConnect116251177149110320
firstReactRender65371412266116
getState295731086233412811
initialActions214123
loadScripts1140951164315111441502
setupStore14915872201138705
numNetworkReqs101583266580239
WebpackStandard HomeuiStartup15301279202713216041777
load1261108015279113121441
domContentLoaded1260108015269113111441
domInteractive72231573399120
firstPaint------
backgroundConnect48181572749119
firstReactRender2920162152937
getState167171231448
initialActions1111122
loadScripts1231106214538412861375
setupStore13692141148
numNetworkReqs1256916762
WebpackPower User HomeuiStartup30392166557871030884863
load15001060341241015622716
domContentLoaded15001060341241015622716
domInteractive11529526116104444
firstPaint------
backgroundConnect1752913972331661022
firstReactRender74443144076136
getState283771277228365707
initialActions2144423
loadScripts14271042274530914472013
setupStore1498770195158678
numNetworkReqs102622526080240
📊 Page Load Benchmark Results

Current Commit: 024bae7 | Date: 11/28/2025

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 985ms (±39ms) 🟢 | historical mean value: 1.04s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 682ms (±36ms) 🟢 | historical mean value: 723ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 75ms (±12ms) 🟢 | historical mean value: 78ms ⬇️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 985ms 39ms 961ms 1.27s 1.00s 1.27s
domContentLoaded 682ms 36ms 662ms 952ms 699ms 952ms
firstPaint 75ms 12ms 64ms 184ms 84ms 184ms
firstContentfulPaint 75ms 12ms 64ms 184ms 84ms 184ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 58 Bytes (0%)
  • ui: 52 Bytes (0%)
  • common: 20 Bytes (0%)

@metamaskbot
Copy link
Collaborator

Builds ready [af4d75f]
UI Startup Metrics (1229 ± 107 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard HomeuiStartup12291022159110713021401
load103386313728910981190
domContentLoaded102786013688810821174
domInteractive261497202282
firstPaint52391124040910111178
backgroundConnect21919327214226245
firstReactRender312066113359
getState3416100154065
initialActions107114
loadScripts814651115086869965
setupStore1166361220
numNetworkReqs1257820573
BrowserifyPower User HomeuiStartup20641688301527722902654
load1018884165714710061389
domContentLoaded100287915921459881381
domInteractive35171773032120
firstPaint54111113963849481321
backgroundConnect24419975994224518
firstReactRender5840106136292
getState19312867887196273
initialActions103112
loadScripts79867313781447831177
setupStore1984262331
numNetworkReqs1216637466126316
WebpackStandard HomeuiStartup8266931144888511016
load63855886773657816
domContentLoaded63455486172651810
domInteractive2614114212389
firstPaint20692801135194612
backgroundConnect1053761026
firstReactRender2920122113340
getState2613102133247
initialActions102111
loadScripts63155285370649807
setupStore1062131317
numNetworkReqs1257821576
WebpackPower User HomeuiStartup15841266259727915992090
load674593112899673935
domContentLoaded6645861121100659930
domInteractive37181653432146
firstPaint25788868173250669
backgroundConnect49774513718570
firstReactRender58469876371
getState17513523815183200
initialActions103112
loadScripts661584111198657922
setupStore1975082240
numNetworkReqs1766742083218411
FirefoxBrowserifyStandard HomeuiStartup13241108186714813981658
load108994513939111361274
domContentLoaded108894513939111351274
domInteractive70351883194121
firstPaint------
backgroundConnect47221603059110
firstReactRender24186072538
getState13798131126
initialActions103122
loadScripts105992813468211011216
setupStore156139191135
numNetworkReqs1257017663
BrowserifyPower User HomeuiStartup26272099423635927613498
load12131050178415712271608
domContentLoaded12121050178415712261608
domInteractive13441575120121498
firstPaint------
backgroundConnect1182852388121329
firstReactRender6342154166597
getState24069880176249711
initialActions208126
loadScripts11811021173415211891549
setupStore20015781209322656
numNetworkReqs102623206680246
WebpackStandard HomeuiStartup15871314312821616781856
load12981108282718113441469
domContentLoaded12971108282718113441469
domInteractive71281343297124
firstPaint------
backgroundConnect51181592955107
firstReactRender3022137133042
getState216201361583
initialActions103123
loadScripts12691093276617513091408
setupStore14678131237
numNetworkReqs1256816759
WebpackPower User HomeuiStartup30322126801791632734664
load15301173626566615722834
domContentLoaded15301173626566615722834
domInteractive14830439344096461
firstPaint------
backgroundConnect167271270228155842
firstReactRender66371823065145
getState299621847284392805
initialActions2031323
loadScripts14561082624262614232723
setupStore1796756219226743
numNetworkReqs97582465580233
📊 Page Load Benchmark Results

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

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.03s (±50ms) 🟡 | historical mean value: 1.05s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 721ms (±69ms) 🟢 | historical mean value: 727ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 89ms (±134ms) 🟢 | historical mean value: 78ms ⬆️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.03s 50ms 1.01s 1.42s 1.06s 1.42s
domContentLoaded 721ms 69ms 697ms 1.35s 742ms 1.35s
firstPaint 89ms 134ms 60ms 1.42s 84ms 1.42s
firstContentfulPaint 89ms 134ms 60ms 1.42s 84ms 1.42s
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 58 Bytes (0%)
  • ui: 52 Bytes (0%)
  • common: 20 Bytes (0%)

@metamaskbot
Copy link
Collaborator

Builds ready [da9c524]
UI Startup Metrics (1216 ± 98 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard HomeuiStartup1216103215859812781388
load101886013818810571190
domContentLoaded101285713658610521180
domInteractive2515128212082
firstPaint5109412653899851126
backgroundConnect21019324610215230
firstReactRender33205794152
getState3516122164062
initialActions108113
loadScripts808660113584845979
setupStore1273151421
numNetworkReqs1257720571
BrowserifyPower User HomeuiStartup20891706335828523062619
load1013876169313810071374
domContentLoaded99887216861369911352
domInteractive36172133134112
firstPaint5468913994049771342
backgroundConnect24220384799228459
firstReactRender5844110126183
getState17912924024194225
initialActions105112
loadScripts79367414511337861140
setupStore2075882539
numNetworkReqs1706942480208378
WebpackStandard HomeuiStartup8307001036788631006
load64656786371681814
domContentLoaded64156385871678808
domInteractive27151182522102
firstPaint24572795173224667
backgroundConnect96284915
firstReactRender27204663040
getState261271113443
initialActions104112
loadScripts63856184969676800
setupStore1053641217
numNetworkReqs1257820572
WebpackPower User HomeuiStartup16021267236025317642093
load6795831155102679937
domContentLoaded6695771148103664932
domInteractive35171572732112
firstPaint255106974170249669
backgroundConnect55763814017560
firstReactRender60468286572
getState17013221416178210
initialActions103112
loadScripts6665751139101662923
setupStore21755122348
numNetworkReqs1686843482218405
FirefoxBrowserifyStandard HomeuiStartup13011077176815113891621
load1076929145311211301338
domContentLoaded1075929145311211301337
domInteractive63311493284134
firstPaint------
backgroundConnect4622346404799
firstReactRender25185482546
getState147187211142
initialActions103112
loadScripts104691114009710991249
setupStore146102161141
numNetworkReqs1256616661
BrowserifyPower User HomeuiStartup26511916435445827873855
load12411060250325212701634
domContentLoaded12411060250325212701634
domInteractive12733600113113396
firstPaint------
backgroundConnect1133550970136226
firstReactRender5738114146199
getState28865949199386720
initialActions218123
loadScripts12001028237423012191590
setupStore1508835176157590
numNetworkReqs97613245692234
WebpackStandard HomeuiStartup15001272202714715671833
load1241108415069612851431
domContentLoaded1241108415059612851431
domInteractive60252153782130
firstPaint------
backgroundConnect52191973461116
firstReactRender26204252837
getState167137211475
initialActions103122
loadScripts1211106914788712611379
setupStore136103131138
numNetworkReqs1256617763
WebpackPower User HomeuiStartup30282120600478930744844
load14841145295442314492766
domContentLoaded14831145295342314492766
domInteractive1073150297101380
firstPaint------
backgroundConnect1853013512761481064
firstReactRender74423825073154
getState330721240277525900
initialActions208227
loadScripts13881124252326614261810
setupStore15971154225159659
numNetworkReqs99612525881242
📊 Page Load Benchmark Results

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

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.04s (±97ms) 🟡 | historical mean value: 1.04s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 727ms (±122ms) 🟢 | historical mean value: 724ms ⬆️ (historical data)
  • firstContentfulPaint-> current mean value: 86ms (±104ms) 🟢 | historical mean value: 79ms ⬆️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.04s 97ms 1.01s 1.96s 1.08s 1.96s
domContentLoaded 727ms 122ms 697ms 1.91s 741ms 1.91s
firstPaint 86ms 104ms 56ms 1.12s 84ms 1.12s
firstContentfulPaint 86ms 104ms 56ms 1.12s 84ms 1.12s
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 58 Bytes (0%)
  • ui: 52 Bytes (0%)
  • common: 20 Bytes (0%)

@metamaskbot
Copy link
Collaborator

Builds ready [c75b833]
UI Startup Metrics (1268 ± 122 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard HomeuiStartup12681025166612213441449
load1061867136610411221227
domContentLoaded1056864136010311151219
domInteractive2715111212386
firstPaint51585135841910321223
backgroundConnect21819925211222242
firstReactRender312064103354
getState3816190244082
initialActions105112
loadScripts8436671124998971006
setupStore1273351424
numNetworkReqs1257720573
BrowserifyPower User HomeuiStartup20231692273322320712550
load1027914145512310171373
domContentLoaded1014906143912310031361
domInteractive32171372331103
firstPaint67211514553989851390
backgroundConnect255206717106232566
firstReactRender5738112156188
getState19613471277202250
initialActions106113
loadScripts80569612201217971142
setupStore191173102142
numNetworkReqs1506742480198375
WebpackStandard HomeuiStartup828707104874865975
load64356183068671797
domContentLoaded63855782468665790
domInteractive261596212291
firstPaint23984833174212653
backgroundConnect1063751019
firstReactRender2920114113339
getState271381123447
initialActions102112
loadScripts63555581266663783
setupStore1163151318
numNetworkReqs1257620571
WebpackPower User HomeuiStartup16641252230227619312225
load6905851041102690963
domContentLoaded6795771035102677958
domInteractive39181663437143
firstPaint28594912182290682
backgroundConnect47761612219408
firstReactRender63498986981
getState1899967873193227
initialActions107112
loadScripts6765751026101675949
setupStore23967132650
numNetworkReqs1736342786218414
FirefoxBrowserifyStandard HomeuiStartup12801073166013313751565
load1058916137810311281268
domContentLoaded1057916137710311281268
domInteractive56311763482121
firstPaint------
backgroundConnect40211732540106
firstReactRender23185262436
getState136158181122
initialActions102012
loadScripts103389913539411041245
setupStore115108111121
numNetworkReqs1156816759
BrowserifyPower User HomeuiStartup26821991482149927933772
load1205992167015812541560
domContentLoaded1204992167015812541560
domInteractive12236483104116442
firstPaint------
backgroundConnect120261052125115333
firstReactRender6339233246696
getState30634936200397767
initialActions208126
loadScripts1166973159815112071531
setupStore15815771183165674
numNetworkReqs100613166186243
WebpackStandard HomeuiStartup15111314215415215821811
load12351079163610212981412
domContentLoaded12351079163610212971411
domInteractive65262293782139
firstPaint------
backgroundConnect51211853163119
firstReactRender29218693140
getState147128151445
initialActions103122
loadScripts1206106416079312671357
setupStore155103161457
numNetworkReqs1156516764
WebpackPower User HomeuiStartup29402254511566030004695
load14351165306632914302167
domContentLoaded14351165306632914302167
domInteractive10927499100107416
firstPaint------
backgroundConnect150291050191139439
firstReactRender61411211765103
getState27656899218347833
initialActions208123
loadScripts13811147291326213971834
setupStore15451089215156674
numNetworkReqs986024351122235
📊 Page Load Benchmark Results

Current Commit: c75b833 | Date: 12/1/2025

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.03s (±42ms) 🟡 | historical mean value: 1.04s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 718ms (±61ms) 🟢 | historical mean value: 724ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 87ms (±126ms) 🟢 | historical mean value: 81ms ⬆️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.03s 42ms 1.00s 1.34s 1.05s 1.34s
domContentLoaded 718ms 61ms 696ms 1.28s 733ms 1.28s
firstPaint 87ms 126ms 60ms 1.34s 84ms 1.34s
firstContentfulPaint 87ms 126ms 60ms 1.34s 84ms 1.34s
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 58 Bytes (0%)
  • ui: 52 Bytes (0%)
  • common: 20 Bytes (0%)

@metamaskbot
Copy link
Collaborator

Builds ready [babe575]
UI Startup Metrics (1253 ± 113 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard HomeuiStartup12531056171111313231446
load103985913649811011234
domContentLoaded103285413519710951211
domInteractive2616126202282
firstPaint4537513583819481143
backgroundConnect22119625913228246
firstReactRender29206793247
getState3816155244395
initialActions104112
loadScripts818662113093876990
setupStore1274961324
numNetworkReqs1257720572
BrowserifyPower User HomeuiStartup20921749281726322412641
load1023901154613710301394
domContentLoaded1010891152413810141386
domInteractive34181292632109
firstPaint5089015533869521242
backgroundConnect252204751102229514
firstReactRender5840113146294
getState20113472993208274
initialActions107112
loadScripts80068112951368061179
setupStore21107092442
numNetworkReqs1266843071132278
WebpackStandard HomeuiStartup8277021264878511013
load64156895777684823
domContentLoaded63756494776679811
domInteractive2816124232397
firstPaint23599824174205632
backgroundConnect1058910927
firstReactRender27204153137
getState271376113447
initialActions102111
loadScripts63456293875677803
setupStore1173441320
numNetworkReqs1257820573
WebpackPower User HomeuiStartup16331272278329919122193
load6845841398114686951
domContentLoaded6745791389115677944
domInteractive39172263636138
firstPaint268981413196250653
backgroundConnect3377151021736
firstReactRender60458486576
getState18013266452182215
initialActions102011
loadScripts6725771379113674936
setupStore21959122552
numNetworkReqs1766944182216412
FirefoxBrowserifyStandard HomeuiStartup13231099176213914251558
load109292814159211541243
domContentLoaded109192814159211491242
domInteractive61311793385119
firstPaint------
backgroundConnect47222663746124
firstReactRender23185052435
getState126129131118
initialActions102122
loadScripts106591213788211171212
setupStore1164371029
numNetworkReqs1157316662
BrowserifyPower User HomeuiStartup26641973512558827574229
load1229950296032611951666
domContentLoaded1229949296032611951665
domInteractive11434660104108382
firstPaint------
backgroundConnect131281163164127405
firstReactRender59351341960104
getState28655888220377777
initialActions2031323
loadScripts1182932277327411581593
setupStore14010746174142698
numNetworkReqs99572465881238
WebpackStandard HomeuiStartup15451329214514916321791
load1267110916749213101445
domContentLoaded1266110916749213101445
domInteractive71321453296132
firstPaint------
backgroundConnect47201923345103
firstReactRender29226783241
getState145148201339
initialActions2033323
loadScripts1238109315737712811372
setupStore196243281468
numNetworkReqs1256817763
WebpackPower User HomeuiStartup29372280487265731024535
load14891180308142815622594
domContentLoaded14891180308142915602594
domInteractive1083146610299431
firstPaint------
backgroundConnect1632912772451441026
firstReactRender69372203268146
getState265651026211275750
initialActions218123
loadScripts14011162292233414102433
setupStore1716831215177662
numNetworkReqs102632486182239
📊 Page Load Benchmark Results

Current Commit: babe575 | Date: 12/1/2025

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.04s (±56ms) 🟡 | historical mean value: 1.04s ⬆️ (historical data)
  • domContentLoaded-> current mean value: 727ms (±53ms) 🟢 | historical mean value: 723ms ⬆️ (historical data)
  • firstContentfulPaint-> current mean value: 75ms (±12ms) 🟢 | historical mean value: 78ms ⬇️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.04s 56ms 1.01s 1.36s 1.11s 1.36s
domContentLoaded 727ms 53ms 702ms 1.03s 779ms 1.03s
firstPaint 75ms 12ms 56ms 176ms 88ms 176ms
firstContentfulPaint 75ms 12ms 56ms 176ms 88ms 176ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 58 Bytes (0%)
  • ui: 52 Bytes (0%)
  • common: 20 Bytes (0%)

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-M team-qa QA team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants