Skip to content

test: remove withSolanaAccountSnap as we have default Multichain support in all our e2e#40327

Merged
seaona merged 15 commits intomainfrom
refactor-withsolanaaccount
Feb 26, 2026
Merged

test: remove withSolanaAccountSnap as we have default Multichain support in all our e2e#40327
seaona merged 15 commits intomainfrom
refactor-withsolanaaccount

Conversation

@seaona
Copy link
Copy Markdown
Member

@seaona seaona commented Feb 23, 2026

Description

This PR removes the withSolanaAccountSnap method, as we have default Multichain support in all our e2e, so we don't need the duplicated setup of feature flags etc (which is already set by default).
All specs start the wallet with multichain accounts, meaning this method is now obsolete/missleading/duplicated.

Instead of withSolanaAccountSnap we can use withFixtures out of the box.

This simplifies test setup and makes the tests also easier to debug and maintain.
Additional changes:

  • whenever it was possible, used FixtureBuilderV2 instead of the legacy one (see data below)
  • removed dead code

Note: e2e quality gate is disabled due to the number of specs changed, causing the ci to timeout due to extra test runs.

Open in GitHub Codespaces

Changelog

CHANGELOG entry:

Related issues

Fixes:

Manual testing steps

  1. All ci tests should continue to pass

Screenshots/Recordings

Before

This data is for the migration of V2 fixtures (before and after):

image

After

image

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

Medium Risk
Broad test-harness refactor touching many E2E specs and mocks; risk is primarily increased CI flakiness or missing setup (login/network/account) causing false failures rather than production impact.

Overview
Removes the bespoke Solana E2E harness withSolanaAccountSnap in favor of using withFixtures directly across Solana/multichain specs, updating tests to explicitly log in, switch to Solana where needed, and pass fixtures/dappOptions/testSpecificMock per scenario.

Refactors Solana test mocking by introducing buildSolanaTestSpecificMock (and SolanaMockOptions) plus a more flexible mockSolanaBalanceQuote signature, and updates affected swap/SPL/tx tests accordingly. Adds a reusable addAccount flow for creating/switching multichain accounts, extends FixtureBuilderV2 with withShowNativeTokenAsMainBalanceDisabled, and tweaks HomePage.checkPageIsLoaded to wait on the balance section rather than the send button.

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

@metamaskbot metamaskbot added the team-qa QA team label Feb 23, 2026
@seaona seaona added skip-e2e-quality-gate no-changelog no-changelog Indicates no external facing user changes, therefore no changelog documentation needed e2e-maintenance and removed team-qa QA team labels Feb 23, 2026
@seaona seaona self-assigned this Feb 23, 2026
@metamaskbotv2
Copy link
Copy Markdown
Contributor

metamaskbotv2 bot commented Feb 23, 2026

✨ Files requiring CODEOWNER review ✨

🫰 @MetaMask/core-platform (1 files, +11 -4)
  • 📁 test/
    • 📁 e2e/
      • 📁 flask/
        • 📁 snaps/
          • 📄 test-snap-protocol.spec.ts +11 -4

🧪 @MetaMask/qa (2 files, +40 -1)
  • 📁 test/
    • 📁 e2e/
      • 📁 page-objects/
        • 📁 flows/
          • 📄 add-account.flow.ts +37 -0
        • 📁 pages/
          • 📁 home/
            • 📄 homepage.ts +3 -1

👨‍🔧 @MetaMask/wallet-integrations (2 files, +38 -23)
  • 📁 test/
    • 📁 e2e/
      • 📁 flask/
        • 📁 multichain-api/
          • 📁 non-evm/
            • 📄 wallet_createSession.spec.ts +17 -10
            • 📄 wallet_invokeMethod.spec.ts +21 -13

@metamaskbotv2
Copy link
Copy Markdown
Contributor

metamaskbotv2 bot commented Feb 23, 2026

