Version v12.5.0
:package: :rocket:
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.
Builds ready [096d4d2]
- builds: chrome, firefox
- builds (beta): chrome
- builds (flask): chrome, firefox
- builds (MMI): chrome, firefox
- builds (test): chrome, firefox
- builds (test-flask): chrome, firefox
- build viz: Build System
- mv3: Background Module Init Stats
- mv3: UI Init Stats
- mv3: Module Load Stats
- mv3: Bundle Size Stats
- mv2: E2e Actions Stats
- code coverage: Report
- storybook: Storybook
- typescript migration: Dashboard
- all artifacts
Page Load Metrics (2016 ± 121 ms)
| Platform | Page | Metric | Min (ms) | Max (ms) | Average (ms) | StandardDeviation (ms) | MarginOfError (ms) |
|---|---|---|---|---|---|---|---|
| Chrome | Home | firstPaint | 364 | 2614 | 1899 | 419 | 201 |
| domContentLoaded | 1615 | 2536 | 1984 | 250 | 120 | ||
| load | 1662 | 2598 | 2016 | 252 | 121 | ||
| domInteractive | 15 | 201 | 42 | 39 | 19 |
Bundle size diffs
- background: 0 Bytes (0.00%)
- ui: 0 Bytes (0.00%)
- common: 0 Bytes (0.00%)
Builds ready [41e7889]
- builds: chrome, firefox
- builds (beta): chrome
- builds (flask): chrome, firefox
- builds (MMI): chrome, firefox
- builds (test): chrome, firefox
- builds (test-flask): chrome, firefox
- build viz: Build System
- mv3: Background Module Init Stats
- mv3: UI Init Stats
- mv3: Module Load Stats
- mv3: Bundle Size Stats
- mv2: E2e Actions Stats
- code coverage: Report
- storybook: Storybook
- typescript migration: Dashboard
- all artifacts
Page Load Metrics (1751 ± 105 ms)
| Platform | Page | Metric | Min (ms) | Max (ms) | Average (ms) | StandardDeviation (ms) | MarginOfError (ms) |
|---|---|---|---|---|---|---|---|
| Chrome | Home | firstPaint | 1489 | 2233 | 1757 | 215 | 103 |
| domContentLoaded | 1482 | 2225 | 1729 | 205 | 99 | ||
| load | 1490 | 2235 | 1751 | 218 | 105 | ||
| domInteractive | 13 | 68 | 34 | 15 | 7 |
Bundle size diffs [🚀 Bundle size reduced!]
- background: 180 Bytes (0.00%)
- ui: 0 Bytes (0.00%)
- common: -75.82 KiB (-0.93%)
Builds ready [be0396d]
- builds: chrome, firefox
- builds (beta): chrome
- builds (flask): chrome, firefox
- builds (MMI): chrome, firefox
- builds (test): chrome, firefox
- builds (test-flask): chrome, firefox
- build viz: Build System
- mv3: Background Module Init Stats
- mv3: UI Init Stats
- mv3: Module Load Stats
- mv3: Bundle Size Stats
- mv2: E2e Actions Stats
- code coverage: Report
- storybook: Storybook
- typescript migration: Dashboard
- all artifacts
Page Load Metrics (1767 ± 51 ms)
| Platform | Page | Metric | Min (ms) | Max (ms) | Average (ms) | StandardDeviation (ms) | MarginOfError (ms) |
|---|---|---|---|---|---|---|---|
| Chrome | Home | firstPaint | 1656 | 2157 | 1760 | 108 | 52 |
| domContentLoaded | 1609 | 2147 | 1733 | 113 | 54 | ||
| load | 1654 | 2158 | 1767 | 107 | 51 | ||
| domInteractive | 24 | 66 | 45 | 12 | 6 |
Bundle size diffs [🚀 Bundle size reduced!]
- background: 180 Bytes (0.00%)
- ui: 0 Bytes (0.00%)
- common: -75.82 KiB (-0.93%)
👍 Dependency issues cleared. Learn more about Socket for GitHub ↗︎
This PR previously contained dependency changes with security issues that have been resolved, removed, or ignored.
Ignoring: npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/@tootallnate/[email protected], npm/[email protected], npm/@noble/[email protected], npm/@types/[email protected], npm/@types/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/@types/[email protected], npm/[email protected], npm/[email protected], npm/@noble/[email protected], npm/[email protected], npm/@xstate/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/@adraffy/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/@noble/[email protected], npm/@keystonehq/[email protected], npm/[email protected], npm/@metamask/[email protected], npm/@metamask/[email protected], npm/@metamask/[email protected], npm/@metamask/[email protected], npm/@metamask/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@metamask/[email protected], npm/@scure/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/[email protected], npm/@swc/[email protected], npm/@types/[email protected], npm/[email protected], npm/@metamask/[email protected], npm/@metamask/[email protected], npm/@contentful/[email protected], npm/@contentful/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/@metamask/[email protected], npm/@metamask/[email protected], npm/@metamask/[email protected], npm/@metamask/[email protected], npm/@metamask/[email protected], npm/@metamask/[email protected], npm/@metamask/[email protected], npm/@metamask/[email protected], npm/@metamask/[email protected], npm/@metamask/[email protected], npm/@metamask/[email protected], npm/@metamask/[email protected], npm/@metamask/[email protected], npm/@metamask/[email protected], npm/@metamask/[email protected], npm/@metamask/[email protected], npm/@metamask/[email protected], npm/@metamask/[email protected], npm/@metamask/[email protected], npm/@metamask/[email protected], npm/@metamask/[email protected], npm/@metamask/[email protected], npm/@metamask/[email protected], npm/@lavamoat/[email protected], npm/@metamask/[email protected], npm/[email protected], npm/@sentry/[email protected], npm/@sentry/[email protected], npm/@sentry/[email protected], npm/@sentry-internal/[email protected], npm/@sentry-internal/[email protected], npm/@sentry-internal/[email protected], npm/@sentry-internal/[email protected], npm/@sentry/[email protected], npm/[email protected], npm/@metamask/[email protected], npm/@metamask/[email protected]
Next steps
Take a deeper look at the dependency
Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support [AT] socket [DOT] dev.
Remove the package
If you happen to install a dependency that Socket reports as Known Malware you should immediately remove it and select a different dependency. For other alert types, you may may wish to investigate alternative packages or consider if there are other ways to mitigate the specific risk posed by the dependency.
Mark a package as acceptable risk
To ignore an alert, reply with a comment starting with @SocketSecurity ignore followed by a space separated list of ecosystem/package-name@version specifiers. e.g. @SocketSecurity ignore npm/[email protected] or ignore all packages with @SocketSecurity ignore-all
Hi Teams! We can start testing and validating v12.5.0. Let's do this!
Instructions for Team Review
Review Changes: Refer to the Release Tracker for v12.5.0 to see all changes relevant to your team.
- Testing status to update the PR testing status: In Progress, Passed, Failed (with comments), Blocked, or Skipped (for documentation or testing improvements).
- Changelog status aids documentation. Select: Changed, Fixed, Added, or N/A if not required.
- Type of Change helps determine the impact. It is broadly categorized as Functional(User facing or non), Non-Functional(regression or not),Non main change.
Log Bugs: If you find any issues, log them in the release tracker, and make sure you add the right labels on it: type-bug , regression-RC-x.y.z , (and release-blocker when needed).
Approval: After testing is completed, indicate your team's approval by marking the checkbox next to your team's name in comment. Optionally, leave a comment for additional information.
Your thorough review ensures a smooth and successful release. If you have any questions please reach out to extension platform team or in the #metamask-qa slack channel. Thank you for your collaboration!
- [x] Accounts: @plasmacorral, @MetaMask/accounts-engineers, @gantunesr - There are 4 Accounts changes.
- [x] Assets: @MetaMask/metamask-assets, @darkwing - There are 14 Assets changes.
- [x] Bridge: @release-contact-bridge, @jclancy93 - There are 4 Bridge changes.
- [x] Confirmations: @MetaMask/confirmations, @cryptotavares - There are 56 Confirmations changes.
- [x] Extension Platform: @MetaMask/extension-platform, @desi - There are 43 Extension Platform changes.
- [x] Hardware Wallets: @MetaMask/extension-platform - There is 0 Hardware Wallets change but need approval for quick smoke test.
- [x] Lavamoat: @legobeat - There are 1 Lavamoat change.
- [x] MMI: @release-contact-mmi, @shane-t - There are 4 MMI.
- [x] Notifications: @Prithpal-Sooriya, @matteoscurati - There are 8 Notifications changes.
- [x] Snaps Platform: @bowensanders, @MetaMask/snaps, @ajeetd - There are 17 Snaps Platform changes.
- [x] Swaps: @davibroc - There is 1 Swaps change.
- [x] Transactions: @dbrans - There is 1 Transactions change.
- [x] Wallet Framework: @MetaMask/wallet-framework, @desi - There are 10 Wallet Framework changes.
- [x] Wallet UX: @MetaMask/wallet-ux, @darkwing - There are 9 Wallet UX changes.
- [x] Wallet API Platform: @adonesky1 - There are 2 Wallet API Platform changes.
Chrome:
- [ ] Onboarding - create a wallet
- [ ] Transactions - speed up transaction
- [ ] Transactions - cancel transaction
- [ ] Transactions - cancel transaction using same nonce
- [ ] Tokens - import ERC1155 token origin dapp
- [ ] Tokens - autodetect tokens
- [ ] ENS - name resolution
- [ ] Network - switching networks
- [ ] Network - delete networks from the dropdown list
- [ ] Address-book - add a contact to the address book
- [ ] Sign - sign typed data v3 with hardware wallet
- [ ] Sign - sign typed data v4 with hardware wallet
- [ ] Sign - personal sign with hardware wallet
- [ ] Swap - smart swap
- [ ] Settings - about metamask - ui validation
- [ ] Settings - advanced - check custom nonce toggle
- [ ] Settings - advanced - show test networks
- [ ] Contract - deploy contract, mint and import NFT with hardware wallet
- [ ] Contract - hardware wallet qr based connect
- [ ] Upgrade Testing from Master to Release Branch
Firefox:
- [ ] Onboarding - create a wallet
- [ ] Transactions - speed up transaction
- [ ] Transactions - cancel transaction
- [ ] Transactions - cancel transaction using same nonce
- [ ] Tokens - import ERC1155 token origin dapp
- [ ] Tokens - autodetect tokens
- [ ] ENS - name resolution
- [ ] Network - switching networks
- [ ] Network - delete networks from the dropdown list
- [ ] Address-book - add a contact to the address book
- [ ] Sign - sign typed data v3 with hardware wallet
- [ ] Sign - sign typed data v4 with hardware wallet
- [ ] Sign - personal sign with hardware wallet
- [ ] Swap - smart swap
- [ ] Settings - about metamask - ui validation
- [ ] Settings - advanced - check custom nonce toggle
- [ ] Settings - advanced - show test networks
- [ ] Contract - deploy contract, mint and import NFT with hardware wallet
- [ ] Contract - hardware wallet qr based connect
- [ ] Upgrade Testing from Master to Release Branch
Builds ready [19db789]
- builds: chrome, firefox
- builds (beta): chrome
- builds (flask): chrome, firefox
- builds (MMI): chrome, firefox
- builds (test): chrome, firefox
- builds (test-flask): chrome, firefox
- build viz: Build System
- mv3: Background Module Init Stats
- mv3: UI Init Stats
- mv3: Module Load Stats
- mv3: Bundle Size Stats
- mv2: E2e Actions Stats
- code coverage: Report
- storybook: Storybook
- typescript migration: Dashboard
- all artifacts
Page Load Metrics (1893 ± 82 ms)
| Platform | Page | Metric | Min (ms) | Max (ms) | Average (ms) | StandardDeviation (ms) | MarginOfError (ms) |
|---|---|---|---|---|---|---|---|
| Chrome | Home | firstPaint | 243 | 2221 | 1738 | 514 | 247 |
| domContentLoaded | 1619 | 2202 | 1862 | 168 | 80 | ||
| load | 1623 | 2219 | 1893 | 170 | 82 | ||
| domInteractive | 18 | 166 | 45 | 32 | 15 |
Builds ready [073c9fe]
- builds: chrome, firefox
- builds (beta): chrome
- builds (flask): chrome, firefox
- builds (MMI): chrome, firefox
- builds (test): chrome, firefox
- builds (test-flask): chrome, firefox
- build viz: Build System
- mv3: Background Module Init Stats
- mv3: UI Init Stats
- mv3: Module Load Stats
- mv3: Bundle Size Stats
- mv2: E2e Actions Stats
- code coverage: Report
- storybook: Storybook
- typescript migration: Dashboard
- all artifacts
Page Load Metrics (1898 ± 178 ms)
| Platform | Page | Metric | Min (ms) | Max (ms) | Average (ms) | StandardDeviation (ms) | MarginOfError (ms) |
|---|---|---|---|---|---|---|---|
| Chrome | Home | firstPaint | 300 | 3134 | 1832 | 506 | 243 |
| domContentLoaded | 1514 | 3110 | 1869 | 367 | 176 | ||
| load | 1554 | 3131 | 1898 | 370 | 178 | ||
| domInteractive | 23 | 86 | 40 | 19 | 9 |
Chrome:
- [ ] Onboarding - create a wallet
- [ ] Transactions - speed up transaction
- [ ] Transactions - cancel transaction
- [ ] Transactions - cancel transaction using same nonce
- [ ] Tokens - import ERC1155 token origin dapp
- [ ] Tokens - autodetect tokens
- [ ] ENS - name resolution
- [ ] Network - switching networks
- [ ] Network - delete networks from the dropdown list
- [ ] Address-book - add a contact to the address book
- [ ] Sign - sign typed data v3 with hardware wallet
- [ ] Sign - sign typed data v4 with hardware wallet
- [ ] Sign - personal sign with hardware wallet
- [ ] Swap - smart swap
- [ ] Settings - about metamask - ui validation
- [ ] Settings - advanced - check custom nonce toggle
- [ ] Settings - advanced - show test networks
- [ ] Contract - deploy contract, mint and import NFT with hardware wallet
- [ ] Contract - hardware wallet qr based connect
- [ ] Upgrade Testing from Master to Release Branch
Firefox:
- [ ] Onboarding - create a wallet
- [ ] Transactions - speed up transaction
- [ ] Transactions - cancel transaction
- [ ] Transactions - cancel transaction using same nonce
- [ ] Tokens - import ERC1155 token origin dapp
- [ ] Tokens - autodetect tokens
- [ ] ENS - name resolution
- [ ] Network - switching networks
- [ ] Network - delete networks from the dropdown list
- [ ] Address-book - add a contact to the address book
- [ ] Sign - sign typed data v3 with hardware wallet
- [ ] Sign - sign typed data v4 with hardware wallet
- [ ] Sign - personal sign with hardware wallet
- [ ] Swap - smart swap
- [ ] Settings - about metamask - ui validation
- [ ] Settings - advanced - check custom nonce toggle
- [ ] Settings - advanced - show test networks
- [ ] Contract - deploy contract, mint and import NFT with hardware wallet
- [ ] Contract - hardware wallet qr based connect
- [ ] Upgrade Testing from Master to Release Branch
Testing update has been reported in TestRail, so we will discard the Github comment from here on. cc @hjetpoluru
Builds ready [1a65ee7]
- builds: chrome, firefox
- builds (beta): chrome
- builds (flask): chrome, firefox
- builds (MMI): chrome, firefox
- builds (test): chrome, firefox
- builds (test-flask): chrome, firefox
- build viz: Build System
- mv3: Background Module Init Stats
- mv3: UI Init Stats
- mv3: Module Load Stats
- mv3: Bundle Size Stats
- mv2: E2e Actions Stats
- code coverage: Report
- storybook: Storybook
- typescript migration: Dashboard
- all artifacts
Page Load Metrics (1822 ± 78 ms)
| Platform | Page | Metric | Min (ms) | Max (ms) | Average (ms) | StandardDeviation (ms) | MarginOfError (ms) |
|---|---|---|---|---|---|---|---|
| Chrome | Home | firstPaint | 1573 | 2270 | 1818 | 171 | 82 |
| domContentLoaded | 1539 | 2084 | 1774 | 141 | 68 | ||
| load | 1580 | 2196 | 1822 | 162 | 78 | ||
| domInteractive | 25 | 75 | 45 | 16 | 8 |
New and removed dependencies detected. Learn more about Socket for GitHub ↗︎
🚮 Removed packages: npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@contentful/[email protected], npm/@contentful/[email protected], npm/@contentful/[email protected], npm/@lavamoat/[email protected], npm/@metamask/[email protected], npm/@metamask/[email protected], npm/@metamask/[email protected], npm/@metamask/[email protected], npm/@metamask/[email protected], npm/@metamask/[email protected], npm/@metamask/[email protected], npm/@metamask/[email protected], npm/@metamask/[email protected], npm/@metamask/[email protected], npm/@metamask/[email protected], npm/@metamask/[email protected], npm/@metamask/[email protected], npm/@metamask/[email protected], npm/@metamask/[email protected], npm/@metamask/[email protected], npm/@metamask/[email protected], npm/@metamask/[email protected], npm/@metamask/[email protected], npm/@metamask/[email protected], npm/@metamask/[email protected], npm/@metamask/[email protected], npm/@metamask/[email protected], npm/@metamask/[email protected], npm/@metamask/[email protected], npm/@noble/[email protected], npm/@scure/[email protected], npm/@sentry-internal/[email protected], npm/@sentry-internal/[email protected], npm/@sentry-internal/[email protected], npm/@sentry-internal/[email protected], npm/@sentry/[email protected], npm/@sentry/[email protected], npm/@sentry/[email protected], npm/@sentry/[email protected], npm/@storybook/[email protected], npm/@swc/[email protected], npm/@tootallnate/[email protected], npm/@types/[email protected], npm/@types/[email protected], npm/@types/[email protected], npm/@vercel/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected]
Builds ready [a3cf5f7]
- builds: chrome, firefox
- builds (beta): chrome
- builds (flask): chrome, firefox
- builds (MMI): chrome, firefox
- builds (test): chrome, firefox
- builds (test-flask): chrome, firefox
- build viz: Build System
- mv3: Background Module Init Stats
- mv3: UI Init Stats
- mv3: Module Load Stats
- mv3: Bundle Size Stats
- mv2: E2e Actions Stats
- code coverage: Report
- storybook: Storybook
- typescript migration: Dashboard
- all artifacts
Page Load Metrics (1859 ± 72 ms)
| Platform | Page | Metric | Min (ms) | Max (ms) | Average (ms) | StandardDeviation (ms) | MarginOfError (ms) |
|---|---|---|---|---|---|---|---|
| Chrome | Home | firstPaint | 1694 | 2225 | 1855 | 149 | 71 |
| domContentLoaded | 1687 | 2188 | 1832 | 136 | 65 | ||
| load | 1707 | 2232 | 1859 | 150 | 72 | ||
| domInteractive | 19 | 93 | 41 | 18 | 9 |
Builds ready [7954c6d]
- builds: chrome, firefox
- builds (beta): chrome
- builds (flask): chrome, firefox
- builds (MMI): chrome, firefox
- builds (test): chrome, firefox
- builds (test-flask): chrome, firefox
- build viz: Build System
- mv3: Background Module Init Stats
- mv3: UI Init Stats
- mv3: Module Load Stats
- mv3: Bundle Size Stats
- mv2: E2e Actions Stats
- code coverage: Report
- storybook: Storybook
- typescript migration: Dashboard
- all artifacts
Page Load Metrics (1979 ± 88 ms)
| Platform | Page | Metric | Min (ms) | Max (ms) | Average (ms) | StandardDeviation (ms) | MarginOfError (ms) |
|---|---|---|---|---|---|---|---|
| Chrome | Home | firstPaint | 312 | 2387 | 1810 | 512 | 246 |
| domContentLoaded | 1752 | 2378 | 1946 | 171 | 82 | ||
| load | 1778 | 2390 | 1979 | 183 | 88 | ||
| domInteractive | 19 | 77 | 44 | 18 | 8 |
@SocketSecurity ignore-all
New authors are known and network requests are needed. The native code warning is in a package that will not affect our prod builds
Builds ready [ab0250e]
- builds: chrome, firefox
- builds (beta): chrome
- builds (flask): chrome, firefox
- builds (MMI): chrome, firefox
- builds (test): chrome, firefox
- builds (test-flask): chrome, firefox
- build viz: Build System
- mv3: Background Module Init Stats
- mv3: UI Init Stats
- mv3: Module Load Stats
- mv3: Bundle Size Stats
- mv2: E2e Actions Stats
- code coverage: Report
- storybook: Storybook
- typescript migration: Dashboard
- all artifacts
Page Load Metrics (1996 ± 90 ms)
| Platform | Page | Metric | Min (ms) | Max (ms) | Average (ms) | StandardDeviation (ms) | MarginOfError (ms) |
|---|---|---|---|---|---|---|---|
| Chrome | Home | firstPaint | 372 | 2411 | 1897 | 395 | 190 |
| domContentLoaded | 1649 | 2359 | 1951 | 181 | 87 | ||
| load | 1660 | 2417 | 1996 | 187 | 90 | ||
| domInteractive | 20 | 249 | 54 | 48 | 23 |