Skip to content

Conversation

@seaona
Copy link
Member

@seaona seaona commented Sep 22, 2025

Description

This PR enables the Solana websocket by default in all specs, and passes the default solana mocks.
It enables tests to pass custom solana websocket mocks too.

Previous related work:

Open in GitHub Codespaces

Changelog

CHANGELOG entry:

Related issues

Fixes: https://consensyssoftware.atlassian.net/browse/MMQA-1008

Manual testing steps

  1. Check ci

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.

@seaona seaona self-assigned this Sep 22, 2025
@seaona seaona added the no-changelog no-changelog Indicates no external facing user changes, therefore no changelog documentation needed label Sep 22, 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.

@metamaskbot metamaskbot added the team-qa QA team label Sep 22, 2025
@metamaskbot
Copy link
Collaborator

metamaskbot commented Sep 22, 2025

✨ Files requiring CODEOWNER review ✨

🧪 @MetaMask/qa (2 files, +26 -24)
  • 📁 test/
    • 📁 e2e/
      • 📄 helpers.js +20 -14
      • 📄 mock-e2e.js +6 -10

@seaona seaona marked this pull request as ready for review September 22, 2025 14:02
@seaona seaona requested a review from a team as a code owner September 22, 2025 14:02
cursor[bot]

This comment was marked as outdated.

server,
testSpecificMock,
{ chainId, ethConversionInUsd = 1700 },
withSolanaWebSocket,
Copy link
Member Author

Choose a reason for hiding this comment

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

not needed as param anymore, as we should always apply the wss mock now

cursor[bot]

This comment was marked as outdated.

@metamaskbot
Copy link
Collaborator

📊 Page Load Benchmark Results

Current Commit: 7b2cf09 | Date: 9/22/2025

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.06s (±72ms) 🟡 | historical mean value: 1.05s ⬆️ (historical data)
  • domContentLoaded-> current mean value: 743ms (±69ms) 🟢 | historical mean value: 736ms ⬆️ (historical data)
  • firstContentfulPaint-> current mean value: 77ms (±11ms) 🟢 | historical mean value: 78ms ⬇️ (historical data)
📈 Detailed Results
Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.06s 72ms 1.02s 1.34s 1.27s 1.34s
domContentLoaded 743ms 69ms 706ms 1.02s 943ms 1.02s
firstPaint 77ms 11ms 60ms 172ms 88ms 172ms
firstContentfulPaint 77ms 11ms 60ms 172ms 88ms 172ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms

Results generated automatically by MetaMask CI

@metamaskbot
Copy link
Collaborator

