Skip to content

Conversation

@Gudahtt
Copy link
Member

@Gudahtt Gudahtt commented Sep 12, 2025

Description

Add a new test workflow for E2E tests using dist builds. Currently this workflow has just one test suite in it, the vault decryption test. More will be added in later PRs.

Open in GitHub Codespaces

Changelog

CHANGELOG entry: null

Related issues

This was split out from #31435

Manual testing steps

N/A

Screenshots/Recordings

N/A

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

Introduces a dist E2E test mode and workflow, adds a Chrome dist test suite (vault decryption), supporting scripts, and minor CI/.gitignore updates.

  • E2E/CI:
    • Rename Chrome job from test-e2e-chrome-vault-decryption to test-e2e-chrome-dist, update test-suite-name and test-command to yarn test:e2e:chrome:dist in .github/workflows/e2e-chrome.yml.
    • Update report dependencies to require test-e2e-chrome-dist.
    • Add build-dist-mv2-browserify as a need for e2e-firefox in .github/workflows/main.yml.
  • Test runner/scripts:
    • Add --dist option to test/e2e/run-all.ts; when set, run tests from test/e2e/dist.
    • Add scripts: test:e2e:chrome:dist and test:e2e:firefox:dist in package.json.
  • Tests:
    • Add test/e2e/dist/vault-decryption-chrome.spec.ts (adjusted imports, skip on non-Chrome).
  • Repo:
    • Update .gitignore to ignore root dist only (/dist).

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

@metamaskbot metamaskbot added the team-core-platform Core Platform team label Sep 12, 2025
@Gudahtt Gudahtt force-pushed the create-new-e2e-test-job-for-tests-using-dist-build branch from 0767474 to c9e44ac Compare September 12, 2025 16:08
@metamaskbot
Copy link
Collaborator

📊 Page Load Benchmark Results

Current Commit: c9e44ac | Date: 9/12/2025

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.05s (±71ms) 🟡 | historical mean value: 1.05s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 735ms (±83ms) 🟢 | historical mean value: 736ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 88ms (±124ms) 🟢 | historical mean value: 79ms ⬆️ (historical data)
📈 Detailed Results
Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.05s 71ms 1.01s 1.33s 1.25s 1.33s
domContentLoaded 735ms 83ms 701ms 1.26s 939ms 1.26s
firstPaint 88ms 124ms 56ms 1.32s 88ms 1.32s
firstContentfulPaint 88ms 124ms 56ms 1.32s 88ms 1.32s
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms

Results generated automatically by MetaMask CI

@metamaskbot
Copy link
Collaborator

Builds ready [c9e44ac]
UI Startup Metrics (1204 ± 63 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyHomeuiStartup1204106913966312511307
load104294211775810771146
domContentLoaded103593511685810721139
domInteractive18135981640
firstPaint62179118542310581118
backgroundConnect2432312707247254
firstReactRender24174162837
getState15587121831
initialActions60648616
loadScripts79968592359837902
setupStore1053241017
WebpackHomeuiStartup20091504251426921992444
load16101210200020317361900
domContentLoaded16021198199620217291894
domInteractive191298171580
firstPaint1656740266195325
backgroundConnect3113284273256
firstReactRender85353327777321
getState3943148215277
initialActions9217424616
loadScripts15971196198620117271882
setupStore2863046314248
FirefoxBrowserifyHomeuiStartup13901235190512114421655
load1203107514348212531371
domContentLoaded1203107514338212521371
domInteractive1023330550110224
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect35181502336104
firstReactRender27225742831
getState63203614
initialActions41717311
loadScripts1176105414178012281316
setupStore12424727831
WebpackHomeuiStartup15911360224017316811948
load13611162180213514621610
domContentLoaded13611161180213514621609
domInteractive1073131864101300
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect3019107123548
firstReactRender44366244650
getState738010611
initialActions309237
loadScripts13391143177413514431587
setupStore1059710918
Benchmark value 243 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 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 255 exceeds gate value 18 for chrome browserify home p95 backgroundConnect
Benchmark value 16 exceeds gate value 1.2 for chrome browserify home p95 initialActions
Benchmark value 40 exceeds gate value 29 for chrome webpack home mean getState
Benchmark value 9 exceeds gate value 7 for chrome webpack home mean initialActions
Benchmark value 80 exceeds gate value 57 for chrome webpack home p95 domInteractive
Benchmark value 277 exceeds gate value 195 for chrome webpack home p95 getState
Benchmark value 16 exceeds gate value 7 for chrome webpack home p95 initialActions
Benchmark value 248 exceeds gate value 65 for chrome webpack home p95 setupStore
Benchmark value 36 exceeds gate value 25 for firefox browserify home mean backgroundConnect
Benchmark value 27 exceeds gate value 25 for firefox browserify home mean firstReactRender
Benchmark value 4 exceeds gate value 1 for firefox browserify home mean initialActions
Benchmark value 13 exceeds gate value 9 for firefox browserify home mean setupStore
Benchmark value 224 exceeds gate value 195 for firefox browserify home p95 domInteractive
Benchmark value 104 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 31 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 31 exceeds gate value 26 for firefox webpack home mean backgroundConnect
Benchmark value 44 exceeds gate value 38 for firefox webpack home mean firstReactRender
Benchmark value 3 exceeds gate value 1 for firefox webpack home mean initialActions
Benchmark value 1948 exceeds gate value 1935 for firefox webpack home p95 uiStartup
Benchmark value 300 exceeds gate value 156 for firefox webpack home p95 domInteractive
Benchmark value 7 exceeds gate value 2 for firefox webpack home p95 initialActions
Sum of mean exceeds: 294ms | Sum of p95 exceeds: 786.8ms
Sum of all benchmark exceeds: 1080.8ms

Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 43 Bytes (0%)
  • ui: 0 Bytes (0%)
  • common: 172 Bytes (0%)

@metamaskbot
Copy link
Collaborator

📊 Page Load Benchmark Results

Current Commit: 1848e92 | Date: 9/12/2025

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.04s (±72ms) 🟡 | historical mean value: 1.05s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 728ms (±69ms) 🟢 | historical mean value: 736ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 75ms (±13ms) 🟢 | historical mean value: 79ms ⬇️ (historical data)
📈 Detailed Results
Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.04s 72ms 1.00s 1.31s 1.29s 1.31s
domContentLoaded 728ms 69ms 694ms 993ms 968ms 993ms
firstPaint 75ms 13ms 56ms 184ms 88ms 184ms
firstContentfulPaint 75ms 13ms 56ms 184ms 88ms 184ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms

Results generated automatically by MetaMask CI

@metamaskbot
Copy link
Collaborator

Builds ready [1848e92]
UI Startup Metrics (1250 ± 59 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyHomeuiStartup1250114114115912961346
load108295612405711121165
domContentLoaded107494712265811011156
domInteractive18145771740
firstPaint67777123244210981163
backgroundConnect25524134413258278
firstReactRender26174973240
getState16598132039
initialActions50194615
loadScripts82769598058858915
setupStore1063141119
WebpackHomeuiStartup19831485254427321732460
load15901191194920617271885
domContentLoaded15801186193620717241875
domInteractive181295141456
firstPaint179661839176184302
backgroundConnect3416338442955
firstReactRender82353386974317
getState4343038813283
initialActions52254511
loadScripts15771184192420617211863
setupStore156300291423
FirefoxBrowserifyHomeuiStartup13681212175110014081595
load1182106213556812301310
domContentLoaded1181106213556812301310
domInteractive1033428852111241
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect3520129223497
firstReactRender27225552831
getState62365614
initialActions6131331310
loadScripts1155103513416912041286
setupStore13416923856
WebpackHomeuiStartup15411361202714416451828
load13171160162912614161558
domContentLoaded13171159162812614151557
domInteractive1003034054102272
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect30195473540
firstReactRender43355944550
getState7319819611
initialActions3112235
loadScripts12951130161012713961535
setupStore95566820
Benchmark value 1250 exceeds gate value 1234 for chrome browserify home mean uiStartup
Benchmark value 1083 exceeds gate value 1070 for chrome browserify home mean load
Benchmark value 1074 exceeds gate value 1061 for chrome browserify home mean domContentLoaded
Benchmark value 255 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 17 exceeds gate value 15 for chrome browserify home mean getState
Benchmark value 5 exceeds gate value 1 for chrome browserify home mean initialActions
Benchmark value 278 exceeds gate value 18 for chrome browserify home p95 backgroundConnect
Benchmark value 39 exceeds gate value 33 for chrome browserify home p95 getState
Benchmark value 15 exceeds gate value 1.2 for chrome browserify home p95 initialActions
Benchmark value 19 exceeds gate value 17 for chrome browserify home p95 setupStore
Benchmark value 44 exceeds gate value 29 for chrome webpack home mean getState
Benchmark value 2461 exceeds gate value 2454 for chrome webpack home p95 uiStartup
Benchmark value 283 exceeds gate value 195 for chrome webpack home p95 getState
Benchmark value 11 exceeds gate value 7 for chrome webpack home p95 initialActions
Benchmark value 35 exceeds gate value 25 for firefox browserify home mean backgroundConnect
Benchmark value 27 exceeds gate value 25 for firefox browserify home mean firstReactRender
Benchmark value 6 exceeds gate value 1 for firefox browserify home mean initialActions
Benchmark value 13 exceeds gate value 9 for firefox browserify home mean setupStore
Benchmark value 241 exceeds gate value 195 for firefox browserify home p95 domInteractive
Benchmark value 97 exceeds gate value 70 for firefox browserify home p95 backgroundConnect
Benchmark value 10 exceeds gate value 2 for firefox browserify home p95 initialActions
Benchmark value 56 exceeds gate value 27 for firefox browserify home p95 setupStore
Benchmark value 30 exceeds gate value 26 for firefox webpack home mean backgroundConnect
Benchmark value 43 exceeds gate value 38 for firefox webpack home mean firstReactRender
Benchmark value 3 exceeds gate value 1 for firefox webpack home mean initialActions
Benchmark value 272 exceeds gate value 156 for firefox webpack home p95 domInteractive
Benchmark value 5 exceeds gate value 2 for firefox webpack home p95 initialActions
Sum of mean exceeds: 344ms | Sum of p95 exceeds: 609.8ms
Sum of all benchmark exceeds: 953.8ms

Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 43 Bytes (0%)
  • ui: 0 Bytes (0%)
  • common: 172 Bytes (0%)

@Gudahtt

This comment was marked as resolved.

@Gudahtt Gudahtt mentioned this pull request Sep 12, 2025
7 tasks
@metamaskbot
Copy link
Collaborator

📊 Page Load Benchmark Results

Current Commit: de04e67 | Date: 9/12/2025

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.05s (±73ms) 🟡 | historical mean value: 1.05s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 733ms (±70ms) 🟢 | historical mean value: 736ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 76ms (±12ms) 🟢 | historical mean value: 79ms ⬇️ (historical data)
📈 Detailed Results
Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.05s 73ms 1.01s 1.32s 1.26s 1.32s
domContentLoaded 733ms 70ms 696ms 1.01s 941ms 1.01s
firstPaint 76ms 12ms 60ms 176ms 88ms 176ms
firstContentfulPaint 76ms 12ms 60ms 176ms 88ms 176ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms

Results generated automatically by MetaMask CI

@metamaskbot
Copy link
Collaborator

Builds ready [de04e67]
UI Startup Metrics (1229 ± 82 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyHomeuiStartup1229110417318212681349
load106796514307110961183
domContentLoaded106095014247110891176
domInteractive18135681739
firstPaint71679143443110761173
backgroundConnect2462302917249255
firstReactRender25185172639
getState1364171633
initialActions50839614
loadScripts821696117971846937
setupStore962331019
WebpackHomeuiStartup19801404251425921472447
load15861130193420417371886
domContentLoaded15751122192120517321871
domInteractive1812197201444
firstPaint1766761781203310
backgroundConnect42183486731303
firstReactRender74343325475103
getState3153237014278
initialActions62224616
loadScripts15711118190920417301859
setupStore2562995814242
FirefoxBrowserifyHomeuiStartup1410125417619914721619
load1222108713957712821358
domContentLoaded1222108713947712821358
domInteractive1023426043112212
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect3619157233590
firstReactRender27236462834
getState8323524611
initialActions31142310
loadScripts1194106713667712521332
setupStore10420220825
WebpackHomeuiStartup15291365203615316031853
load13011155179413213831591
domContentLoaded13011154179413213831591
domInteractive1023330456103267
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect30214763543
firstReactRender43306354553
getState7310812712
initialActions611752237
loadScripts12791138177313213651570
setupStore95597915
Benchmark value 246 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 6 exceeds gate value 1 for chrome browserify home mean initialActions
Benchmark value 256 exceeds gate value 18 for chrome browserify home p95 backgroundConnect
Benchmark value 14 exceeds gate value 1.2 for chrome browserify home p95 initialActions
Benchmark value 19 exceeds gate value 17 for chrome browserify home p95 setupStore
Benchmark value 43 exceeds gate value 40 for chrome webpack home mean backgroundConnect
Benchmark value 31 exceeds gate value 29 for chrome webpack home mean getState
Benchmark value 303 exceeds gate value 90 for chrome webpack home p95 backgroundConnect
Benchmark value 278 exceeds gate value 195 for chrome webpack home p95 getState
Benchmark value 16 exceeds gate value 7 for chrome webpack home p95 initialActions
Benchmark value 242 exceeds gate value 65 for chrome webpack home p95 setupStore
Benchmark value 1411 exceeds gate value 1405 for firefox browserify home mean uiStartup
Benchmark value 36 exceeds gate value 25 for firefox browserify home mean backgroundConnect
Benchmark value 28 exceeds gate value 25 for firefox browserify home mean firstReactRender
Benchmark value 4 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 212 exceeds gate value 195 for firefox browserify home p95 domInteractive
Benchmark value 90 exceeds gate value 70 for firefox browserify home p95 backgroundConnect
Benchmark value 10 exceeds gate value 2 for firefox browserify home p95 initialActions
Benchmark value 102 exceeds gate value 100 for firefox webpack home mean domInteractive
Benchmark value 31 exceeds gate value 26 for firefox webpack home mean backgroundConnect
Benchmark value 43 exceeds gate value 38 for firefox webpack home mean firstReactRender
Benchmark value 6 exceeds gate value 1 for firefox webpack home mean initialActions
Benchmark value 267 exceeds gate value 156 for firefox webpack home p95 domInteractive
Benchmark value 53 exceeds gate value 50 for firefox webpack home p95 firstReactRender
Benchmark value 7 exceeds gate value 2 for firefox webpack home p95 initialActions
Sum of mean exceeds: 290ms | Sum of p95 exceeds: 898.8ms
Sum of all benchmark exceeds: 1188.8ms

Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 32.42 KiB (0.72%)
  • ui: -3 Bytes (0%)
  • common: 1.69 KiB (0.02%)

"test:integration": "yarn webpack-cli build --config ./development/webpack/webpack.integration.tests.config.ts && jest --config jest.integration.config.js",
"test:integration:coverage": "yarn test:integration --coverage",
"test:e2e:chrome": "SELENIUM_BROWSER=chrome tsx test/e2e/run-all.ts",
"test:e2e:chrome:dist": "SELENIUM_BROWSER=chrome tsx test/e2e/run-all.ts --dist",
Copy link
Contributor

Choose a reason for hiding this comment

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

I generally argue for "we already have too many scripts in package.json, and if you're adding another command that really isn't intended for general use, but will just be run in one place in GitHub Actions, let's keep it out of package.json"

Copy link
Member Author

Choose a reason for hiding this comment

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

It can be run locally as well, e.g. when debugging an E2E test failure for this job. It's important to have a simple command that can replicate CI tests locally.

e2e-firefox:
needs:
- needs-e2e
- build-dist-mv2-browserify
Copy link
Contributor

Choose a reason for hiding this comment

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

Adding this happens to be a little unfortunate, because you're adding the longest build process as a needs before the longest test suite. So this definitely adds time to the workflow as a whole. Possible solutions include:

  1. Wait for webpack to completely replace browserify
  2. Add more shards to test-e2e-firefox-browserify and test-e2e-firefox-flask
  3. Take test-e2e-firefox-dist out of e2e-firefox.yml and rework how the YML files call each other and are organized, but I think that's not worth it

Edit: hmmmm and then I noticed that test-e2e-firefox-dist is running zero tests....

Copy link
Member Author

Choose a reason for hiding this comment

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

Is Firefox substantially slower than Chrome to build and/or run tests? I had thought the difference was fairly small

Copy link
Contributor

Choose a reason for hiding this comment

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

For the build step, it's the dist build that's slower. build-dist-browserify and build-dist-mv2-browserify take the same amount of time. But this needs did not have a dist build in the list before.

For the E2E tests, the test-e2e-firefox-browserify shards take 12-14 minutes, but the test-e2e-firefox-browserify take 9-11 minutes. I have not done any additional investigation as to why it's slower. If we can't make it faster, we could also increase the number of Firefox shards.

Comment on lines +168 to +171
if (process.env.SELENIUM_BROWSER !== 'chrome') {
// TODO: Get this working on Firefox
this.skip();
}
Copy link
Contributor

Choose a reason for hiding this comment

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

We're going to skip ALL of the tests in the dist folder on Firefox? Are more things coming here soon? Because as it is now, a VM will spin up to run test-e2e-firefox-dist, and then it will run zero tests.

Copy link
Member Author

Choose a reason for hiding this comment

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

These changes were split from this PR, which has a test that would run on Firefox: #31435

I can certainly omit the Firefox workflow until that PR though, so it doesn't spin up a VM that does nothing. Good point.

Copy link
Contributor

Choose a reason for hiding this comment

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

If it's coming very soon, it matters a little less.

Copy link
Member Author

Choose a reason for hiding this comment

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

Removed here: 3e45984

I'll re-add it in the PR that adds the first test

github-merge-queue bot pushed a commit that referenced this pull request Sep 20, 2025
## **Description**

The script responsible for determining how to split up tests in a given
workflow was failing when I tried to add a new workflow. It didn't seem
to handle the case where a workflow had zero past runs.

It has been updated to use a naive fallback splitting algorithm in this
case.

[![Open in GitHub
Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/35905?quickstart=1)

## **Changelog**

CHANGELOG entry: null

## **Related issues**

This fixes a CI bug encountered on #31435

## **Manual testing steps**

See this PR for an example of the failures:
#35906

See here for a rebased version of that PR on this branch, which works:
#35913

## **Screenshots/Recordings**

N/A

## **Pre-merge author checklist**

- [x] I've followed [MetaMask Contributor
Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask
Extension Coding
Standards](https://github.com/MetaMask/metamask-extension/blob/main/.github/guidelines/CODING_GUIDELINES.md).
- [x] I've completed the PR template to the best of my ability
- [x] I’ve included tests if applicable
- [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [x] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-extension/blob/main/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.

## **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.

---------

Co-authored-by: Howard Braham <howrad@gmail.com>
@ngalee8311

This comment was marked as spam.

Add a new test workflow for E2E tests using `dist` builds. Currently
this workflow has just one test suite in it, the vault decryption test.
More will be added in later PRs.

This was split out from #31435
@Gudahtt Gudahtt force-pushed the create-new-e2e-test-job-for-tests-using-dist-build branch from de04e67 to 3e45984 Compare October 17, 2025 17:52
@metamaskbot
Copy link
Collaborator

📊 Page Load Benchmark Results

Current Commit: 3e45984 | Date: 10/17/2025

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.06s (±76ms) 🟡 | historical mean value: 1.05s ⬆️ (historical data)
  • domContentLoaded-> current mean value: 749ms (±73ms) 🟢 | historical mean value: 737ms ⬆️ (historical data)
  • firstContentfulPaint-> current mean value: 81ms (±12ms) 🟢 | historical mean value: 77ms ⬆️ (historical data)
📈 Detailed Results
Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.06s 76ms 1.01s 1.35s 1.32s 1.35s
domContentLoaded 749ms 73ms 701ms 1.04s 999ms 1.04s
firstPaint 81ms 12ms 64ms 184ms 92ms 184ms
firstContentfulPaint 81ms 12ms 64ms 184ms 92ms 184ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms

Results generated automatically by MetaMask CI

@metamaskbot
Copy link
Collaborator

Builds ready [3e45984]
UI Startup Metrics (1248 ± 77 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyHomeuiStartup1248112915077712871425
load107497412826811071239
domContentLoaded106897212776710981228
domInteractive18138191737
firstPaint69873129444110811213
backgroundConnect2562422989261268
firstReactRender25184852638
getState1453961725
initialActions50628513
loadScripts818726102666847976
setupStore1051721015
WebpackHomeuiStartup841715150998852984
load647582135798660814
domContentLoaded639572133696653807
domInteractive16114981438
firstPaint198561376219193732
backgroundConnect21115682535
firstReactRender26166493137
getState831931115
initialActions30193412
loadScripts636570132694651796
setupStore954041115
FirefoxBrowserifyHomeuiStartup13921206182710914601611
load1186104214428412431348
domContentLoaded1186104214418412431348
domInteractive1073428948114212
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect3421229253559
firstReactRender24204032532
getState83838816
initialActions511731738
loadScripts1162102313468012201315
setupStore12690121046
WebpackHomeuiStartup1489132719959915161687
load1282114615067213191422
domContentLoaded1281114615057213191422
domInteractive90313344199151
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect3317116133760
firstReactRender282071102962
getState9512812813
initialActions41415310
loadScripts1259113114856912971398
setupStore11521021924
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 58 Bytes (0%)
  • ui: 0 Bytes (0%)
  • common: 172 Bytes (0%)

@Gudahtt Gudahtt marked this pull request as ready for review October 17, 2025 21:01
@Gudahtt Gudahtt enabled auto-merge October 17, 2025 21:01
@github-project-automation github-project-automation bot moved this to Needs dev review in PR review queue Oct 20, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

Status: Needs dev review

Development

Successfully merging this pull request may close these issues.

5 participants