Builds ready [c4700df]
⚡ Performance Benchmarks (1353 ± 98 ms)
👆 Interaction Benchmarks
ActionMetricMean (ms)Std Dev (ms)P75 (ms)P95 (ms)
Load New Accountload_new_account2646271271
total2646271271
Confirm Txconfirm_tx6033260366036
total6033260366036
Bridge User Actionsbridge_load_page1998204210
bridge_load_asset_picker19111197209
bridge_search_token6911691693
total10731210751092
🔌 Startup Benchmarks
BuildMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
Chrome Browserify Startup Standard HomeuiStartup1353115815939813941536
load113995313348711871308
domContentLoaded113194713268611811300
domInteractive251596192180
firstPaint195601205167211282
backgroundConnect20218624310205220
firstReactRender17124941825
initialActions104113
loadScripts9467591138869991116
setupStore1275161318
numNetworkReqs312297212290
Chrome Browserify Startup Power User HomeuiStartup19941387870996718853580
load11581021180114711671484
domContentLoaded11431013172914111541473
domInteractive3518188273571
firstPaint232702372232265309
backgroundConnect42527235854563291192
firstReactRender25175382841
initialActions105112
loadScripts92579414911399401259
setupStore1563661831
numNetworkReqs64351492669129
Chrome Webpack Startup Standard HomeuiStartup8556941307998991056
load731615113689788859
domContentLoaded725610112788782851
domInteractive271588192377
firstPaint1116242260136201
backgroundConnect26194362938
firstReactRender17123652027
initialActions103112
loadScripts723609111987780844
setupStore1153251320
numNetworkReqs3122101212588
Chrome Webpack Startup Power User HomeuiStartup1235944255221113151646
load71261511181067031006
domContentLoaded7036081105106692999
domInteractive35181542732108
firstPaint1356357788146297
backgroundConnect17512850958171311
firstReactRender22173432428
initialActions102011
loadScripts7006061087104690989
setupStore1364561418
numNetworkReqs1133627055149220
Firefox Browserify Startup Standard HomeuiStartup16321361286723816592108
load13781166264620614171645
domContentLoaded13771161264620714171645
domInteractive8027137213587140
firstPaint------
backgroundConnect57272772961100
firstReactRender13111911415
initialActions103112
loadScripts13511151262420113921599
setupStore176186241536
numNetworkReqs3220100212793
Firefox Browserify Startup Power User HomeuiStartup27832008415741529263588
load15951339248526816242203
domContentLoaded15951339248526816182203
domInteractive14035776133131440
firstPaint------
backgroundConnect3131101011253374916
firstReactRender201465101926
initialActions213122
loadScripts15551316246125815822154
setupStore1327815188127603
numNetworkReqs68291593587142
Firefox Webpack Startup Standard HomeuiStartup18141464336932618152130
load15041247297622615131662
domContentLoaded15041247297622615131662
domInteractive124301607159133232
firstPaint------
backgroundConnect66282353174122
firstReactRender17122631824
initialActions103122
loadScripts14791226295922714911640
setupStore37614191422157
numNetworkReqs312091172777
Firefox Webpack Startup Power User HomeuiStartup27952083577549129573630
load16391315426037417112151
domContentLoaded16381315426037417102151
domInteractive15932836157160586
firstPaint------
backgroundConnect3291171370270357983
firstReactRender22166362530
initialActions203123
loadScripts15951286422336016652049
setupStore16710691187203567
numNetworkReqs75302273897143
🧭 User Journey Benchmarks
BenchmarkMetricMean (ms)Std Dev (ms)P75 (ms)P95 (ms)
Onboarding Import WalletimportWalletToSocialScreen2191219220
srpButtonToSrpForm9319393
confirmSrpToPwForm2112222
pwFormToMetricsScreen1501515
metricsToWalletReadyScreen1611717
doneButtonToHomeScreen63269599752
openAccountMenuToAccountListLoaded78582878587901
total88537888658976
Onboarding New WalletcreateWalletToSocialScreen2215225228
srpButtonToPwForm1041105107
createPwToRecoveryScreen8088
skipBackupToMetricsScreen3413435
agreeButtonToOnboardingSuccess1611717
doneButtonToAssetList7492008681026
total113420212581412
Asset DetailsassetClickToPriceChart49125471
total49125471
Solana Asset DetailsassetClickToPriceChart4945253
total4945253
Import Srp HomeloginToHomeScreen20256020692087
openAccountMenuAfterLogin5125254
homeAfterImportWithNewWallet290323831543223
total503022051395344
Send TransactionsopenSendPageFromHome27103939
selectTokenToSendFormLoaded1901919
reviewTransactionToConfirmationPage8564857861
total90511912919
SwapopenSwapPageFromHome1177121126
fetchAndDisplaySwapQuotes46617347294735
total47777848424861
🌐 Dapp Page Load Benchmarks

Current Commit: c4700df | Date: 2/23/2026

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.06s (±47ms) 🟡 | historical mean value: 1.04s ⬆️ (historical data)
  • domContentLoaded-> current mean value: 747ms (±61ms) 🟢 | historical mean value: 727ms ⬆️ (historical data)
  • firstContentfulPaint-> current mean value: 91ms (±128ms) 🟢 | historical mean value: 80ms ⬆️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.06s 47ms 1.04s 1.44s 1.08s 1.44s
domContentLoaded 747ms 61ms 719ms 1.30s 758ms 1.30s
firstPaint 91ms 128ms 64ms 1.36s 88ms 1.36s
firstContentfulPaint 91ms 128ms 64ms 1.36s 88ms 1.36s
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs
  • background: 58 Bytes (0%)
  • ui: 5 Bytes (0%)
  • common: 20 Bytes (0%)

@metamaskbotv2
Copy link
Copy Markdown
Contributor

metamaskbotv2 bot commented Feb 23, 2026

Builds ready [f67bab3]
⚡ Performance Benchmarks (1394 ± 109 ms)
👆 Interaction Benchmarks
ActionMetricMean (ms)Std Dev (ms)P75 (ms)P95 (ms)
Load New Accountload_new_account29018298312
total29018298312
Confirm Txconfirm_tx6054260536056
total6054260536056
Bridge User Actionsbridge_load_page27715286297
bridge_load_asset_picker22034232271
bridge_search_token73830756790
total12175812501285
🔌 Startup Benchmarks
BuildMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
Chrome Browserify Startup Standard HomeuiStartup13941165165410914731585
load1191984140510212661371
domContentLoaded1184977140010112591360
domInteractive2716115202481
firstPaint1426836772198251
backgroundConnect20218624110205226
firstReactRender18133342026
initialActions108112
loadScripts998791121110110781173
setupStore1364261524
numNetworkReqs312291192585
Chrome Browserify Startup Power User HomeuiStartup2437140710649169221844502
load11801016163413412191518
domContentLoaded11641008162513412011510
domInteractive3519169263395
firstPaint209821556162264351
backgroundConnect840255879814953432667
firstReactRender24155272538
initialActions104112
loadScripts95881014231299891268
setupStore1675491833
numNetworkReqs72351632781128
Chrome Webpack Startup Standard HomeuiStartup87267511581079391074
load75160092794823892
domContentLoaded74559792293812887
domInteractive2815107212485
firstPaint1206137466152227
backgroundConnect26187882740
firstReactRender18124171934
initialActions103112
loadScripts74159592092810885
setupStore1174551224
numNetworkReqs322290202586
Chrome Webpack Startup Power User HomeuiStartup1229929241828012931775
load721626106996731969
domContentLoaded710621105797719962
domInteractive3518122213490
firstPaint1586268698212322
backgroundConnect187145951112169298
firstReactRender22174942428
initialActions102011
loadScripts707619104595716955
setupStore1244661417
numNetworkReqs1244523940146190
Firefox Browserify Startup Standard HomeuiStartup16881424282022917162081
load14241195256720214691668
domContentLoaded14221195256620314691667
domInteractive923087899106169
firstPaint------
backgroundConnect5931149196490
firstReactRender14112011416
initialActions102022
loadScripts13961174246019514431627
setupStore217293361639
numNetworkReqs311999202787
Firefox Browserify Startup Power User HomeuiStartup27792079674750029363298
load16121317543142716881934
domContentLoaded16111316543142716871934
domInteractive15136521117154398
firstPaint------
backgroundConnect3051131197225371782
firstReactRender18147471922
initialActions207122
loadScripts15771294540142516501908
setupStore1089689146107468
numNetworkReqs72272104087160
Firefox Webpack Startup Standard HomeuiStartup17651483332731817662096
load14781274297125414821586
domContentLoaded14771274297025414821585
domInteractive953022640131158
firstPaint------
backgroundConnect63241943368138
firstReactRender17136571624
initialActions107122
loadScripts14531252293725214571542
setupStore227185291782
numNetworkReqs312097172768
Firefox Webpack Startup Power User HomeuiStartup27532086617549528803545
load15931311483340116352089
domContentLoaded15931305483340116352089
domInteractive14232775143150394
firstPaint------
backgroundConnect3571093494410398906
firstReactRender21158172329
initialActions203122
loadScripts15231287256821916062003
setupStore17510752185230586
numNetworkReqs69292254086145
🧭 User Journey Benchmarks
BenchmarkMetricMean (ms)Std Dev (ms)P75 (ms)P95 (ms)
Onboarding Import WalletimportWalletToSocialScreen2192221222
srpButtonToSrpForm9529597
confirmSrpToPwForm2212323
pwFormToMetricsScreen1601616
metricsToWalletReadyScreen1701717
doneButtonToHomeScreen127111112801420
openAccountMenuToAccountListLoaded711910172627262
total881914388359047
Onboarding New WalletcreateWalletToSocialScreen2245228230
srpButtonToPwForm1012102105
createPwToRecoveryScreen8088
skipBackupToMetricsScreen3413535
agreeButtonToOnboardingSuccess1501515
doneButtonToAssetList62011629629
total9981410141014
Asset DetailsassetClickToPriceChart60218085
total60218085
Solana Asset DetailsassetClickToPriceChart5926162
total5926162
Import Srp HomeloginToHomeScreen221116422812436
openAccountMenuAfterLogin3633641
homeAfterImportWithNewWallet263433928223205
total48258449344934
Send TransactionsopenSendPageFromHome1701718
selectTokenToSendFormLoaded2102121
reviewTransactionToConfirmationPage8541855855
total8987907907
SwapopenSwapPageFromHome13520141163
fetchAndDisplaySwapQuotes46258445784771
total47309547154881
🌐 Dapp Page Load Benchmarks

Current Commit: f67bab3 | Date: 2/23/2026

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.04s (±61ms) 🟡 | historical mean value: 1.05s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 730ms (±71ms) 🟢 | historical mean value: 729ms ⬆️ (historical data)
  • firstContentfulPaint-> current mean value: 89ms (±125ms) 🟢 | historical mean value: 80ms ⬆️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.04s 61ms 1.01s 1.43s 1.09s 1.43s
domContentLoaded 730ms 71ms 702ms 1.27s 772ms 1.27s
firstPaint 89ms 125ms 56ms 1.34s 84ms 1.34s
firstContentfulPaint 89ms 125ms 56ms 1.34s 84ms 1.34s
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: -204 Bytes (0%)
  • ui: -3 Bytes (0%)
  • common: 3.06 KiB (0.03%)

@seaona seaona changed the title test: refactor withsolanaaccount test: remove withSolanaAccountSnap as we have default Multichain support in all our e2e Feb 23, 2026
@metamaskbotv2
Copy link
Copy Markdown
Contributor

metamaskbotv2 bot commented Feb 23, 2026

Builds ready [c7d5849]
⚡ Performance Benchmarks (1390 ± 92 ms)
👆 Interaction Benchmarks
ActionMetricMean (ms)Std Dev (ms)P75 (ms)P95 (ms)
Load New Accountload_new_account2645265271
total2645265271
Confirm Txconfirm_tx6056560616064
total6056560616064
Bridge User Actionsbridge_load_page24413254258
bridge_load_asset_picker1673171171
bridge_search_token7064708711
total11192111331145
🔌 Startup Benchmarks
BuildMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
Chrome Browserify Startup Standard HomeuiStartup1390118716279214401550
load118599113828212371320
domContentLoaded117798613748212281311
domInteractive2817117202384
firstPaint150651202129204262
backgroundConnect21019128617213239
firstReactRender18135251924
initialActions106114
loadScripts98778511878310371127
setupStore1263141418
numNetworkReqs312289192283
Chrome Browserify Startup Power User HomeuiStartup2977141710368196838818158
load11911003187213312131476
domContentLoaded1172995180612411891420
domInteractive3318184273090
firstPaint222831557226265374
backgroundConnect12382488658174118353473
firstReactRender23154262634
initialActions105112
loadScripts97179016051219881227
setupStore1564471631
numNetworkReqs80331562594116
Chrome Webpack Startup Standard HomeuiStartup85068611221019151073
load72360692989783865
domContentLoaded71760192087779859
domInteractive2715115212381
firstPaint1125840064139212
backgroundConnect28178593143
firstReactRender19124572133
initialActions106112
loadScripts71559991886777856
setupStore1252641221
numNetworkReqs3122100212590
Chrome Webpack Startup Power User HomeuiStartup1296925262727113831728
load76667012831177641022
domContentLoaded75566312721177481014
domInteractive41191472937124
firstPaint1627075799180366
backgroundConnect2071361568189176337
firstReactRender23193632530
initialActions103111
loadScripts75266112631157461006
setupStore1354561519
numNetworkReqs86391792896150
Firefox Browserify Startup Standard HomeuiStartup18121454289525218082417
load15211233231419915332027
domContentLoaded15201233231420015322026
domInteractive1003338161132238
firstPaint------
backgroundConnect71332583568142
firstReactRender15122111517
initialActions106122
loadScripts14901214228419414991945
setupStore238195281956
numNetworkReqs321995202784
Firefox Browserify Startup Power User HomeuiStartup28632100806666829783529
load16471319657158916182188
domContentLoaded16461319657158916182188
domInteractive179451829219170425
firstPaint------
backgroundConnect4031261493291541924
firstReactRender18146761825
initialActions203122
loadScripts16031285653358615902146
setupStore17610750198246586
numNetworkReqs84332113797167
Firefox Webpack Startup Standard HomeuiStartup16701415317824616931977
load14181189287222214491548
domContentLoaded14171188287122214481547
domInteractive893036756127185
firstPaint------
backgroundConnect57242083259103
firstReactRender15122831520
initialActions102112
loadScripts13941168283721914241520
setupStore186139201447
numNetworkReqs301995172772
Firefox Webpack Startup Power User HomeuiStartup27941931612647529663469
load16241301477240516442186
domContentLoaded16241300477240516442185
domInteractive185501001175220573
firstPaint------
backgroundConnect42412714163036061076
firstReactRender21157472229
initialActions204123
loadScripts15791284474240415712164
setupStore15716725182196590
numNetworkReqs84332404881216
🧭 User Journey Benchmarks
BenchmarkMetricMean (ms)Std Dev (ms)P75 (ms)P95 (ms)
Onboarding Import WalletimportWalletToSocialScreen2191220220
srpButtonToSrpForm9419495
confirmSrpToPwForm2212223
pwFormToMetricsScreen1501516
metricsToWalletReadyScreen1611618
doneButtonToHomeScreen87527711911217
openAccountMenuToAccountListLoaded732652876797834
total872010187878849
Onboarding New WalletcreateWalletToSocialScreen2192219223
srpButtonToPwForm1042106106
createPwToRecoveryScreen8088
skipBackupToMetricsScreen3413436
agreeButtonToOnboardingSuccess1511516
doneButtonToAssetList60817607635
total992239831031
Asset DetailsassetClickToPriceChart4173852
total4173852
Solana Asset DetailsassetClickToPriceChart4614647
total4614647
Import Srp HomeloginToHomeScreen18712618921904
openAccountMenuAfterLogin4124243
homeAfterImportWithNewWallet258019627672779
total449517046464669
Send TransactionsopenSendPageFromHome1811719
selectTokenToSendFormLoaded1901919
reviewTransactionToConfirmationPage8483850852
total8968902908
SwapopenSwapPageFromHome1169124126
fetchAndDisplaySwapQuotes4572345724575
total4689946944700
🌐 Dapp Page Load Benchmarks