Builds ready [7b2cf09]
UI Startup Metrics (1280 ± 76 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyHomeuiStartup1280113614607613441427
load110197012767211451237
domContentLoaded109496512687211221233
domInteractive19155871842
firstPaint69990127945411201224
backgroundConnect2252102608228238
firstReactRender27194762943
getState15686101929
initialActions50717712
loadScripts8767521046709051016
setupStore1162541219
WebpackHomeuiStartup1175934134310912581324
load987764115210410581121
domContentLoaded983759114910410531116
domInteractive16124881439
firstPaint1626530758194291
backgroundConnect16113361729
firstReactRender36335533843
getState74264813
initialActions62174814
loadScripts979757114710410511114
setupStore86192913
FirefoxBrowserifyHomeuiStartup14751255193811415301701
load1276109415168413231418
domContentLoaded1276109315148413231417
domInteractive1163439364124269
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect3819145243691
firstReactRender31248183245
getState8317820712
initialActions418710311
loadScripts1247107914958312931393
setupStore12418219929
WebpackHomeuiStartup15881377196414716801862
load13521162165313414491598
domContentLoaded13511162165313414491598
domInteractive1073133366102321
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect31206283649
firstReactRender46376854954
getState63485611
initialActions4113714311
loadScripts13281134163113614281578
setupStore125164211028
Benchmark value 1280 exceeds gate value 1234 for chrome browserify home mean uiStartup
Benchmark value 1101 exceeds gate value 1070 for chrome browserify home mean load
Benchmark value 1094 exceeds gate value 1061 for chrome browserify home mean domContentLoaded
Benchmark value 225 exceeds gate value 10 for chrome browserify home mean backgroundConnect
Benchmark value 27 exceeds gate value 23 for chrome browserify home mean firstReactRender
Benchmark value 16 exceeds gate value 15 for chrome browserify home mean getState
Benchmark value 6 exceeds gate value 1 for chrome browserify home mean initialActions
Benchmark value 877 exceeds gate value 830 for chrome browserify home mean loadScripts
Benchmark value 1428 exceeds gate value 1365 for chrome browserify home p95 uiStartup
Benchmark value 1238 exceeds gate value 1190 for chrome browserify home p95 load
Benchmark value 1234 exceeds gate value 1180 for chrome browserify home p95 domContentLoaded
Benchmark value 42 exceeds gate value 41 for chrome browserify home p95 domInteractive
Benchmark value 1224 exceeds gate value 1180 for chrome browserify home p95 firstPaint
Benchmark value 238 exceeds gate value 18 for chrome browserify home p95 backgroundConnect
Benchmark value 12 exceeds gate value 1.2 for chrome browserify home p95 initialActions
Benchmark value 1016 exceeds gate value 940 for chrome browserify home p95 loadScripts
Benchmark value 19 exceeds gate value 17 for chrome browserify home p95 setupStore
Benchmark value 14 exceeds gate value 7 for chrome webpack home p95 initialActions
Benchmark value 1476 exceeds gate value 1405 for firefox browserify home mean uiStartup
Benchmark value 1277 exceeds gate value 1245 for firefox browserify home mean load
Benchmark value 1276 exceeds gate value 1239 for firefox browserify home mean domContentLoaded
Benchmark value 116 exceeds gate value 110 for firefox browserify home mean domInteractive
Benchmark value 38 exceeds gate value 25 for firefox browserify home mean backgroundConnect
Benchmark value 31 exceeds gate value 25 for firefox browserify home mean firstReactRender
Benchmark value 5 exceeds gate value 1 for firefox browserify home mean initialActions
Benchmark value 1247 exceeds gate value 1230 for firefox browserify home mean loadScripts
Benchmark value 12 exceeds gate value 9 for firefox browserify home mean setupStore
Benchmark value 1701 exceeds gate value 1660 for firefox browserify home p95 uiStartup
Benchmark value 269 exceeds gate value 195 for firefox browserify home p95 domInteractive
Benchmark value 91 exceeds gate value 70 for firefox browserify home p95 backgroundConnect
Benchmark value 11 exceeds gate value 2 for firefox browserify home p95 initialActions
Benchmark value 29 exceeds gate value 27 for firefox browserify home p95 setupStore
Benchmark value 107 exceeds gate value 100 for firefox webpack home mean domInteractive
Benchmark value 32 exceeds gate value 26 for firefox webpack home mean backgroundConnect
Benchmark value 46 exceeds gate value 38 for firefox webpack home mean firstReactRender
Benchmark value 5 exceeds gate value 1 for firefox webpack home mean initialActions
Benchmark value 321 exceeds gate value 156 for firefox webpack home p95 domInteractive
Benchmark value 54 exceeds gate value 50 for firefox webpack home p95 firstReactRender
Benchmark value 11 exceeds gate value 2 for firefox webpack home p95 initialActions
Sum of mean exceeds: 596ms | Sum of p95 exceeds: 850.8ms
Sum of all benchmark exceeds: 1446.8ms

@metamaskbot
Copy link
Collaborator

📊 Page Load Benchmark Results

Current Commit: f654534 | Date: 9/22/2025

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.06s (±167ms) 🟡 | historical mean value: 1.05s ⬆️ (historical data)
  • domContentLoaded-> current mean value: 750ms (±190ms) 🟢 | historical mean value: 738ms ⬆️ (historical data)
  • firstContentfulPaint-> current mean value: 100ms (±251ms) 🟢 | historical mean value: 78ms ⬆️ (historical data)
📈 Detailed Results
Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.06s 167ms 1.01s 2.59s 1.25s 2.59s
domContentLoaded 750ms 190ms 696ms 2.53s 936ms 2.53s
firstPaint 100ms 251ms 60ms 2.59s 84ms 2.59s
firstContentfulPaint 100ms 251ms 60ms 2.59s 84ms 2.59s
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms

Results generated automatically by MetaMask CI

@metamaskbot
Copy link
Collaborator

Builds ready [f654534]
UI Startup Metrics (1194 ± 60 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyHomeuiStartup1194107814666012431282
load102693111815610691114
domContentLoaded102092811785610631108
domInteractive18145571738
firstPaint63988115041410411102
backgroundConnect2132042385215223
firstReactRender25184562540
getState1243651522
initialActions50445611
loadScripts81370496556859902
setupStore963541018
WebpackHomeuiStartup1125908130410512061265
load944744110310010071093
domContentLoaded940741109810010041088
domInteractive16125281340
firstPaint153631007102181242
backgroundConnect16103861730
firstReactRender35329263541
getState64213612
initialActions62214813
loadScripts937739109610010021086
setupStore86192811
FirefoxBrowserifyHomeuiStartup13931187192912214591626
load1207104413978212751335
domContentLoaded1206104413978212741334
domInteractive1023227149109215
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect3319122193388
firstReactRender28227072941
getState62879613
initialActions501721739
loadScripts1182102813758012471316
setupStore11518819827
WebpackHomeuiStartup16231404221214817111890
load13851193166912314801623
domContentLoaded13841192166812314801622
domInteractive1073135260109295
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect33225583852
firstReactRender46387054955
getState63142710
initialActions411601636
loadScripts13601167164912514591600
setupStore126228241028
Benchmark value 213 exceeds gate value 10 for chrome browserify home mean backgroundConnect
Benchmark value 25 exceeds gate value 23 for chrome browserify home mean firstReactRender
Benchmark value 5 exceeds gate value 1 for chrome browserify home mean initialActions
Benchmark value 223 exceeds gate value 18 for chrome browserify home p95 backgroundConnect
Benchmark value 11 exceeds gate value 1.2 for chrome browserify home p95 initialActions
Benchmark value 18 exceeds gate value 17 for chrome browserify home p95 setupStore
Benchmark value 13 exceeds gate value 7 for chrome webpack home p95 initialActions
Benchmark value 34 exceeds gate value 25 for firefox browserify home mean backgroundConnect
Benchmark value 29 exceeds gate value 25 for firefox browserify home mean firstReactRender
Benchmark value 5 exceeds gate value 1 for firefox browserify home mean initialActions
Benchmark value 11 exceeds gate value 9 for firefox browserify home mean setupStore
Benchmark value 215 exceeds gate value 195 for firefox browserify home p95 domInteractive
Benchmark value 88 exceeds gate value 70 for firefox browserify home p95 backgroundConnect
Benchmark value 9 exceeds gate value 2 for firefox browserify home p95 initialActions
Benchmark value 1624 exceeds gate value 1615 for firefox webpack home mean uiStartup
Benchmark value 1385 exceeds gate value 1380 for firefox webpack home mean load
Benchmark value 1385 exceeds gate value 1380 for firefox webpack home mean domContentLoaded
Benchmark value 108 exceeds gate value 100 for firefox webpack home mean domInteractive
Benchmark value 34 exceeds gate value 26 for firefox webpack home mean backgroundConnect
Benchmark value 47 exceeds gate value 38 for firefox webpack home mean firstReactRender
Benchmark value 5 exceeds gate value 1 for firefox webpack home mean initialActions
Benchmark value 295 exceeds gate value 156 for firefox webpack home p95 domInteractive
Benchmark value 52 exceeds gate value 49 for firefox webpack home p95 backgroundConnect
Benchmark value 55 exceeds gate value 50 for firefox webpack home p95 firstReactRender
Benchmark value 6 exceeds gate value 2 for firefox webpack home p95 initialActions
Sum of mean exceeds: 276ms | Sum of p95 exceeds: 417.8ms
Sum of all benchmark exceeds: 693.8ms

@seaona seaona added this pull request to the merge queue Sep 22, 2025
Merged via the queue into main with commit 1d3803d Sep 22, 2025
161 checks passed
@seaona seaona deleted the solana-websocket-default-server branch September 22, 2025 16:07
@github-actions github-actions bot locked and limited conversation to collaborators Sep 22, 2025
@metamaskbot metamaskbot added the release-13.5.0 Issue or pull request that will be included in release 13.5.0 label Sep 22, 2025
@gauthierpetetin gauthierpetetin changed the title test: add Solana Websocket server by default in all our e2e test: add Solana Websocket server by default in all our e2e cp-13.3.1 Sep 23, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

no-changelog no-changelog Indicates no external facing user changes, therefore no changelog documentation needed release-13.5.0 Issue or pull request that will be included in release 13.5.0 size-S team-qa QA team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants