Skip to content

chore(deps): Upgrade @sentry/browser from 8.33.1 to 10.38.0#42867

Draft
Copilot wants to merge 36 commits into
mainfrom
copilot/upgrade-sentry-sdk-v8-to-v10
Draft

chore(deps): Upgrade @sentry/browser from 8.33.1 to 10.38.0#42867
Copilot wants to merge 36 commits into
mainfrom
copilot/upgrade-sentry-sdk-v8-to-v10

Conversation

Copilot AI commented May 21, 2026

Copy link
Copy Markdown
Contributor

Description

Upgrades @sentry/browser from 8.33.1 to 10.38.0, plus the supporting changes needed for v10 to run inside the extension's LavaMoat-scuttled environment.

Why: keep the error-reporting SDK current and pick up v10's tracing/transport changes. v8 is no longer the supported major.

What changed:

  • Dependencypackage.json / yarn.lock pin @sentry/browser@10.38.0.
  • lazyLoadIntegration patch — re-applied for v10. The v8 patch is removed and replaced by .yarn/patches/@sentry-browser-npm-10.38.0-d1e984c1c7.patch, which stubs lazyLoadIntegration (CDN-based remote-code loading, not permitted in extension stores) across v10's four build variants (cjs/dev, cjs/prod, esm/dev, esm/prod).
  • setupSentry.js — adapted to v10 (logger now imported from @sentry/core rather than @sentry/utils, propagateTraceparent, transport wiring); tests updated (setupSentry.test.js, sentry-make-transport.test.ts).
  • @sentry/utils removal — v10 folded @sentry/utils into @sentry/core. After merging main (which added sentry-trace-propagation.ts on v8 via feat(sentry): propagate W3C traceparent + RAPID baggage on outbound HTTP #43201), ported its addFetchInstrumentationHandler import to @sentry/core and adapted the propagation context's renamed spanIdpropagationSpanId (sentry-trace-propagation.ts + test).
  • LavaMoat scuttling — v10 reads several globals that scuttling otherwise hides (browserify proxy → undefined) or throws on (webpack → "inaccessible under scuttling mode"). Without these the extension fails to boot and every e2e job times out at .controller-loaded:
    • Browserify shared-realm exceptions (development/build/index.js): WebAssembly, Request.
    • Webpack shared-realm exceptions (development/webpack/utils/plugins/LavamoatPlugin/index.ts): WebAssembly, Request, and requestIdleCallback (v10 web-vitals whenIdleOrHidden feature-detects it; under scuttling the detection itself throws).
    • sentry-install bundle proxy allowlist (development/build/scripts.js): addEventListener, removeEventListener, bound to window — v10's browserTracingIntegration registers an INP interaction listener via globalThis.addEventListener synchronously inside Sentry.init.
  • LavaMoat policies — regenerated for the v10 dependency tree (webpack mv2/mv3 × main/beta/flask/experimental).
  • builds.yml — empty serverless environment-detection vars so v10's environment checks don't pick up host values.

Migration verification & coverage equivalence

The upgrade must preserve equivalent telemetry coverage — the same errors, transactions, tags, scrubbing, sampling, and no volume increase — not just a green suite. Verified at three layers (tracked in #43819):

  1. Snapshot-equivalence (existing gate). test/e2e/tests/metrics/* capture the real envelopes sent to a mocked DSN and deepStrictEqual the attached state against committed fixtures (state-snapshots/errors-*), pinning exactly which state fields are sent / masked / removed, and which transactions fire (traces.spec.ts: UI Startup, /home.html). Any required snapshot change is a behavioral delta triaged as benign (timing — e.g. the pendingShieldCohort / srpSessionData race resolved here) vs regression.
  2. Envelope capture-and-diff (Sentry v10 migration: verify equivalent telemetry coverage (envelope capture-and-diff harness) #43819). Record the full v8 vs v10 envelope set for a fixed flow and diff (normalized for volatile IDs/timestamps) — catches tag/span/volume deltas the snapshots don't assert.
  3. Production staged-rollout validation. Compare the metamask Sentry project last-v8 vs first-v10 release: error volume & grouping, transaction/span volume & perf-unit consumption (quota — [Epic] Sentry Quota Breach Incident — Extension Telemetry (May 28 – Jun 2026) #43410), tag/trace completeness, sampling ≈ 0.75%.

v10-specific deltas asserted explicitly: (a) privacy-critical state masking unchanged (no unmasked field leaks); (b) span serialization — the snap startTrace RPC returns a serializable TraceContext; (c) propagateTraceparent emits exactly one traceparent (no double-injection with the manual consensysTracePropagation); (d) beforeSend/rewriteReport scrubbing intact.

Note on the "v10 heavier startup" framing: earlier e2e timeout bumps attributed slow .controller-loaded / non-EVM-icon renders to v10. This was disproven — the v10 diff touches startup by ~7 lines, a v8-vs-v10 microbench shows Sentry.init() flat (~16 ms) and total SDK delta in tens of ms, and the residual e2e flake is a snap-discovery network-mock gap (~9 s provider retry storm), unrelated to Sentry → tracked separately in #43817. The startup-timeout band-aids were removed accordingly.

Changelog

CHANGELOG entry: null

Related issues

Manual testing steps

  1. Build the extension for both pipelines (yarn build:test and yarn build:test:webpack) and load it — it should boot to the home screen with no .controller-loaded timeout and no inaccessible under scuttling mode / addEventListener is not a function errors in the console.
  2. Trigger an error (e.g. via developer options) and confirm it still reports to Sentry with the expected, scrubbed payload.
  3. Confirm browser.sentry-cdn.com is absent from the built dist/ output (the lazyLoadIntegration stub must hold — store compliance).

Screenshots/Recordings

N/A — no user-facing UI change.

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.

Agent-Logs-Url: https://github.com/MetaMask/metamask-extension/sessions/66deb05c-d6c0-4fae-953c-8842d8e47c25

Co-authored-by: MajorLift <34228073+MajorLift@users.noreply.github.com>
@socket-security

socket-security Bot commented May 21, 2026

Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Updated@​sentry/​types@​8.33.1 ⏵ 10.38.010010077 -296 +1100
Updated@​sentry/​browser@​8.33.1 ⏵ 10.38.079 +210091 +196100
Updated@​sentry/​core@​8.33.1 ⏵ 10.38.084 -1610083 +196100
Updated@​sentry/​node@​10.30.0 ⏵ 10.38.097 +110095 +196100

View full report

@socket-security

socket-security Bot commented May 21, 2026

Copy link
Copy Markdown

Warning

MetaMask internal reviewing guidelines:

  • Do not ignore-all
  • Each alert has instructions on how to review if you don't know what it means. If lost, ask your Security Liaison or the supply-chain group
  • Copy-paste ignore lines for specific packages or a group of one kind with a note on what research you did to deem it safe.
    @SocketSecurity ignore npm/PACKAGE@VERSION
Action Severity Alert  (click "▶" to expand/collapse)
Warn Medium
Medium CVE: OpenTelemetry Core: Unbounded memory allocation in W3C Baggage propagation in npm @opentelemetry/core

CVE: GHSA-8988-4f7v-96qf OpenTelemetry Core: Unbounded memory allocation in W3C Baggage propagation (MODERATE)

Affected versions: < 2.8.0

Patched version: 2.8.0

From: ?npm/@opentelemetry/core@2.5.0

ℹ Read more on: This package | This alert | What is a medium CVE?

Next steps: 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@socket.dev.

Suggestion: Remove or replace dependencies that include known medium severity CVEs. Consumers can use dependency overrides or npm audit fix --force to remove vulnerable dependencies.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/@opentelemetry/core@2.5.0. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn Low
Potential code anomaly (AI signal): npm @sentry-internal/replay-canvas is 61.0% likely to have a medium risk anomaly

Notes: The fragment appears to be an instrumentation/telemetry component (likely part of a canvas/WebGL replay library) designed to intercept rendering calls, serialize complex graphics data, and forward mutations to a worker or callback for replay. While the data collection capabilities are extensive and involve potentially sensitive canvas/WebGL state, there is no clear evidence of active data exfiltration, backdoors, or credential theft within this module alone. The primary risk stems from data handling and transmission paths (mutationCb/worker), as well as aggressive runtime patching that could mask failures. Recommend strict data minimization, clear privacy policy, and secure, authenticated sinks for any mutation data in downstream paths.

Confidence: 0.61

Severity: 0.55

From: ?npm/@sentry/browser@10.38.0npm/@sentry-internal/replay-canvas@10.38.0

ℹ Read more on: This package | This alert | What is an AI-detected potential code anomaly?

Next steps: 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@socket.dev.

Suggestion: An AI system found a low-risk anomaly in this package. It may still be fine to use, but you should check that it is safe before proceeding.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/@sentry-internal/replay-canvas@10.38.0. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn Low
Potential code anomaly (AI signal): npm import-in-the-middle is 62.0% likely to have a medium risk anomaly

Notes: This code is an import-hook framework: it registers a global hook into Node’s/module loader pipeline, executes a caller-provided hookFn with module resolution context, and can overwrite namespace.default based on hookFn’s return value. While there is no direct evidence of data exfiltration or system compromise in the shown fragment, the capability to tamper with module exports during import is high-impact and could be abused for supply-chain sabotage. Additional risk signals include a broad builtin-detection override and weak MessageChannel acknowledgement handling (no message validation).

Confidence: 0.62

Severity: 0.56

From: ?npm/@sentry/node@10.38.0npm/import-in-the-middle@2.0.6

ℹ Read more on: This package | This alert | What is an AI-detected potential code anomaly?

Next steps: 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@socket.dev.

Suggestion: An AI system found a low-risk anomaly in this package. It may still be fine to use, but you should check that it is safe before proceeding.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/import-in-the-middle@2.0.6. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Ignoring alerts on:

  • @sentry/core@10.38.0
  • @sentry/browser@10.38.0
  • @sentry-internal/feedback@10.38.0
  • @sentry/node-core@10.38.0

View full report

Copilot AI and others added 3 commits May 21, 2026 17:04
Copilot AI changed the title [WIP] Upgrade Sentry SDK from v8.33.1 to v10.x build: upgrade browser Sentry SDK to v10.38.0 May 21, 2026
Copilot AI requested a review from MajorLift May 21, 2026 17:11
@MajorLift

Copy link
Copy Markdown
Contributor

@metamaskbot update-policies

@metamaskbot

Copy link
Copy Markdown
Collaborator

Policies updated.
👀 Please review the diff for suspicious new powers.

Tip

Follow the policy review process outlined in the LavaMoat Policy Review Process doc before expecting an approval from Policy Reviewers.
🧠 Learn how to read policy diffs: https://lavamoat.github.io/guides/policy-diff/#what-to-look-for-when-reviewing-a-policy-diff

👀 lavamoat/browserify/beta/policy.json changes differ from lavamoat/browserify/main/policy.json changes
👀 lavamoat/browserify/experimental/policy.json changes differ from lavamoat/browserify/main/policy.json changes
👀 lavamoat/browserify/flask/policy.json changes differ from lavamoat/browserify/main/policy.json changes
👀 lavamoat/webpack/mv2/beta/policy.json changes differ from lavamoat/webpack/mv2/main/policy.json changes
👀 lavamoat/webpack/mv2/experimental/policy.json changes differ from lavamoat/webpack/mv2/main/policy.json changes
👀 lavamoat/webpack/mv2/flask/policy.json changes differ from lavamoat/webpack/mv2/main/policy.json changes
👀 lavamoat/webpack/mv3/beta/policy.json changes differ from lavamoat/webpack/mv3/main/policy.json changes
👀 lavamoat/webpack/mv3/experimental/policy.json changes differ from lavamoat/webpack/mv3/main/policy.json changes
👀 lavamoat/webpack/mv3/flask/policy.json changes differ from lavamoat/webpack/mv3/main/policy.json changes

@metamaskbotv2

metamaskbotv2 Bot commented May 21, 2026

Copy link
Copy Markdown
Contributor

✨ Files requiring CODEOWNER review ✨

👨‍🔧 @MetaMask/extension-platform (3 files, +11 -0)
  • 📁 development/
    • 📁 build/
      • 📄 index.js +2 -0
      • 📄 scripts.js +4 -0
    • 📁 webpack/
      • 📁 utils/
        • 📁 plugins/
          • 📁 LavamoatPlugin/
            • 📄 index.ts +5 -0

📜 @MetaMask/policy-reviewers (8 files, +216 -296)
  • 📁 lavamoat/
    • 📁 webpack/
      • 📁 mv2/
        • 📁 beta/
          • 📄 policy.json +27 -37
        • 📁 experimental/
          • 📄 policy.json +27 -37
        • 📁 flask/
          • 📄 policy.json +27 -37
        • 📁 main/
          • 📄 policy.json +27 -37
      • 📁 mv3/
        • 📁 beta/
          • 📄 policy.json +27 -37
        • 📁 experimental/
          • 📄 policy.json +27 -37
        • 📁 flask/
          • 📄 policy.json +27 -37
        • 📁 main/
          • 📄 policy.json +27 -37

Tip

Follow the policy review process outlined in the LavaMoat Policy Review Process doc before expecting an approval from Policy Reviewers.


🧪 @MetaMask/qa (1 files, +31 -9)
  • 📁 test/
    • 📁 e2e/
      • 📄 mock-e2e.js +31 -9

👨‍🔧 @itsyoboieltr (3 files, +11 -0)
  • 📁 development/
    • 📁 build/
      • 📄 index.js +2 -0
      • 📄 scripts.js +4 -0
    • 📁 webpack/
      • 📁 utils/
        • 📁 plugins/
          • 📁 LavamoatPlugin/
            • 📄 index.ts +5 -0

@metamaskbotv2

metamaskbotv2 Bot commented May 21, 2026

Copy link
Copy Markdown
Contributor
Builds ready [5c7e650]
Deprecated Browserify fallback builds
⚡ Performance Benchmarks (Total: 🟢 17 pass · 🟡 0 warn · 🔴 0 fail)

Baseline (latest main): 51036da | Date: 5/2/2026 | Pipeline: 26243014759 | Baseline logs

Interaction Benchmarks · Samples: 5
Benchmarkchrome-webpackfirefox-webpack
loadNewAccount
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]
confirmTx
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]
bridgeUserActions
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]
User Journey Benchmarks · Samples: 5 · mock API

⚠️ Missing data: chrome/webpack/userJourneyAssets, chrome/webpack/userJourneyTransactions

Benchmarkchrome-webpackfirefox-webpack
onboardingImportWallet
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]
onboardingNewWallet
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]
importSrpHome
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]
assetDetails
[Sentry log · main/release]
🟢 [CI log]
solanaAssetDetails
[Sentry log · main/release]
🟢 [CI log]
sendTransactions
[Sentry log · main/release]
🟢 [CI log]
swap
[Sentry log · main/release]
🟢 [CI log]
Dapp Page Load Benchmarks · Samples: 100
Benchmarkchrome-webpack
dappPageLoad
[Sentry log · main/release]
🟢 [CI log]

📈 Results compared to the previous 5 runs on main

  • dappPageLoad/pageLoadTime: +19%
Bundle size diffs [🚀 Bundle size reduced!]
  • background: 250 Bytes (0%)
  • ui: -26 KiB (-0.27%)
  • common: -56.07 KiB (-0.45%)

@github-actions

Copy link
Copy Markdown
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.

@metamaskbotv2

metamaskbotv2 Bot commented May 21, 2026

Copy link
Copy Markdown
Contributor
Builds ready [393b097]
Deprecated Browserify fallback builds
⚡ Performance Benchmarks (Total: 🟢 17 pass · 🟡 0 warn · 🔴 0 fail)

Baseline (latest main): 51036da | Date: 5/2/2026 | Pipeline: 26245055393 | Baseline logs

Interaction Benchmarks · Samples: 5
Benchmarkchrome-webpackfirefox-webpack
loadNewAccount
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]
confirmTx
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]
bridgeUserActions
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]
User Journey Benchmarks · Samples: 5 · mock API

⚠️ Missing data: chrome/webpack/userJourneyAssets, chrome/webpack/userJourneyTransactions

Benchmarkchrome-webpackfirefox-webpack
onboardingImportWallet
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]
onboardingNewWallet
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]
importSrpHome
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]
assetDetails
[Sentry log · main/release]
🟢 [CI log]
solanaAssetDetails
[Sentry log · main/release]
🟢 [CI log]
sendTransactions
[Sentry log · main/release]
🟢 [CI log]
swap
[Sentry log · main/release]
🟢 [CI log]
Dapp Page Load Benchmarks · Samples: 100
Benchmarkchrome-webpack
dappPageLoad
[Sentry log · main/release]
🟢 [CI log]

📈 Results compared to the previous 5 runs on main

  • dappPageLoad/pageLoadTime: +25%
Bundle size diffs
  • background: 58 Bytes (0%)
  • ui: 5 Bytes (0%)
  • common: -69 Bytes (0%)

@mm-token-exchange-service

Copy link
Copy Markdown
Builds ready [83c026e]
Deprecated Browserify fallback builds
⚡ Performance Benchmarks (Total: 🟢 15 pass · 🟡 10 warn · 🔴 0 fail)

Baseline (latest main): b033547 | Date: 6/15/2026 | Pipeline: 27576619509 | Baseline logs

Interaction Benchmarks · Samples: 5
Benchmarkchrome-webpackfirefox-webpack
loadNewAccount
[Sentry log · main/release]
🟢 [CI log]🟡 [CI log]
confirmTx
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]
bridgeUserActions
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]

📈 Results compared to the previous 5 runs on main

  • loadNewAccount/inp: +32%
  • loadNewAccount/lcp: -12%
  • loadNewAccount/cls: -100%
  • confirmTx/inp: +22%
  • bridgeUserActions/bridge_load_asset_picker: +25%
  • bridgeUserActions/longTaskCount: +100%
  • bridgeUserActions/longTaskTotalDuration: +47%
  • bridgeUserActions/longTaskMaxDuration: +24%
  • bridgeUserActions/tbt: +53%
  • bridgeUserActions/lcp: +16%
  • loadNewAccount/load_new_account: +56%
  • loadNewAccount/total: +56%
  • loadNewAccount/lcp: +1030%
  • confirmTx/confirm_tx: +10%
  • confirmTx/longTaskCount: -100%
  • confirmTx/longTaskTotalDuration: -100%
  • confirmTx/longTaskMaxDuration: -100%
  • confirmTx/tbt: -100%
  • confirmTx/total: +10%
  • confirmTx/fcp: -47%
  • confirmTx/lcp: +1178%
  • bridgeUserActions/bridge_load_page: +198%
  • bridgeUserActions/bridge_load_asset_picker: +74%
  • bridgeUserActions/bridge_search_token: +14%
  • bridgeUserActions/longTaskCount: -100%
  • bridgeUserActions/longTaskTotalDuration: -100%
  • bridgeUserActions/longTaskMaxDuration: -100%
  • bridgeUserActions/tbt: -100%
  • bridgeUserActions/total: +58%
  • bridgeUserActions/inp: +29%
  • bridgeUserActions/fcp: -46%
  • bridgeUserActions/lcp: +1154%

🌐 Core Web Vitals — 🟢 good · 🟡 needs improvement · 🔴 poor (web.dev thresholds)

  • 🟡 loadNewAccount/FCP: p75 1.8s
Startup Benchmarks · Samples: 100
Benchmarkchrome-webpackfirefox-webpack
startupStandardHome
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]
startupPowerUserHome
[Sentry log · main/release]
🟡 [CI log]🟡 [CI log]

📈 Results compared to the previous 5 runs on main

  • startupStandardHome/numNetworkReqs: +50%
  • startupPowerUserHome/setupStore: -15%
  • startupStandardHome/inp: -29%
  • startupPowerUserHome/domInteractive: -31%
  • startupPowerUserHome/numNetworkReqs: +11%
  • startupPowerUserHome/fcp: -32%

🌐 Core Web Vitals — 🟢 good · 🟡 needs improvement · 🔴 poor (web.dev thresholds)

  • 🔴 startupPowerUserHome/INP: p75 528ms
  • 🟡 startupPowerUserHome/LCP: p75 2.8s
User Journey Benchmarks · Samples: 5 · mock API
Benchmarkchrome-webpackfirefox-webpack
onboardingImportWallet
[Sentry log · main/release]
🟡 [CI log]
🟡 total
🟢 [CI log]
onboardingNewWallet
[Sentry log · main/release]
🟢 [CI log]🟡 [CI log]
🟡 total
assetDetails
[Sentry log · main/release]
🟢 [CI log]🟡 [CI log]
solanaAssetDetails
[Sentry log · main/release]
🟢 [CI log]🟡 [CI log]
importSrpHome
[Sentry log · main/release]
🟢 [CI log]🟡 [CI log]
sendTransactions
[Sentry log · main/release]
🟡 [CI log]
🔴 reviewTransactionToConfirmationPage
🟡 [CI log]
swap
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]

📈 Results compared to the previous 5 runs on main

  • onboardingImportWallet/metricsToWalletReadyScreen: +14%
  • onboardingImportWallet/doneButtonToHomeScreen: -88%
  • onboardingImportWallet/openAccountMenuToAccountListLoaded: +447%
  • onboardingImportWallet/longTaskCount: -80%
  • onboardingImportWallet/longTaskTotalDuration: -93%
  • onboardingImportWallet/longTaskMaxDuration: -90%
  • onboardingImportWallet/tbt: -98%
  • onboardingImportWallet/total: -64%
  • onboardingNewWallet/doneButtonToAssetList: -20%
  • onboardingNewWallet/longTaskCount: -50%
  • onboardingNewWallet/longTaskTotalDuration: -49%
  • onboardingNewWallet/tbt: -49%
  • onboardingNewWallet/total: -17%
  • solanaAssetDetails/assetClickToPriceChart: -52%
  • solanaAssetDetails/longTaskCount: -100%
  • solanaAssetDetails/longTaskTotalDuration: -100%
  • solanaAssetDetails/longTaskMaxDuration: -100%
  • solanaAssetDetails/tbt: -100%
  • solanaAssetDetails/total: -52%
  • solanaAssetDetails/cls: -92%
  • importSrpHome/loginToHomeScreen: -29%
  • importSrpHome/longTaskCount: -40%
  • importSrpHome/longTaskTotalDuration: -50%
  • importSrpHome/longTaskMaxDuration: -29%
  • importSrpHome/tbt: -56%
  • importSrpHome/inp: -42%
  • importSrpHome/fcp: -18%
  • importSrpHome/lcp: -10%
  • sendTransactions/selectTokenToSendFormLoaded: -54%
  • sendTransactions/reviewTransactionToConfirmationPage: +355%
  • sendTransactions/longTaskCount: -50%
  • sendTransactions/longTaskTotalDuration: -67%
  • sendTransactions/longTaskMaxDuration: -43%
  • sendTransactions/tbt: -91%
  • sendTransactions/total: +341%
  • sendTransactions/inp: -28%
  • sendTransactions/lcp: +19%
  • sendTransactions/cls: -45%

🌐 Core Web Vitals — 🟢 good · 🟡 needs improvement · 🔴 poor (web.dev thresholds)

  • 🟡 sendTransactions/FCP: p75 1.8s
  • 🟡 assetDetails/FCP: p75 1.9s
  • 🟡 solanaAssetDetails/FCP: p75 1.9s
  • 🟡 importSrpHome/FCP: p75 1.9s
  • 🟡 sendTransactions/FCP: p75 1.9s
Dapp Page Load Benchmarks · Samples: 100
Benchmarkchrome-webpack
dappPageLoad
[Sentry log · main/release]
🟢 [CI log]
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 7.31 KiB (0.11%)
  • ui: 1.2 KiB (0.01%)
  • common: 7.32 KiB (0.05%)

Root cause of the snap/multichain e2e failures: the shared
`waitForNonEvmAccountsLoaded` (hit by every login-based test) waits for the
Solana/Bitcoin snap account icons with the default 10s timeout. The icons
render in <1s locally, but on constrained 2-core CI runners the v10 Sentry
SDK's heavier startup pushes the render just past 10s — so it's a runner
timing margin, not a functional regression (the specs pass locally on v10).
Allow 30s for these snap-backed icons.
MajorLift added a commit that referenced this pull request Jun 16, 2026
Once the Sentry v10 upgrade (#42867) ships, `propagateTraceparent: true`
attaches `traceparent` to outbound requests natively, so the manual
traceparent build/inject path here becomes dead. Add TODOs flagging the
removable pieces and where to enable `propagateTraceparent` in setupSentry.
The RAPID baggage and `consensys-request-id` correlation stay.
Reconcile `yarn.lock` against the merged `package.json`, keeping the v10
`@sentry/*` resolutions alongside main's dependency bumps.
@mm-token-exchange-service

Copy link
Copy Markdown
Builds ready [d5c7da6]
Deprecated Browserify fallback builds
⚡ Performance Benchmarks (Total: 🟢 12 pass · 🟡 13 warn · 🔴 0 fail)

Baseline (latest main): 7dc7939 | Date: 6/16/2026 | Pipeline: 27605086371 | Baseline logs

Interaction Benchmarks · Samples: 5
Benchmarkchrome-webpackfirefox-webpack
loadNewAccount
[Sentry log · main/release]
🟡 [CI log]🟢 [CI log]
🔴 load_new_account
confirmTx
[Sentry log · main/release]
🟡 [CI log]🟡 [CI log]
bridgeUserActions
[Sentry log · main/release]
🟢 [CI log]🟡 [CI log]

📈 Results compared to the previous 5 runs on main

  • loadNewAccount/load_new_account: +53%
  • loadNewAccount/total: +53%
  • loadNewAccount/inp: +12%
  • confirmTx/longTaskTotalDuration: +13%
  • confirmTx/tbt: +17%
  • confirmTx/inp: +47%
  • bridgeUserActions/bridge_load_page: +36%
  • bridgeUserActions/longTaskCount: +100%
  • bridgeUserActions/longTaskTotalDuration: +43%
  • bridgeUserActions/lcp: +920%
  • loadNewAccount/load_new_account: +604%
  • loadNewAccount/total: +604%
  • loadNewAccount/lcp: +1112%
  • confirmTx/confirm_tx: +13%
  • confirmTx/longTaskCount: -100%
  • confirmTx/longTaskTotalDuration: -100%
  • confirmTx/longTaskMaxDuration: -100%
  • confirmTx/tbt: -100%
  • confirmTx/total: +13%
  • confirmTx/lcp: +1151%
  • bridgeUserActions/bridge_load_page: +100%
  • bridgeUserActions/bridge_load_asset_picker: +62%
  • bridgeUserActions/longTaskCount: -100%
  • bridgeUserActions/longTaskTotalDuration: -100%
  • bridgeUserActions/longTaskMaxDuration: -100%
  • bridgeUserActions/tbt: -100%
  • bridgeUserActions/total: +39%
  • bridgeUserActions/inp: -15%
  • bridgeUserActions/lcp: +1171%

🌐 Core Web Vitals — 🟢 good · 🟡 needs improvement · 🔴 poor (web.dev thresholds)

  • 🟡 loadNewAccount/FCP: p75 1.8s
  • 🟡 confirmTx/FCP: p75 1.8s
  • 🟡 confirmTx/FCP: p75 1.8s
  • 🟡 bridgeUserActions/FCP: p75 1.9s
Startup Benchmarks · Samples: 100
Benchmarkchrome-webpackfirefox-webpack
startupStandardHome
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]
startupPowerUserHome
[Sentry log · main/release]
🟡 [CI log]🟡 [CI log]

📈 Results compared to the previous 5 runs on main

  • startupStandardHome/uiStartup: +34%
  • startupStandardHome/load: +33%
  • startupStandardHome/domContentLoaded: +33%
  • startupStandardHome/domInteractive: +51%
  • startupStandardHome/firstPaint: +36%
  • startupStandardHome/backgroundConnect: +32%
  • startupStandardHome/firstReactRender: +36%
  • startupStandardHome/loadScripts: +33%
  • startupStandardHome/setupStore: +32%
  • startupStandardHome/numNetworkReqs: +50%
  • startupStandardHome/longTaskTotalDuration: +38%
  • startupStandardHome/longTaskMaxDuration: +34%
  • startupStandardHome/tbt: +44%
  • startupStandardHome/inp: +156%
  • startupStandardHome/fcp: +34%
  • startupStandardHome/lcp: +41%
  • startupPowerUserHome/domInteractive: -18%
  • startupPowerUserHome/backgroundConnect: -13%
  • startupPowerUserHome/setupStore: -23%
  • startupStandardHome/inp: -38%
  • startupPowerUserHome/uiStartup: -12%
  • startupPowerUserHome/domInteractive: -33%
  • startupPowerUserHome/backgroundConnect: -20%
  • startupPowerUserHome/setupStore: -32%
  • startupPowerUserHome/fcp: -30%
  • startupPowerUserHome/lcp: -12%

🌐 Core Web Vitals — 🟢 good · 🟡 needs improvement · 🔴 poor (web.dev thresholds)

  • 🔴 startupPowerUserHome/INP: p75 552ms
  • 🟡 startupPowerUserHome/LCP: p75 2.6s
User Journey Benchmarks · Samples: 5 · mock API
Benchmarkchrome-webpackfirefox-webpack
onboardingImportWallet
[Sentry log · main/release]
🟡 [CI log]
🟡 total
🟢 [CI log]
onboardingNewWallet
[Sentry log · main/release]
🟢 [CI log]🟡 [CI log]
🟡 total
assetDetails
[Sentry log · main/release]
🟢 [CI log]🟡 [CI log]
solanaAssetDetails
[Sentry log · main/release]
🟢 [CI log]🟡 [CI log]
importSrpHome
[Sentry log · main/release]
🟢 [CI log]🟡 [CI log]
sendTransactions
[Sentry log · main/release]
🟡 [CI log]🟡 [CI log]
swap
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]

📈 Results compared to the previous 5 runs on main

  • onboardingImportWallet/doneButtonToHomeScreen: -88%
  • onboardingImportWallet/openAccountMenuToAccountListLoaded: +431%
  • onboardingImportWallet/longTaskCount: -79%
  • onboardingImportWallet/longTaskTotalDuration: -92%
  • onboardingImportWallet/longTaskMaxDuration: -88%
  • onboardingImportWallet/tbt: -96%
  • onboardingImportWallet/total: -63%
  • onboardingNewWallet/createPwToRecoveryScreen: +22%
  • onboardingNewWallet/doneButtonToAssetList: -16%
  • onboardingNewWallet/longTaskTotalDuration: -27%
  • onboardingNewWallet/longTaskMaxDuration: -24%
  • onboardingNewWallet/tbt: -76%
  • onboardingNewWallet/total: -13%
  • solanaAssetDetails/assetClickToPriceChart: -65%
  • solanaAssetDetails/longTaskCount: -100%
  • solanaAssetDetails/longTaskTotalDuration: -100%
  • solanaAssetDetails/longTaskMaxDuration: -100%
  • solanaAssetDetails/tbt: -100%
  • solanaAssetDetails/total: -65%
  • solanaAssetDetails/cls: -89%
  • importSrpHome/loginToHomeScreen: -18%
  • importSrpHome/homeAfterImportWithNewWallet: +62%
  • importSrpHome/longTaskCount: -20%
  • importSrpHome/longTaskTotalDuration: -33%
  • importSrpHome/longTaskMaxDuration: -15%
  • importSrpHome/tbt: -37%
  • importSrpHome/total: +47%
  • importSrpHome/inp: -28%
  • importSrpHome/lcp: -12%
  • sendTransactions/openSendPageFromHome: -36%
  • sendTransactions/selectTokenToSendFormLoaded: -54%
  • sendTransactions/reviewTransactionToConfirmationPage: -36%
  • sendTransactions/longTaskCount: -100%
  • sendTransactions/longTaskTotalDuration: -100%
  • sendTransactions/longTaskMaxDuration: -100%
  • sendTransactions/tbt: -100%
  • sendTransactions/total: -35%
  • sendTransactions/inp: -10%
  • sendTransactions/cls: -74%

🌐 Core Web Vitals — 🟢 good · 🟡 needs improvement · 🔴 poor (web.dev thresholds)

  • 🟡 sendTransactions/INP: p75 224ms
  • 🟡 sendTransactions/FCP: p75 1.8s
  • 🟡 assetDetails/FCP: p75 1.9s
  • 🟡 solanaAssetDetails/FCP: p75 1.9s
  • 🟡 importSrpHome/FCP: p75 2.0s
  • 🟡 sendTransactions/FCP: p75 1.9s
Dapp Page Load Benchmarks · Samples: 100
Benchmarkchrome-webpack
dappPageLoad
[Sentry log · main/release]
🟢 [CI log]
Bundle size diffs
  • background: 94 Bytes (0%)
  • ui: 5 Bytes (0%)
  • common: 20 Bytes (0%)

After a wallet unlock the controllers re-initialize, and the v10 Sentry SDK's
heavier startup pushes `.controller-loaded` past the default 10s selenium wait
on 2-core CI runners (`multichain-accounts/add-account.spec.ts` "added account
should persist after wallet lock"). Bump the startup wait in `navigate` and
`waitForControllersLoaded` to 30s without inflating the global `this.timeout`.
Resolve `errors.spec.ts`: drop `MetaMetricsController.latestNonAnonymousEventTimestamp`
from `removedBackgroundFields` per main's #43556 (the field was removed from the
controller), keeping the timing-dependent `pendingShieldCohort` / `srpSessionData`
masks. Reconcile and dedupe `yarn.lock` against the merged `package.json`
(material-ui→mui migration, `transaction-controller` 67→68).
@mm-token-exchange-service

Copy link
Copy Markdown
Builds ready [6a9af03]
Deprecated Browserify fallback builds
⚡ Performance Benchmarks (Total: 🟢 15 pass · 🟡 10 warn · 🔴 0 fail)

Baseline (latest main): dd70ee8 | Date: 6/16/2026 | Pipeline: 27619724886 | Baseline logs

Interaction Benchmarks · Samples: 5
Benchmarkchrome-webpackfirefox-webpack
loadNewAccount
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]
confirmTx
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]
bridgeUserActions
[Sentry log · main/release]
🟢 [CI log]🟡 [CI log]

📈 Results compared to the previous 5 runs on main

  • loadNewAccount/load_new_account: +22%
  • loadNewAccount/total: +22%
  • loadNewAccount/inp: +42%
  • loadNewAccount/lcp: +14%
  • confirmTx/tbt: -10%
  • confirmTx/inp: +32%
  • bridgeUserActions/bridge_load_page: +16%
  • bridgeUserActions/tbt: -19%
  • bridgeUserActions/inp: +14%
  • loadNewAccount/load_new_account: +36%
  • loadNewAccount/total: +36%
  • loadNewAccount/lcp: +1146%
  • confirmTx/confirm_tx: +11%
  • confirmTx/longTaskCount: -100%
  • confirmTx/longTaskTotalDuration: -100%
  • confirmTx/longTaskMaxDuration: -100%
  • confirmTx/tbt: -100%
  • confirmTx/total: +11%
  • confirmTx/fcp: -51%
  • confirmTx/lcp: +1191%
  • bridgeUserActions/bridge_load_page: +67%
  • bridgeUserActions/bridge_load_asset_picker: +49%
  • bridgeUserActions/longTaskCount: -100%
  • bridgeUserActions/longTaskTotalDuration: -100%
  • bridgeUserActions/longTaskMaxDuration: -100%
  • bridgeUserActions/tbt: -100%
  • bridgeUserActions/total: +14%
  • bridgeUserActions/inp: -12%
  • bridgeUserActions/fcp: +11%
  • bridgeUserActions/lcp: +1219%

🌐 Core Web Vitals — 🟢 good · 🟡 needs improvement · 🔴 poor (web.dev thresholds)

  • 🟡 bridgeUserActions/FCP: p75 1.9s
Startup Benchmarks · Samples: 100
Benchmarkchrome-webpackfirefox-webpack
startupStandardHome
[Sentry log · main/release]
🟢 [CI log]🟡 [CI log]
🟡 loadScripts
startupPowerUserHome
[Sentry log · main/release]
🟡 [CI log]🟡 [CI log]

📈 Results compared to the previous 5 runs on main

  • startupStandardHome/backgroundConnect: -13%
  • startupStandardHome/setupStore: -11%
  • startupStandardHome/numNetworkReqs: +50%
  • startupStandardHome/cls: -100%
  • startupPowerUserHome/domInteractive: -19%
  • startupPowerUserHome/backgroundConnect: -12%
  • startupPowerUserHome/setupStore: -11%
  • startupPowerUserHome/numNetworkReqs: -13%
  • startupPowerUserHome/longTaskCount: -14%
  • startupStandardHome/load: +11%
  • startupStandardHome/domContentLoaded: +11%
  • startupStandardHome/domInteractive: +13%
  • startupStandardHome/backgroundConnect: +13%
  • startupStandardHome/firstReactRender: +12%
  • startupStandardHome/initialActions: +11%
  • startupStandardHome/loadScripts: +11%
  • startupStandardHome/setupStore: +14%
  • startupStandardHome/inp: -29%
  • startupStandardHome/lcp: +10%
  • startupPowerUserHome/uiStartup: -11%
  • startupPowerUserHome/domInteractive: -26%
  • startupPowerUserHome/backgroundConnect: -39%
  • startupPowerUserHome/setupStore: -36%
  • startupPowerUserHome/fcp: -27%
  • startupPowerUserHome/lcp: -13%

🌐 Core Web Vitals — 🟢 good · 🟡 needs improvement · 🔴 poor (web.dev thresholds)

  • 🔴 startupPowerUserHome/INP: p75 584ms
  • 🟡 startupPowerUserHome/LCP: p75 2.6s
User Journey Benchmarks · Samples: 5 · mock API
Benchmarkchrome-webpackfirefox-webpack
onboardingImportWallet
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]
onboardingNewWallet
[Sentry log · main/release]
🟢 [CI log]🟡 [CI log]
🟡 total
assetDetails
[Sentry log · main/release]
🟢 [CI log]🟡 [CI log]
solanaAssetDetails
[Sentry log · main/release]
🟢 [CI log]🟡 [CI log]
importSrpHome
[Sentry log · main/release]
🟡 [CI log]🟡 [CI log]
sendTransactions
[Sentry log · main/release]
🟢 [CI log]🟡 [CI log]
swap
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]

📈 Results compared to the previous 5 runs on main

  • onboardingImportWallet/srpButtonToSrpForm: -19%
  • onboardingImportWallet/confirmSrpToPwForm: -18%
  • onboardingImportWallet/pwFormToMetricsScreen: -17%
  • onboardingImportWallet/metricsToWalletReadyScreen: -16%
  • onboardingImportWallet/doneButtonToHomeScreen: -89%
  • onboardingImportWallet/openAccountMenuToAccountListLoaded: +219%
  • onboardingImportWallet/longTaskCount: -77%
  • onboardingImportWallet/longTaskTotalDuration: -95%
  • onboardingImportWallet/longTaskMaxDuration: -92%
  • onboardingImportWallet/tbt: -99%
  • onboardingImportWallet/total: -71%
  • onboardingNewWallet/skipBackupToMetricsScreen: +19%
  • onboardingNewWallet/agreeButtonToOnboardingSuccess: +32%
  • onboardingNewWallet/doneButtonToAssetList: -24%
  • onboardingNewWallet/longTaskMaxDuration: -11%
  • onboardingNewWallet/tbt: -15%
  • onboardingNewWallet/total: -20%
  • solanaAssetDetails/assetClickToPriceChart: -54%
  • solanaAssetDetails/longTaskCount: -100%
  • solanaAssetDetails/longTaskTotalDuration: -100%
  • solanaAssetDetails/longTaskMaxDuration: -100%
  • solanaAssetDetails/tbt: -100%
  • solanaAssetDetails/total: -54%
  • solanaAssetDetails/inp: +21%
  • solanaAssetDetails/cls: -91%
  • importSrpHome/loginToHomeScreen: -13%
  • importSrpHome/openAccountMenuAfterLogin: +19%
  • importSrpHome/homeAfterImportWithNewWallet: +61%
  • importSrpHome/longTaskCount: -33%
  • importSrpHome/longTaskTotalDuration: -38%
  • importSrpHome/longTaskMaxDuration: -15%
  • importSrpHome/tbt: -46%
  • importSrpHome/total: +46%
  • importSrpHome/inp: -13%
  • importSrpHome/fcp: +22%
  • importSrpHome/lcp: +18%
  • sendTransactions/openSendPageFromHome: -18%
  • sendTransactions/selectTokenToSendFormLoaded: -50%
  • sendTransactions/reviewTransactionToConfirmationPage: -42%
  • sendTransactions/longTaskCount: -100%
  • sendTransactions/longTaskTotalDuration: -100%
  • sendTransactions/longTaskMaxDuration: -100%
  • sendTransactions/tbt: -100%
  • sendTransactions/total: -41%
  • sendTransactions/inp: -26%
  • sendTransactions/cls: -89%

🌐 Core Web Vitals — 🟢 good · 🟡 needs improvement · 🔴 poor (web.dev thresholds)

  • 🟡 importSrpHome/INP: p75 208ms
  • 🟡 importSrpHome/FCP: p75 2.1s
  • 🟡 assetDetails/FCP: p75 1.9s
  • 🟡 solanaAssetDetails/FCP: p75 1.9s
  • 🟡 importSrpHome/FCP: p75 1.8s
  • 🟡 sendTransactions/FCP: p75 2.0s
Dapp Page Load Benchmarks · Samples: 100
Benchmarkchrome-webpack
dappPageLoad
[Sentry log · main/release]
🟢 [CI log]
Bundle size diffs
  • background: 94 Bytes (0%)
  • ui: 5 Bytes (0%)
  • common: 20 Bytes (0%)

The `.controller-loaded` and snap-backed non-EVM icon waits are polled
ceilings, not fixed delays — they return as soon as their readiness signal
appears. The earlier hard-coded 30s only mattered on a genuine hang, but it
also slowed local failures from 10s to 30s for no benefit (local runners
aren't the 2-core CI constraint). Replace the four literals with a single
named `STARTUP_LOAD_TIMEOUT` (30s on CI, 10s locally): CI keeps the headroom
for the heavier Sentry v10 startup, local fails fast again.
Port newly-merged trace-propagation code off the v10-removed `@sentry/utils`:
`addFetchInstrumentationHandler` now imports from `@sentry/core`, and the scope
propagation context's `spanId` is read as v10's renamed `propagationSpanId`
(`sentry-trace-propagation.ts` + its test). Reconcile and dedupe `yarn.lock`
against the merged `package.json`.

Drop the e2e startup-timeout band-aids (`STARTUP_LOAD_TIMEOUT` and the 30s
`.controller-loaded` / non-EVM-icon bumps). The "heavier v10 startup" premise
behind them was never measured, so restore the default 10s waits and let CI
reveal whether the slowness is real rather than masking it.
@mm-token-exchange-service

Copy link
Copy Markdown
Builds ready [29c8c11]
Deprecated Browserify fallback builds
⚡ Performance Benchmarks (Total: 🟢 14 pass · 🟡 11 warn · 🔴 0 fail)

Baseline (latest main): 8549a67 | Date: 6/23/2026 | Pipeline: 28046663077 | Baseline logs

Interaction Benchmarks · Samples: 5
Benchmarkchrome-webpackfirefox-webpack
loadNewAccount
[Sentry log · main/release]
🟢 [CI log]🟡 [CI log]
confirmTx
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]
bridgeUserActions
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]

📈 Results compared to the previous 5 runs on main

  • loadNewAccount/load_new_account: -11%
  • loadNewAccount/total: -11%
  • loadNewAccount/lcp: -11%
  • confirmTx/inp: +33%
  • bridgeUserActions/bridge_load_asset_picker: -35%
  • bridgeUserActions/longTaskCount: -44%
  • bridgeUserActions/longTaskTotalDuration: -44%
  • bridgeUserActions/longTaskMaxDuration: -18%
  • bridgeUserActions/tbt: -50%
  • bridgeUserActions/inp: +20%
  • loadNewAccount/inp: -33%
  • loadNewAccount/fcp: -59%
  • loadNewAccount/lcp: +1440%
  • confirmTx/confirm_tx: +12%
  • confirmTx/longTaskCount: -100%
  • confirmTx/longTaskTotalDuration: -100%
  • confirmTx/longTaskMaxDuration: -100%
  • confirmTx/tbt: -100%
  • confirmTx/total: +12%
  • confirmTx/fcp: -49%
  • confirmTx/lcp: +1108%
  • bridgeUserActions/bridge_load_page: +189%
  • bridgeUserActions/bridge_load_asset_picker: +12%
  • bridgeUserActions/bridge_search_token: -10%
  • bridgeUserActions/longTaskCount: -100%
  • bridgeUserActions/longTaskTotalDuration: -100%
  • bridgeUserActions/longTaskMaxDuration: -100%
  • bridgeUserActions/tbt: -100%
  • bridgeUserActions/total: +11%
  • bridgeUserActions/inp: +70%
  • bridgeUserActions/fcp: -46%
  • bridgeUserActions/lcp: +1145%

🌐 Core Web Vitals — 🟢 good · 🟡 needs improvement · 🔴 poor (web.dev thresholds)

  • 🟡 loadNewAccount/LCP: p75 2.8s
Startup Benchmarks · Samples: 100
Benchmarkchrome-webpackfirefox-webpack
startupStandardHome
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]
startupPowerUserHome
[Sentry log · main/release]
🟡 [CI log]🟡 [CI log]

📈 Results compared to the previous 5 runs on main

  • startupStandardHome/setupStore: -19%
  • startupPowerUserHome/setupStore: -17%
  • startupStandardHome/domInteractive: -32%
  • startupStandardHome/fcp: -32%
  • startupPowerUserHome/uiStartup: +20%
  • startupPowerUserHome/load: +14%
  • startupPowerUserHome/domContentLoaded: +14%
  • startupPowerUserHome/domInteractive: +26%
  • startupPowerUserHome/backgroundConnect: +46%
  • startupPowerUserHome/firstReactRender: +19%
  • startupPowerUserHome/loadScripts: +14%
  • startupPowerUserHome/setupStore: +15%
  • startupPowerUserHome/inp: +72%
  • startupPowerUserHome/fcp: +29%
  • startupPowerUserHome/lcp: +19%

🌐 Core Web Vitals — 🟢 good · 🟡 needs improvement · 🔴 poor (web.dev thresholds)

  • 🔴 startupPowerUserHome/INP: p75 552ms
  • 🟡 startupPowerUserHome/INP: p75 344ms
  • 🟡 startupPowerUserHome/LCP: p75 3.9s
User Journey Benchmarks · Samples: 5 · mock API
Benchmarkchrome-webpackfirefox-webpack
onboardingImportWallet
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]
onboardingNewWallet
[Sentry log · main/release]
🟢 [CI log]🟡 [CI log]
🟡 total
assetDetails
[Sentry log · main/release]
🟡 [CI log]🟡 [CI log]
solanaAssetDetails
[Sentry log · main/release]
🟡 [CI log]🟡 [CI log]
importSrpHome
[Sentry log · main/release]
🟢 [CI log]🟡 [CI log]
sendTransactions
[Sentry log · main/release]
🟡 [CI log]🟡 [CI log]
swap
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]

📈 Results compared to the previous 5 runs on main

  • onboardingImportWallet/doneButtonToHomeScreen: -81%
  • onboardingImportWallet/openAccountMenuToAccountListLoaded: -18%
  • onboardingImportWallet/longTaskCount: -76%
  • onboardingImportWallet/longTaskTotalDuration: -92%
  • onboardingImportWallet/longTaskMaxDuration: -88%
  • onboardingImportWallet/tbt: -97%
  • onboardingImportWallet/total: -64%
  • onboardingNewWallet/doneButtonToAssetList: -31%
  • onboardingNewWallet/longTaskCount: -58%
  • onboardingNewWallet/longTaskTotalDuration: -39%
  • onboardingNewWallet/longTaskMaxDuration: -19%
  • onboardingNewWallet/tbt: -45%
  • onboardingNewWallet/total: -26%
  • solanaAssetDetails/assetClickToPriceChart: -51%
  • solanaAssetDetails/total: -51%
  • solanaAssetDetails/cls: +35%
  • importSrpHome/loginToHomeScreen: -37%
  • importSrpHome/homeAfterImportWithNewWallet: +33%
  • importSrpHome/longTaskCount: -41%
  • importSrpHome/longTaskTotalDuration: -51%
  • importSrpHome/longTaskMaxDuration: -31%
  • importSrpHome/tbt: -57%
  • importSrpHome/total: +13%
  • importSrpHome/inp: -34%
  • importSrpHome/fcp: -23%
  • importSrpHome/lcp: -22%
  • importSrpHome/cls: +1009%
  • sendTransactions/openSendPageFromHome: -36%
  • sendTransactions/selectTokenToSendFormLoaded: -16%
  • sendTransactions/longTaskCount: -100%
  • sendTransactions/longTaskTotalDuration: -100%
  • sendTransactions/longTaskMaxDuration: -100%
  • sendTransactions/tbt: -100%
  • sendTransactions/inp: -15%
  • sendTransactions/cls: -93%

🌐 Core Web Vitals — 🟢 good · 🟡 needs improvement · 🔴 poor (web.dev thresholds)

  • 🟡 assetDetails/FCP: p75 1.9s
  • 🟡 solanaAssetDetails/FCP: p75 1.8s
  • 🟡 sendTransactions/FCP: p75 1.8s
  • 🔴 assetDetails/INP: p75 744ms
  • 🟡 assetDetails/FCP: p75 1.9s
  • 🟡 solanaAssetDetails/FCP: p75 1.9s
  • 🟡 importSrpHome/FCP: p75 1.9s
  • 🟡 sendTransactions/FCP: p75 1.8s
Dapp Page Load Benchmarks · Samples: 100
Benchmarkchrome-webpack
dappPageLoad
[Sentry log · main/release]
🟢 [CI log]

📈 Results compared to the previous 5 runs on main

  • dappPageLoad/pageLoadTime: +14%
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 86.99 KiB (0.79%)
  • ui: 112.53 KiB (0.65%)
  • common: 0 Bytes (0%)
  • other: 0 Bytes (0%)
  • contentScripts: 1.37 KiB (0.07%)
  • zip: 97.11 KiB (0.36%)

On 2-core CI the Solana/Bitcoin snap account discovery hits an unmocked-network
retry storm (~9s) before the icons render, landing at the default 10s wait. Give
`waitForNonEvmAccountsLoaded` a 20s ceiling as a stopgap; it stays polled, so the
happy path is unaffected. Not a Sentry/v10 issue — root cause and the real fix
(globalize the snap discovery mocks) are tracked in #43817; revert this then.
@mm-token-exchange-service

Copy link
Copy Markdown
Builds ready [d932004]
Deprecated Browserify fallback builds
⚡ Performance Benchmarks (Total: 🟢 14 pass · 🟡 11 warn · 🔴 0 fail)

Baseline (latest main): c4b43e9 | Date: 6/23/2026 | Pipeline: 28063919768 | Baseline logs

Interaction Benchmarks · Samples: 5
Benchmarkchrome-webpackfirefox-webpack
loadNewAccount
[Sentry log · main/release]
🟡 [CI log]🟢 [CI log]
confirmTx
[Sentry log · main/release]
🟢 [CI log]🟡 [CI log]
bridgeUserActions
[Sentry log · main/release]
🟡 [CI log]🟢 [CI log]

📈 Results compared to the previous 5 runs on main

  • loadNewAccount/load_new_account: +26%
  • loadNewAccount/total: +26%
  • loadNewAccount/lcp: -14%
  • loadNewAccount/cls: +1482%
  • confirmTx/inp: +40%
  • confirmTx/lcp: -10%
  • bridgeUserActions/longTaskCount: -50%
  • bridgeUserActions/longTaskTotalDuration: -44%
  • bridgeUserActions/inp: +27%
  • loadNewAccount/inp: -33%
  • loadNewAccount/fcp: -51%
  • loadNewAccount/lcp: +1209%
  • confirmTx/confirm_tx: +12%
  • confirmTx/longTaskCount: -100%
  • confirmTx/longTaskTotalDuration: -100%
  • confirmTx/longTaskMaxDuration: -100%
  • confirmTx/tbt: -100%
  • confirmTx/total: +12%
  • confirmTx/lcp: +1162%
  • bridgeUserActions/bridge_load_page: +277%
  • bridgeUserActions/bridge_load_asset_picker: +13%
  • bridgeUserActions/longTaskCount: -100%
  • bridgeUserActions/longTaskTotalDuration: -100%
  • bridgeUserActions/longTaskMaxDuration: -100%
  • bridgeUserActions/tbt: -100%
  • bridgeUserActions/total: +22%
  • bridgeUserActions/inp: +76%
  • bridgeUserActions/fcp: -50%
  • bridgeUserActions/lcp: +1171%

🌐 Core Web Vitals — 🟢 good · 🟡 needs improvement · 🔴 poor (web.dev thresholds)

  • 🟡 loadNewAccount/FCP: p75 1.9s
  • 🟡 bridgeUserActions/FCP: p75 1.8s
  • 🟡 confirmTx/FCP: p75 1.9s
Startup Benchmarks · Samples: 100
Benchmarkchrome-webpackfirefox-webpack
startupStandardHome
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]
startupPowerUserHome
[Sentry log · main/release]
🟡 [CI log]🟡 [CI log]

📈 Results compared to the previous 5 runs on main

  • startupStandardHome/setupStore: -20%
  • startupPowerUserHome/uiStartup: -17%
  • startupPowerUserHome/load: -14%
  • startupPowerUserHome/domContentLoaded: -15%
  • startupPowerUserHome/domInteractive: -16%
  • startupPowerUserHome/backgroundConnect: -15%
  • startupPowerUserHome/firstReactRender: -15%
  • startupPowerUserHome/initialActions: -38%
  • startupPowerUserHome/loadScripts: -15%
  • startupPowerUserHome/setupStore: -33%
  • startupPowerUserHome/longTaskCount: -20%
  • startupPowerUserHome/longTaskTotalDuration: -23%
  • startupPowerUserHome/longTaskMaxDuration: -17%
  • startupPowerUserHome/tbt: -22%
  • startupPowerUserHome/inp: -13%
  • startupPowerUserHome/fcp: -15%
  • startupPowerUserHome/lcp: +234%
  • startupStandardHome/uiStartup: -20%
  • startupStandardHome/load: -20%
  • startupStandardHome/domContentLoaded: -20%
  • startupStandardHome/backgroundConnect: -19%
  • startupStandardHome/firstReactRender: -23%
  • startupStandardHome/loadScripts: -20%
  • startupStandardHome/setupStore: -23%
  • startupStandardHome/lcp: -20%
  • startupPowerUserHome/uiStartup: +17%
  • startupPowerUserHome/load: +16%
  • startupPowerUserHome/domContentLoaded: +16%
  • startupPowerUserHome/domInteractive: +49%
  • startupPowerUserHome/backgroundConnect: +47%
  • startupPowerUserHome/loadScripts: +18%
  • startupPowerUserHome/setupStore: +10%
  • startupPowerUserHome/fcp: +30%
  • startupPowerUserHome/lcp: +17%

🌐 Core Web Vitals — 🟢 good · 🟡 needs improvement · 🔴 poor (web.dev thresholds)

  • 🟡 startupPowerUserHome/INP: p75 440ms
  • 🟡 startupPowerUserHome/LCP: p75 3.9s
User Journey Benchmarks · Samples: 5 · mock API
Benchmarkchrome-webpackfirefox-webpack
onboardingImportWallet
[Sentry log · main/release]
🟡 [CI log]
🟡 total
🟢 [CI log]
onboardingNewWallet
[Sentry log · main/release]
🟢 [CI log]
🔴 total
🟢 [CI log]
assetDetails
[Sentry log · main/release]
🟢 [CI log]🟡 [CI log]
solanaAssetDetails
[Sentry log · main/release]
🟢 [CI log]🟡 [CI log]
importSrpHome
[Sentry log · main/release]
🟡 [CI log]🟡 [CI log]
sendTransactions
[Sentry log · main/release]
🟢 [CI log]🟡 [CI log]
swap
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]

📈 Results compared to the previous 5 runs on main

  • onboardingImportWallet/doneButtonToHomeScreen: -82%
  • onboardingImportWallet/longTaskCount: -50%
  • onboardingImportWallet/longTaskTotalDuration: -87%
  • onboardingImportWallet/longTaskMaxDuration: -88%
  • onboardingImportWallet/tbt: -96%
  • onboardingImportWallet/total: -58%
  • onboardingNewWallet/createPwToRecoveryScreen: +17%
  • onboardingNewWallet/skipBackupToMetricsScreen: +14%
  • onboardingNewWallet/agreeButtonToOnboardingSuccess: +12%
  • onboardingNewWallet/doneButtonToAssetList: +225%
  • onboardingNewWallet/longTaskCount: -17%
  • onboardingNewWallet/longTaskTotalDuration: -31%
  • onboardingNewWallet/longTaskMaxDuration: -36%
  • onboardingNewWallet/tbt: -59%
  • onboardingNewWallet/total: +196%
  • solanaAssetDetails/assetClickToPriceChart: -59%
  • solanaAssetDetails/total: -59%
  • importSrpHome/openAccountMenuAfterLogin: +34%
  • importSrpHome/homeAfterImportWithNewWallet: +63%
  • importSrpHome/longTaskCount: -32%
  • importSrpHome/longTaskTotalDuration: -33%
  • importSrpHome/tbt: -31%
  • importSrpHome/total: +49%
  • importSrpHome/inp: -23%
  • importSrpHome/cls: -35%
  • sendTransactions/openSendPageFromHome: -12%
  • sendTransactions/reviewTransactionToConfirmationPage: -10%
  • sendTransactions/longTaskCount: -100%
  • sendTransactions/longTaskTotalDuration: -100%
  • sendTransactions/longTaskMaxDuration: -100%
  • sendTransactions/tbt: -100%
  • sendTransactions/total: -11%
  • sendTransactions/inp: -18%
  • sendTransactions/cls: -92%

🌐 Core Web Vitals — 🟢 good · 🟡 needs improvement · 🔴 poor (web.dev thresholds)

  • 🟡 importSrpHome/INP: p75 216ms
  • 🟡 assetDetails/FCP: p75 1.9s
  • 🟡 solanaAssetDetails/FCP: p75 1.9s
  • 🟡 importSrpHome/FCP: p75 1.9s
  • 🟡 sendTransactions/FCP: p75 2.0s
Dapp Page Load Benchmarks · Samples: 100
Benchmarkchrome-webpack
dappPageLoad
[Sentry log · main/release]
🟢 [CI log]
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 86.99 KiB (0.79%)
  • ui: 112.53 KiB (0.65%)
  • common: 0 Bytes (0%)
  • other: 0 Bytes (0%)
  • contentScripts: 1.37 KiB (0.07%)
  • zip: 97.13 KiB (0.36%)

@MajorLift

Copy link
Copy Markdown
Contributor

@copilot revert this commit d932004

…re globalized

#43818 globalized the Bitcoin esplora and Solana `getSignaturesForAddress`
discovery mocks in `mock-e2e.js`, eliminating the unmocked-network retry storm
that delayed non-EVM icon render. `waitForNonEvmAccountsLoaded` returns to the
default timeout, matching `main`. Resolves the stopgap tracked by #43817.
@mm-token-exchange-service

Copy link
Copy Markdown
Builds ready [9f8f4f0]
Deprecated Browserify fallback builds
⚡ Performance Benchmarks (Total: 🟢 13 pass · 🟡 12 warn · 🔴 0 fail)

Baseline (latest main): 8bdc82d | Date: 6/26/2026 | Pipeline: 28248502337 | Baseline logs

Interaction Benchmarks · Samples: 5
Benchmarkchrome-webpackfirefox-webpack
loadNewAccount
[Sentry log · main/release]
🟡 [CI log]🟡 [CI log]
confirmTx
[Sentry log · main/release]
🟡 [CI log]🟢 [CI log]
bridgeUserActions
[Sentry log · main/release]
🟡 [CI log]🟢 [CI log]

📈 Results compared to the previous 5 runs on main

  • loadNewAccount/load_new_account: +40%
  • loadNewAccount/total: +40%
  • loadNewAccount/cls: +1482%
  • confirmTx/tbt: +11%
  • confirmTx/inp: +30%
  • bridgeUserActions/longTaskCount: +25%
  • bridgeUserActions/longTaskTotalDuration: +18%
  • bridgeUserActions/inp: +16%
  • loadNewAccount/load_new_account: +17%
  • loadNewAccount/total: +17%
  • loadNewAccount/inp: -31%
  • loadNewAccount/lcp: +1115%
  • confirmTx/confirm_tx: +13%
  • confirmTx/longTaskCount: -100%
  • confirmTx/longTaskTotalDuration: -100%
  • confirmTx/longTaskMaxDuration: -100%
  • confirmTx/tbt: -100%
  • confirmTx/total: +13%
  • confirmTx/inp: +70%
  • confirmTx/fcp: -51%
  • confirmTx/lcp: +1200%
  • bridgeUserActions/bridge_load_page: +324%
  • bridgeUserActions/bridge_load_asset_picker: +135%
  • bridgeUserActions/longTaskCount: -100%
  • bridgeUserActions/longTaskTotalDuration: -100%
  • bridgeUserActions/longTaskMaxDuration: -100%
  • bridgeUserActions/tbt: -100%
  • bridgeUserActions/total: +48%
  • bridgeUserActions/inp: -11%
  • bridgeUserActions/lcp: +1197%

🌐 Core Web Vitals — 🟢 good · 🟡 needs improvement · 🔴 poor (web.dev thresholds)

  • 🟡 loadNewAccount/FCP: p75 1.9s
  • 🟡 confirmTx/FCP: p75 1.9s
  • 🟡 bridgeUserActions/FCP: p75 1.9s
  • 🟡 loadNewAccount/FCP: p75 1.8s
Startup Benchmarks · Samples: 100
Benchmarkchrome-webpackfirefox-webpack
startupStandardHome
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]
startupPowerUserHome
[Sentry log · main/release]
🟡 [CI log]🟡 [CI log]

📈 Results compared to the previous 5 runs on main

  • startupStandardHome/firstPaint: +12%
  • startupStandardHome/setupStore: -17%
  • startupStandardHome/lcp: +12%
  • startupPowerUserHome/uiStartup: +32%
  • startupPowerUserHome/load: +26%
  • startupPowerUserHome/domContentLoaded: +25%
  • startupPowerUserHome/domInteractive: +18%
  • startupPowerUserHome/backgroundConnect: +43%
  • startupPowerUserHome/firstReactRender: +26%
  • startupPowerUserHome/initialActions: +50%
  • startupPowerUserHome/loadScripts: +25%
  • startupPowerUserHome/setupStore: +23%
  • startupPowerUserHome/numNetworkReqs: -24%
  • startupPowerUserHome/longTaskCount: +60%
  • startupPowerUserHome/longTaskTotalDuration: +45%
  • startupPowerUserHome/longTaskMaxDuration: +34%
  • startupPowerUserHome/tbt: +42%
  • startupPowerUserHome/inp: +31%
  • startupPowerUserHome/fcp: +24%
  • startupStandardHome/domInteractive: -21%
  • startupStandardHome/setupStore: -13%
  • startupStandardHome/fcp: -19%
  • startupPowerUserHome/backgroundConnect: +39%
  • startupPowerUserHome/setupStore: -34%
  • startupPowerUserHome/inp: -12%

🌐 Core Web Vitals — 🟢 good · 🟡 needs improvement · 🔴 poor (web.dev thresholds)

  • 🔴 startupPowerUserHome/INP: p75 544ms
  • 🟡 startupPowerUserHome/LCP: p75 3.7s
User Journey Benchmarks · Samples: 5 · mock API
Benchmarkchrome-webpackfirefox-webpack
onboardingImportWallet
[Sentry log · main/release]
🟡 [CI log]
🟡 total
🟢 [CI log]
onboardingNewWallet
[Sentry log · main/release]
🟢 [CI log]🟡 [CI log]
🟡 total
assetDetails
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]
solanaAssetDetails
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]
importSrpHome
[Sentry log · main/release]
🟡 [CI log]🟡 [CI log]
sendTransactions
[Sentry log · main/release]
🟡 [CI log]🟡 [CI log]
swap
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]

📈 Results compared to the previous 5 runs on main

  • onboardingImportWallet/srpButtonToSrpForm: +10%
  • onboardingImportWallet/confirmSrpToPwForm: +12%
  • onboardingImportWallet/pwFormToMetricsScreen: +12%
  • onboardingImportWallet/doneButtonToHomeScreen: -86%
  • onboardingImportWallet/openAccountMenuToAccountListLoaded: -23%
  • onboardingImportWallet/longTaskCount: -50%
  • onboardingImportWallet/longTaskTotalDuration: -86%
  • onboardingImportWallet/longTaskMaxDuration: -89%
  • onboardingImportWallet/tbt: -97%
  • onboardingImportWallet/total: -66%
  • onboardingNewWallet/doneButtonToAssetList: -35%
  • onboardingNewWallet/longTaskCount: -50%
  • onboardingNewWallet/longTaskTotalDuration: -50%
  • onboardingNewWallet/longTaskMaxDuration: -26%
  • onboardingNewWallet/tbt: -56%
  • onboardingNewWallet/total: -30%
  • solanaAssetDetails/assetClickToPriceChart: -63%
  • solanaAssetDetails/total: -63%
  • solanaAssetDetails/inp: +30%
  • solanaAssetDetails/cls: +63%
  • importSrpHome/loginToHomeScreen: -22%
  • importSrpHome/openAccountMenuAfterLogin: +52%
  • importSrpHome/homeAfterImportWithNewWallet: +43%
  • importSrpHome/longTaskCount: -26%
  • importSrpHome/longTaskTotalDuration: -34%
  • importSrpHome/longTaskMaxDuration: -25%
  • importSrpHome/tbt: -41%
  • importSrpHome/total: +34%
  • importSrpHome/inp: -26%
  • importSrpHome/fcp: +15%
  • importSrpHome/lcp: -10%
  • importSrpHome/cls: -72%
  • sendTransactions/openSendPageFromHome: -27%
  • sendTransactions/selectTokenToSendFormLoaded: -23%
  • sendTransactions/longTaskCount: -100%
  • sendTransactions/longTaskTotalDuration: -100%
  • sendTransactions/longTaskMaxDuration: -100%
  • sendTransactions/tbt: -100%
  • sendTransactions/inp: -22%
  • sendTransactions/cls: -93%

🌐 Core Web Vitals — 🟢 good · 🟡 needs improvement · 🔴 poor (web.dev thresholds)

  • 🟡 importSrpHome/FCP: p75 1.9s
  • 🟡 sendTransactions/FCP: p75 1.9s
  • 🟡 importSrpHome/FCP: p75 1.9s
  • 🟡 sendTransactions/FCP: p75 1.9s
Dapp Page Load Benchmarks · Samples: 100
Benchmarkchrome-webpack
dappPageLoad
[Sentry log · main/release]
🟢 [CI log]
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 86.89 KiB (0.79%)
  • ui: 112.41 KiB (0.65%)
  • common: 0 Bytes (0%)
  • other: 0 Bytes (0%)
  • contentScripts: 1.37 KiB (0.07%)
  • zip: 95.69 KiB (0.36%)

… v10

Reverting the stopgap removal: with the default 10s wait, three webpack-chrome
e2e shards time out on `img[src="./images/bitcoin-logo.svg"]` (`test-snap-bip-44`,
`multichain-account-list-menu`, `add-account`), each at ~10s. #43818's globalized
Bitcoin/Solana discovery mocks are present in this branch but the non-EVM icons
still render between 10s and 20s on the v10 SDK, so the widened wait is required.
The residual latency (v10 snap-account discovery vs. a remaining unmocked call)
needs a separate root-cause pass.
@sonarqubecloud

Copy link
Copy Markdown

Quality Gate Failed Quality Gate failed

Failed conditions
12.5% Coverage on New Code (required ≥ 80%)

See analysis details on SonarQube Cloud

@mm-token-exchange-service

Copy link
Copy Markdown
Builds ready [ed560c5]
Deprecated Browserify fallback builds
⚡ Performance Benchmarks (Total: 🟢 10 pass · 🟡 14 warn · 🔴 0 fail)

Baseline (latest main): 0561a17 | Date: 6/26/2026 | Pipeline: 28251277036 | Baseline logs

Interaction Benchmarks · Samples: 5
Benchmarkchrome-webpackfirefox-webpack
loadNewAccount
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]
confirmTx
[Sentry log · main/release]
🟡 [CI log]🟢 [CI log]
bridgeUserActions
[Sentry log · main/release]
🟡 [CI log]🟡 [CI log]

📈 Results compared to the previous 5 runs on main

  • loadNewAccount/load_new_account: +20%
  • loadNewAccount/total: +20%
  • loadNewAccount/lcp: -11%
  • confirmTx/inp: +20%
  • bridgeUserActions/bridge_load_asset_picker: +15%
  • bridgeUserActions/longTaskCount: +25%
  • bridgeUserActions/longTaskTotalDuration: +10%
  • bridgeUserActions/longTaskMaxDuration: -13%
  • bridgeUserActions/tbt: -17%
  • bridgeUserActions/inp: +46%
  • loadNewAccount/inp: -10%
  • loadNewAccount/fcp: -51%
  • loadNewAccount/lcp: +1084%
  • confirmTx/confirm_tx: +10%
  • confirmTx/longTaskCount: -100%
  • confirmTx/longTaskTotalDuration: -100%
  • confirmTx/longTaskMaxDuration: -100%
  • confirmTx/tbt: -100%
  • confirmTx/total: +10%
  • confirmTx/lcp: +1237%
  • bridgeUserActions/bridge_load_page: +377%
  • bridgeUserActions/bridge_load_asset_picker: +122%
  • bridgeUserActions/longTaskCount: -100%
  • bridgeUserActions/longTaskTotalDuration: -100%
  • bridgeUserActions/longTaskMaxDuration: -100%
  • bridgeUserActions/tbt: -100%
  • bridgeUserActions/total: +50%
  • bridgeUserActions/inp: +15%
  • bridgeUserActions/lcp: +1196%

🌐 Core Web Vitals — 🟢 good · 🟡 needs improvement · 🔴 poor (web.dev thresholds)

  • 🟡 confirmTx/FCP: p75 1.8s
  • 🟡 bridgeUserActions/FCP: p75 1.8s
  • 🟡 bridgeUserActions/FCP: p75 1.8s
Startup Benchmarks · Samples: 100
Benchmarkchrome-webpackfirefox-webpack
startupStandardHome
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]
startupPowerUserHome
[Sentry log · main/release]
🟡 [CI log]

📈 Results compared to the previous 5 runs on main

  • startupStandardHome/setupStore: -11%
  • startupStandardHome/domInteractive: +57%
  • startupStandardHome/fcp: +52%
  • startupPowerUserHome/domInteractive: -12%
  • startupPowerUserHome/backgroundConnect: -12%
  • startupPowerUserHome/inp: +24%

🌐 Core Web Vitals — 🟢 good · 🟡 needs improvement · 🔴 poor (web.dev thresholds)

  • 🟡 startupPowerUserHome/INP: p75 264ms
  • 🟡 startupPowerUserHome/LCP: p75 3.8s
User Journey Benchmarks · Samples: 5 · mock API
Benchmarkchrome-webpackfirefox-webpack
onboardingImportWallet
[Sentry log · main/release]
🟡 [CI log]
🟡 total
🟢 [CI log]
onboardingNewWallet
[Sentry log · main/release]
🟢 [CI log]
🔴 total
🟡 [CI log]
🟡 total
assetDetails
[Sentry log · main/release]
🟡 [CI log]🟡 [CI log]
solanaAssetDetails
[Sentry log · main/release]
🟡 [CI log]🟡 [CI log]
importSrpHome
[Sentry log · main/release]
🟡 [CI log]🟡 [CI log]
sendTransactions
[Sentry log · main/release]
🟡 [CI log]🟡 [CI log]
swap
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]

📈 Results compared to the previous 5 runs on main

  • onboardingImportWallet/metricsToWalletReadyScreen: -16%
  • onboardingImportWallet/doneButtonToHomeScreen: -65%
  • onboardingImportWallet/openAccountMenuToAccountListLoaded: -34%
  • onboardingImportWallet/longTaskCount: -52%
  • onboardingImportWallet/longTaskTotalDuration: -89%
  • onboardingImportWallet/longTaskMaxDuration: -88%
  • onboardingImportWallet/tbt: -96%
  • onboardingImportWallet/total: -68%
  • onboardingNewWallet/doneButtonToAssetList: +180%
  • onboardingNewWallet/longTaskCount: -55%
  • onboardingNewWallet/longTaskTotalDuration: -44%
  • onboardingNewWallet/longTaskMaxDuration: -28%
  • onboardingNewWallet/tbt: -61%
  • onboardingNewWallet/total: +159%
  • solanaAssetDetails/assetClickToPriceChart: -51%
  • solanaAssetDetails/total: -51%
  • solanaAssetDetails/inp: +20%
  • solanaAssetDetails/cls: +117%
  • importSrpHome/loginToHomeScreen: -22%
  • importSrpHome/openAccountMenuAfterLogin: -19%
  • importSrpHome/homeAfterImportWithNewWallet: +55%
  • importSrpHome/longTaskCount: -28%
  • importSrpHome/longTaskTotalDuration: -33%
  • importSrpHome/longTaskMaxDuration: -21%
  • importSrpHome/tbt: -39%
  • importSrpHome/total: +41%
  • importSrpHome/inp: -22%
  • importSrpHome/fcp: +10%
  • importSrpHome/cls: -63%
  • sendTransactions/openSendPageFromHome: -34%
  • sendTransactions/selectTokenToSendFormLoaded: -33%
  • sendTransactions/reviewTransactionToConfirmationPage: -10%
  • sendTransactions/longTaskCount: -100%
  • sendTransactions/longTaskTotalDuration: -100%
  • sendTransactions/longTaskMaxDuration: -100%
  • sendTransactions/tbt: -100%
  • sendTransactions/total: -10%
  • sendTransactions/inp: -17%
  • sendTransactions/cls: -93%

🌐 Core Web Vitals — 🟢 good · 🟡 needs improvement · 🔴 poor (web.dev thresholds)

  • 🟡 assetDetails/FCP: p75 1.8s
  • 🟡 solanaAssetDetails/FCP: p75 1.8s
  • 🟡 importSrpHome/FCP: p75 1.8s
  • 🟡 sendTransactions/FCP: p75 1.9s
  • 🟡 assetDetails/FCP: p75 2.0s
  • 🟡 solanaAssetDetails/FCP: p75 2.0s
  • 🟡 importSrpHome/FCP: p75 1.8s
  • 🟡 sendTransactions/FCP: p75 1.9s
Dapp Page Load Benchmarks · Samples: 100
Benchmarkchrome-webpack
dappPageLoad
[Sentry log · main/release]
🟢 [CI log]
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 86.94 KiB (0.79%)
  • ui: 112.41 KiB (0.65%)
  • common: 0 Bytes (0%)
  • other: 0 Bytes (0%)
  • contentScripts: 1.37 KiB (0.07%)
  • zip: 95.66 KiB (0.36%)

Root cause of the slow non-EVM account icons (and the e2e timeouts that the
`NON_EVM_ICON_TIMEOUT` stopgap was masking): the Bitcoin snap requests
`GET /esplora/block-height/{n}` during account discovery, but the global
`setupDefaultNonEvmDiscoveryMocks` only covered `/blocks`, `/blocks/tip/*`,
`/scripthash/*` and `/fee-estimates`. The unmocked `/block-height` request fell
through to the generic empty-200 catch-all, whose malformed body throws in the
snap and restarts the entire discovery cycle. The failing CI run shows the storm
directly: `/blocks`, `/scripthash/<h>/txs` and `/block-height/0` each requested
97 times in one spec, so the Bitcoin icon never renders within the default wait.

The snap is byte-identical on v8 and v10, so the gap predates this PR; the v10
SDK's far heavier startup envelope volume (~1100 Sentry POSTs per spec vs. a
fraction of that on v8) is what tips the same storm past the 10s threshold v8
fit under. Mocking `/block-height` lets discovery complete in a single pass on
both, eliminating the storm at its source and removing the need for the stopgap.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

3 participants