Current Commit: c7d5849 | Date: 2/23/2026

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.04s (±39ms) 🟡 | historical mean value: 1.05s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 725ms (±36ms) 🟢 | historical mean value: 735ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 78ms (±11ms) 🟢 | historical mean value: 79ms ⬇️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.04s 39ms 1.01s 1.33s 1.06s 1.33s
domContentLoaded 725ms 36ms 697ms 995ms 746ms 995ms
firstPaint 78ms 11ms 60ms 176ms 84ms 176ms
firstContentfulPaint 78ms 11ms 60ms 176ms 84ms 176ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 52.02 KiB (1.2%)
  • ui: -146 Bytes (0%)
  • common: 11.28 KiB (0.1%)

}: {
mockServer: Mockttp;
balance?: number;
}) {
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

ℹ️ instead of having mockZeroBalance as bool, we now accept a balance param, which allows us to customize the balance to any value we want


export const SHOW_SWAP_SNAP_CONFIRMATION = false;

const featureFlags = {
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

this can be removed as not used anywhere

| MockedEndpoint;
};

export async function withSolanaAccountSnap(
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

this was a giant abstraction of test setup+test actions.
This complexity is very much simplified now, by removing duplicated things (as we already have solana/multichain accounts by default), focusing now solely on mocks setup

*/
export const DEFAULT_SOLANA_TEST_DAPP_FIXTURE_OPTIONS = {
dappOptions: {
customDappPaths: [DAPP_PATH.TEST_DAPP_SOLANA],
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

abstraction not needed, we can use the dappOptions like in any other spec

@metamaskbotv2
Copy link
Copy Markdown
Contributor

metamaskbotv2 bot commented Feb 24, 2026

Builds ready [795209e]
⚡ Performance Benchmarks (1362 ± 84 ms)
👆 Interaction Benchmarks
ActionMetricMean (ms)Std Dev (ms)P75 (ms)P95 (ms)
Load New Accountload_new_account2667264278
total2667264278
Confirm Txconfirm_tx6026760336034
total6026760336034
Bridge User Actionsbridge_load_page24942272315
bridge_load_asset_picker21028215254
bridge_search_token72626749753
total11697212361238
🔌 Startup Benchmarks
BuildMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
Chrome Browserify Startup Standard HomeuiStartup1362116215578413931538
load115095713758611821324
domContentLoaded114395413688311711307
domInteractive271696182378
firstPaint167631114122210335
backgroundConnect20218424812204228
firstReactRender17102931922
initialActions106113
loadScripts9577701189839861122
setupStore1262741422
numNetworkReqs312291192285
Chrome Browserify Startup Power User HomeuiStartup17541391263016117842058
load11531035179714011411525
domContentLoaded11401029175713711271515
domInteractive3619152233586
firstPaint189701660173247333
backgroundConnect29225834820301332
firstReactRender24164972737
initialActions107113
loadScripts92781415361369141320
setupStore1774272133
numNetworkReqs59391442358123
Chrome Webpack Startup Standard HomeuiStartup8897241191949271067
load76563296388826906
domContentLoaded75962895888821899
domInteractive3017132232489
firstPaint1166341670137220
backgroundConnect282085113047
firstReactRender19123862233
initialActions104113
loadScripts75762695587819891
setupStore1264661424
numNetworkReqs312298202587
Chrome Webpack Startup Power User HomeuiStartup12101017189215012901519
load7056191160108696975
domContentLoaded6966141150108683966
domInteractive36181923231119
firstPaint1326454086150292
backgroundConnect17012935847163270
firstReactRender22174242429
initialActions106111
loadScripts6936131143106681959
setupStore1455191435
numNetworkReqs1083825650135233
Firefox Browserify Startup Standard HomeuiStartup16211387253017916421980
load13601164220114213991589
domContentLoaded13581163219914213971588
domInteractive783318041104149
firstPaint------
backgroundConnect61293434457129
firstReactRender13112011415
initialActions108122
loadScripts13291141216813013711519
setupStore207161291578
numNetworkReqs312094202589
Firefox Browserify Startup Power User HomeuiStartup27382145405141928193694
load15761281241029716402260
domContentLoaded15761277241029716332260
domInteractive12835711123111416
firstPaint------
backgroundConnect2691011318232247860
firstReactRender191477111823
initialActions113122
loadScripts15431261235628916162221
setupStore1458777214139678
numNetworkReqs60301503577142
Firefox Webpack Startup Standard HomeuiStartup16651441219412217131873
load1390120517408614331535
domContentLoaded1390119917408614331535
domInteractive913025545130148
firstPaint------
backgroundConnect63242133767156
firstReactRender16135961625
initialActions102122
loadScripts1366118916608314091513
setupStore257144311998
numNetworkReqs301991172772
Firefox Webpack Startup Power User HomeuiStartup27061991400242828543612
load15531286246327517142134
domContentLoaded15531285246327417142133
domInteractive12630668135111355
firstPaint------
backgroundConnect2171151161141215426
firstReactRender20153342230
initialActions207123
loadScripts15221264243326816952101
setupStore18671198243210709
numNetworkReqs62311433587136
🧭 User Journey Benchmarks
BenchmarkMetricMean (ms)Std Dev (ms)P75 (ms)P95 (ms)
Onboarding Import WalletimportWalletToSocialScreen2181219220
srpButtonToSrpForm9229394
confirmSrpToPwForm2102222
pwFormToMetricsScreen1501515
metricsToWalletReadyScreen1501516
doneButtonToHomeScreen111829913201444
openAccountMenuToAccountListLoaded716257676757837
total88328188538950
Onboarding New WalletcreateWalletToSocialScreen2180218218
srpButtonToPwForm1051106107
createPwToRecoveryScreen8088
skipBackupToMetricsScreen3513637
agreeButtonToOnboardingSuccess1601616
doneButtonToAssetList101835313321448
total140135417141831
Asset DetailsassetClickToPriceChart52206783
total52206783
Solana Asset DetailsassetClickToPriceChart4834953
total4834953
Import Srp HomeloginToHomeScreen19363819731981
openAccountMenuAfterLogin4204242
homeAfterImportWithNewWallet225211923172450
total42302342604260
Send TransactionsopenSendPageFromHome2693539
selectTokenToSendFormLoaded2012121
reviewTransactionToConfirmationPage8539852869
total9019908909
SwapopenSwapPageFromHome11515129132
fetchAndDisplaySwapQuotes45931645954613
total46942546974726
🌐 Dapp Page Load Benchmarks

Current Commit: 795209e | Date: 2/24/2026

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

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

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.04s 38ms 1.02s 1.33s 1.08s 1.33s
domContentLoaded 726ms 37ms 703ms 1.00s 751ms 1.00s
firstPaint 77ms 10ms 60ms 156ms 88ms 156ms
firstContentfulPaint 77ms 10ms 60ms 156ms 88ms 156ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: -269.82 KiB (-6.21%)
  • ui: 3.17 KiB (0.04%)
  • common: 223.9 KiB (2.01%)

async checkPageIsLoaded(): Promise<void> {
try {
await this.driver.waitForMultipleSelectors([
this.sendButton,
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

I changed this selector because this checkPageIsLoaded (super) is also used in the non-evm-hompage, but in that page, the send button has a different id. So this could cause confusion -> now using a selector that is common in both

Copy link
Copy Markdown

@cursor cursor bot left a comment

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 1 potential issue.

@metamaskbotv2
Copy link
Copy Markdown
Contributor

metamaskbotv2 bot commented Feb 25, 2026

Builds ready [603053e]
⚡ Performance Benchmarks (1405 ± 99 ms)
👆 Interaction Benchmarks
ActionMetricMean (ms)Std Dev (ms)P75 (ms)P95 (ms)
Load New Accountload_new_account27617270304
total27617270304
Confirm Txconfirm_tx60601160696073
total60601160696073
Bridge User Actionsbridge_load_page2303235235
bridge_load_asset_picker17610176190
bridge_search_token7023704705
total1096310971100
🔌 Startup Benchmarks
BuildMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
Chrome Browserify Startup Standard HomeuiStartup1405119317449914521572
load118899814278512381334
domContentLoaded118199413808312331327
domInteractive2817122192578
firstPaint158701268134205303
backgroundConnect21019326614212243
firstReactRender2212248232136
initialActions109113
loadScripts98880211798510431135
setupStore14694101622
numNetworkReqs312289192279
Chrome Browserify Startup Power User HomeuiStartup16831399218014717521887
load11291006163214611211529
domContentLoaded1114993160214211071522
domInteractive37191942936102
firstPaint1927244385249334
backgroundConnect28625738523291336
firstReactRender24145172643
initialActions104111
loadScripts91179814061419011309
setupStore1564261725
numNetworkReqs61401592756139
Chrome Webpack Startup Standard HomeuiStartup8536981145968931077
load72862395984778884
domContentLoaded72261994884772871
domInteractive2916106222488
firstPaint1146234453146218
backgroundConnect28207083143
firstReactRender19124662132
initialActions105112
loadScripts72061794083770867
setupStore1264051320
numNetworkReqs312294192583
Chrome Webpack Startup Power User HomeuiStartup1178857188217712541510
load6876041177107684976
domContentLoaded6785981170106674969
domInteractive34161492832109
firstPaint15260992121192302
backgroundConnect17614433243170300
firstReactRender23175042529
initialActions104111
loadScripts6765961163105672960
setupStore1244461318
numNetworkReqs1094027353137247
Firefox Browserify Startup Standard HomeuiStartup17611542260223017552300
load14791271226419214871937
domContentLoaded14771266226419214861937
domInteractive913737451125154
firstPaint------
backgroundConnect66322993564125
firstReactRender14112011517
initialActions102012
loadScripts14471247223118614581915
setupStore218178251753
numNetworkReqs311895182777
Firefox Browserify Startup Power User HomeuiStartup27221985402346228073680
load15841294236631016972304
domContentLoaded15841294236631116972304
domInteractive13935726154114580
firstPaint------
backgroundConnect2511101012225208869
firstReactRender18146261823
initialActions103123
loadScripts15541276232030316792255
setupStore1388775201133719
numNetworkReqs61301513580130
Firefox Webpack Startup Standard HomeuiStartup17421493352129917532013
load14671247306927214951638
domContentLoaded14661247306927214951637
domInteractive131301556210133235
firstPaint------
backgroundConnect64304124768103
firstReactRender16133551627
initialActions102122
loadScripts14401222304227114611548
setupStore259184311874
numNetworkReqs301993162772
Firefox Webpack Startup Power User HomeuiStartup26931926437147327683685
load15531205260231816882308
domContentLoaded15521200260131816872308
domInteractive12431728144107508
firstPaint------
backgroundConnect269105960207238845
firstReactRender22156482331
initialActions213123
loadScripts15091187257329416342114
setupStore17381245229250678
numNetworkReqs58271523680140
🧭 User Journey Benchmarks
BenchmarkMetricMean (ms)Std Dev (ms)P75 (ms)P95 (ms)
Onboarding Import WalletimportWalletToSocialScreen2191219221
srpButtonToSrpForm9609797
confirmSrpToPwForm2312323
pwFormToMetricsScreen1601616
metricsToWalletReadyScreen1711818
doneButtonToHomeScreen103935312301555
openAccountMenuToAccountListLoaded723662476598057
total864550191499149
Onboarding New WalletcreateWalletToSocialScreen2192220221
srpButtonToPwForm1051107107
createPwToRecoveryScreen8088
skipBackupToMetricsScreen3613637
agreeButtonToOnboardingSuccess1601616
doneButtonToAssetList701150827843
total109014712071227
Asset DetailsassetClickToPriceChart48156369
total48156369
Solana Asset DetailsassetClickToPriceChart4824951
total4824951
Import Srp HomeloginToHomeScreen19223919231977
openAccountMenuAfterLogin4875161
homeAfterImportWithNewWallet252927228092845
total455035648375079
Send TransactionsopenSendPageFromHome28163954
selectTokenToSendFormLoaded1911919
reviewTransactionToConfirmationPage8618868869
total91319926936
SwapopenSwapPageFromHome1083112112
fetchAndDisplaySwapQuotes46686047214734
total47745448104841
🌐 Dapp Page Load Benchmarks

Current Commit: 603053e | Date: 2/25/2026

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.05s (±36ms) 🟡 | historical mean value: 1.04s ⬆️ (historical data)
  • domContentLoaded-> current mean value: 728ms (±35ms) 🟢 | historical mean value: 725ms ⬆️ (historical data)
  • firstContentfulPaint-> current mean value: 78ms (±10ms) 🟢 | historical mean value: 77ms ⬆️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.05s 36ms 1.02s 1.31s 1.08s 1.31s
domContentLoaded 728ms 35ms 705ms 989ms 748ms 989ms
firstPaint 78ms 10ms 64ms 164ms 84ms 164ms
firstContentfulPaint 78ms 10ms 64ms 164ms 84ms 164ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs
  • background: 58 Bytes (0%)
  • ui: 5 Bytes (0%)
  • common: 20 Bytes (0%)

@sonarqubecloud
Copy link
Copy Markdown

@metamaskbotv2
Copy link
Copy Markdown
Contributor

metamaskbotv2 bot commented Feb 25, 2026

Builds ready [891c68a]
⚡ Performance Benchmarks (1364 ± 115 ms)
👆 Interaction Benchmarks
ActionMetricMean (ms)Std Dev (ms)P75 (ms)P95 (ms)
Load New Accountload_new_account2613260267
total2613260267
Confirm Txconfirm_tx60371060456046
total60371060456046
Bridge User Actionsbridge_load_page23426252271
bridge_load_asset_picker20460237301
bridge_search_token7219730730
total11684812061237
🔌 Startup Benchmarks
BuildMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
Chrome Browserify Startup Standard HomeuiStartup13641150180611514111564
load1159970151410212011338
domContentLoaded1152966150810111961324
domInteractive2816134212480
firstPaint182671138179207354
backgroundConnect20218726212204225
firstReactRender19123642027
initialActions105114
loadScripts965781130510010071138
setupStore1363961619
numNetworkReqs312296202285
Chrome Browserify Startup Power User HomeuiStartup1946142910269113517802447
load11331020165213311301517
domContentLoaded11191016156212711131495
domInteractive35181572632103
firstPaint1797744082246295
backgroundConnect3772553096421293649
firstReactRender251569102547
initialActions104112
loadScripts91481613461259111294
setupStore1674781731
numNetworkReqs61221562865136
Chrome Webpack Startup Standard HomeuiStartup89871613301109551097
load7756211054106866940
domContentLoaded7696171047105861929
domInteractive2916136222482
firstPaint1176537358145215
backgroundConnect27184873240
firstReactRender19124572136
initialActions105112
loadScripts7666151039104853926
setupStore1263751323
numNetworkReqs312295202588
Chrome Webpack Startup Power User HomeuiStartup12581033255922913121563
load72863012251147131017
domContentLoaded71962312201147021011
domInteractive37181392834118
firstPaint1376444576151287
backgroundConnect190128906112171301
firstReactRender23184242532
initialActions104111
loadScripts71662112121127001002
setupStore1454461620
numNetworkReqs1073826252137215
Firefox Browserify Startup Standard HomeuiStartup16181354255421016722015
load13581152224517213871586
domContentLoaded13561151224517213861585
domInteractive70333414888139
firstPaint------
backgroundConnect55271222057108
firstReactRender13111811416
initialActions102112
loadScripts13321131221416813611545
setupStore227157311698
numNetworkReqs311998202590
Firefox Browserify Startup Power User HomeuiStartup27702026713063228033666
load15841296568448015302146
domContentLoaded15831296568448015302145
domInteractive12636577109116402
firstPaint------
backgroundConnect3131091246281280901
firstReactRender211479132064
initialActions103122
loadScripts15471274562047314902079
setupStore1168734167110553
numNetworkReqs62181733885147
Firefox Webpack Startup Standard HomeuiStartup17281448340532117262007
load14231232312923214421562
domContentLoaded14231232312823214411561
domInteractive111301765173132176
firstPaint------
backgroundConnect9124155319772150
firstReactRender16122731623
initialActions102122
loadScripts13981217309723114111537
setupStore268280381865
numNetworkReqs302083162770
Firefox Webpack Startup Power User HomeuiStartup26551873405044427943591
load15441238232228615992153
domContentLoaded15441238232228615982153
domInteractive13635788163104581
firstPaint------
backgroundConnect2561171247218237837
firstReactRender22167282332
initialActions206123
loadScripts15141215225128015502098
setupStore16310789211153692
numNetworkReqs62292114483169
🧭 User Journey Benchmarks
BenchmarkMetricMean (ms)Std Dev (ms)P75 (ms)P95 (ms)
Onboarding Import WalletimportWalletToSocialScreen2181219220
srpButtonToSrpForm9519697
confirmSrpToPwForm2212324
pwFormToMetricsScreen1601616
metricsToWalletReadyScreen1932122
doneButtonToHomeScreen108925912181435
openAccountMenuToAccountListLoaded728921874387625
total86738586658807
Onboarding New WalletcreateWalletToSocialScreen2214224227
srpButtonToPwForm1042105107
createPwToRecoveryScreen8088
skipBackupToMetricsScreen3613636
agreeButtonToOnboardingSuccess1601616
doneButtonToAssetList87330411531320
total126230215411705
Asset DetailsassetClickToPriceChart4644950
total4644950
Solana Asset DetailsassetClickToPriceChart4804848
total4804848
Import Srp HomeloginToHomeScreen209114721902321
openAccountMenuAfterLogin4645053
homeAfterImportWithNewWallet225715322152518
total462444048895362
Send TransactionsopenSendPageFromHome30154650
selectTokenToSendFormLoaded1911920
reviewTransactionToConfirmationPage8579857871
total90021894936
SwapopenSwapPageFromHome13214144151
fetchAndDisplaySwapQuotes535783163676378
total548982164926493
🌐 Dapp Page Load Benchmarks

Current Commit: 891c68a | Date: 2/25/2026

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.05s (±40ms) 🟡 | historical mean value: 1.04s ⬆️ (historical data)
  • domContentLoaded-> current mean value: 729ms (±38ms) 🟢 | historical mean value: 725ms ⬆️ (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.05s 40ms 1.02s 1.35s 1.08s 1.35s
domContentLoaded 729ms 38ms 703ms 1.01s 756ms 1.01s
firstPaint 77ms 12ms 60ms 176ms 88ms 176ms
firstContentfulPaint 77ms 12ms 60ms 176ms 88ms 176ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs
  • background: 58 Bytes (0%)
  • ui: 5 Bytes (0%)
  • common: 20 Bytes (0%)

@seaona seaona enabled auto-merge February 26, 2026 09:05
Copy link
Copy Markdown
Contributor

@wenfix wenfix left a comment

Choose a reason for hiding this comment

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

LGTM ⭐

@seaona seaona added this pull request to the merge queue Feb 26, 2026
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Feb 26, 2026
@seaona seaona added this pull request to the merge queue Feb 26, 2026
Merged via the queue into main with commit 0ab66ec Feb 26, 2026
337 of 340 checks passed
@seaona seaona deleted the refactor-withsolanaaccount branch February 26, 2026 11:00
@github-actions github-actions bot locked and limited conversation to collaborators Feb 26, 2026
@metamaskbot metamaskbot added the release-13.21.0 Issue or pull request that will be included in release 13.21.0 label Feb 26, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

e2e-maintenance no-changelog no-changelog Indicates no external facing user changes, therefore no changelog documentation needed release-13.21.0 Issue or pull request that will be included in release 13.21.0 size-XL skip-e2e-quality-gate team-qa QA team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants