Skip to content

feat(mfa): add MFA flow analytics events - #47595

Open
mathieuartu wants to merge 8 commits into
mainfrom
feat/mfa-analytics
Open

mathieuartu wants to merge 8 commits into
mainfrom
feat/mfa-analytics

Conversation

@mathieuartu

@mathieuartu mathieuartu commented Nov 3, 2026 •

Copy link
Copy Markdown
Contributor

Description

Changelog

CHANGELOG entry: null

Related issues

Fixes: https://consensyssoftware.atlassian.net/browse/MUL-2477

Manual testing steps

  1. Go to the settings page and play with the MFA Kit QA presets
  2. Verify that segment events are correctly dispatched

Screenshots/Recordings

Before

After

Pre-merge author checklist

Pre-merge reviewer checklist

  • I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed).
  • I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.

Note

Medium Risk
Touches authentication MFA flows and analytics consent plumbing, but events exclude codes/secrets and analytics errors cannot block completion.

Overview
Adds Segment-aligned MFA analytics across the MFA kit and extension UI, wired through MetaMetrics under the Auth category.

A new createMfaTracker module emits flow lifecycle events (started / completed / failed / cancelled), step views, inline and failure-screen errors (with grouped error_type), method picks, OTP resends (user vs auto), and error CTAs (try_again, learn_more, contact_support). Each flow gets a stable flow_id plus entry_point, operation, flow_type, and required methods; tracking failures are swallowed so they never affect outcomes. useMfa passes an optional trackEvent hook into startMfaFlow, mapping kit event names to new MetaMetricsEventName entries.

Typing and UX tweaks: MfaReason.operation is now ${MfaEntryPoint}.${string} (tests use qa.test instead of bare test). The code step treats OTP cooldowns as countdowns (no MFA Error Viewed), auto-resend sends trigger: 'auto, and expiry recovery toggles codeResent so the OTP UI clears reliably. MFA step components dispatch errorCtaClicked for retry, support, and learn-more actions.

Reviewed by Cursor Bugbot for commit 40adf54. Bugbot is set up for automated code reviews on this repo. Configure here.

@mathieuartu mathieuartu self-assigned this Nov 3, 2026
@mathieuartu mathieuartu added the team-accounts-framework Accounts team label Nov 3, 2026
@mathieuartu
mathieuartu requested a review from a team as a code owner November 3, 2026 19:41
@github-actions github-actions Bot added the size-L label Nov 3, 2026
@github-actions

github-actions Bot commented Nov 3, 2026

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.

@metamask-ci

metamask-ci Bot commented Nov 3, 2026 •

Copy link
Copy Markdown
Contributor

✨ Files requiring CODEOWNER review ✨

🔑 @MetaMask/accounts-engineers (24 files, +913 -57)
  • 📁 ui/
    • 📁 hooks/
      • 📁 identity/
        • 📁 mfa/
          • 📁 engine/
            • 📄 activeFlow.test.ts +3 -3
            • 📄 analytics.test.ts +221 -0
            • 📄 analytics.ts +235 -0
            • 📄 errors.ts +28 -1
            • 📄 flow.test.ts +197 -1
            • 📄 flow.ts +47 -2
            • 📄 types.ts +19 -3
            • 📄 bindings.test.ts +1 -1
            • 📄 useMfa.test.ts +38 -2
            • 📄 useMfa.ts +55 -18
    • 📁 pages/
      • 📁 mfa/
        • 📁 steps/
          • 📄 code-step.tsx +12 -9
          • 📄 email-entry-step.tsx +1 -0
          • 📄 failure-step.tsx +10 -2
          • 📄 intro-step.tsx +1 -0
          • 📄 passkey-step.tsx +5 -1
          • 📄 picker-step.tsx +1 -0
          • 📄 step-layout.tsx +9 -1
          • 📄 steps.test.tsx +22 -8
          • 📄 totp-setup-step.tsx +1 -0
          • 📄 mfa-flow-host.test.tsx +1 -1
          • 📄 mfa-flow-launcher.test.tsx +1 -1
      • 📁 settings/
        • 📁 mfa-settings/
          • 📄 mfa-method-details.tsx +2 -1
          • 📄 mfa-qa-presets.tsx +1 -1
          • 📄 mfa-settings.tsx +2 -1

👨‍🔧 @MetaMask/core-extension-ux (3 files, +5 -3)
  • 📁 ui/
    • 📁 pages/
      • 📁 settings/
        • 📁 mfa-settings/
          • 📄 mfa-method-details.tsx +2 -1
          • 📄 mfa-qa-presets.tsx +1 -1
          • 📄 mfa-settings.tsx +2 -1

@cursor cursor Bot left a comment •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Stale Bugbot comment from a previous run.

@metamask-ci

metamask-ci Bot commented Nov 3, 2026

Copy link
Copy Markdown
Contributor
Builds ready [e25538a]
⚡ Performance Benchmarks (Total: 🟢 6 pass · 🟡 4 warn · 🔴 3 fail)

Baseline (latest main): f693520 | Date: 11/3/2026 | Pipeline: 41705692760 | Baseline logs

Metricschrome-webpackfirefox-webpack
loadNewAccount
[Sentry log · main/release]
🔴 load_new_account(p95) [CI log]🔴 load_new_account(p95) [CI log]
onboardingNewWallet
[Sentry log · main/release]
🟢 [CI log]🔴 [CI log]

Regressions (🔴 3 failures)

Interaction Benchmarks · Samples: 5 🔴 2
Benchmarkchrome-webpackfirefox-webpack
loadNewAccount
[Sentry log · main/release]
🔴 [CI log]
🔴 load_new_account
🔴 [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: +181%
  • ↑ loadNewAccount/total: +181%
  • ↑ loadNewAccount/cls: +282%
  • ↑ confirmTx/longTaskTotalDuration: +52%
  • ↑ confirmTx/longTaskMaxDuration: +73%
  • ↑ confirmTx/tbt: +88%
  • ↑ bridgeUserActions/bridge_load_page: +67%
  • ↑ bridgeUserActions/bridge_load_asset_picker: +109%
  • ↑ bridgeUserActions/longTaskCount: +82%
  • ↑ bridgeUserActions/longTaskTotalDuration: +51%
  • ↑ bridgeUserActions/tbt: +69%
  • ↑ bridgeUserActions/total: +22%
  • ↑ bridgeUserActions/fcp: +11%
  • ↑ bridgeUserActions/cls: +281%
  • ↑ loadNewAccount/load_new_account: +182%
  • ↑ loadNewAccount/total: +182%
  • ↓ loadNewAccount/inp: -25%
  • ↑ loadNewAccount/fcp: +20%
  • ↑ loadNewAccount/lcp: +1216%
  • ↓ confirmTx/longTaskCount: -100%
  • ↓ confirmTx/longTaskTotalDuration: -100%
  • ↓ confirmTx/longTaskMaxDuration: -100%
  • ↓ confirmTx/tbt: -100%
  • ↓ confirmTx/inp: -21%
  • ↓ confirmTx/fcp: -35%
  • ↑ confirmTx/lcp: +1267%
  • ↑ bridgeUserActions/bridge_load_page: +250%
  • ↑ bridgeUserActions/bridge_load_asset_picker: +121%
  • ↑ bridgeUserActions/bridge_search_token: +33%
  • ↓ bridgeUserActions/longTaskCount: -100%
  • ↓ bridgeUserActions/longTaskTotalDuration: -100%
  • ↓ bridgeUserActions/longTaskMaxDuration: -100%
  • ↓ bridgeUserActions/tbt: -100%
  • ↑ bridgeUserActions/total: +71%
  • ↑ bridgeUserActions/inp: +54%
  • ↓ bridgeUserActions/fcp: -46%
  • ↑ bridgeUserActions/lcp: +1261%

🌐 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 2.1s
Startup Benchmarks · Samples: 100
Benchmarkchrome-webpackfirefox-webpack
startupStandardHome
[Sentry log · main/release]
🟢 [CI log]🟡 [CI log]
🟡 loadScripts

📈 Results compared to the previous 5 runs on main

  • ↑ startupStandardHome/uiStartup: +15%
  • ↑ startupStandardHome/load: +11%
  • ↑ startupStandardHome/domContentLoaded: +11%
  • ↑ startupStandardHome/domInteractive: +26%
  • ↓ startupStandardHome/firstReactRender: -98%
  • ↓ startupStandardHome/initialActions: -29%
  • ↑ startupStandardHome/loadScripts: +10%
  • ↑ startupStandardHome/setupStore: +82%
  • ↑ startupStandardHome/longTaskMaxDuration: +11%
  • ↑ startupStandardHome/tbt: +15%
  • ↑ startupStandardHome/fcp: +12%
  • ↑ startupStandardHome/cls: +400%
  • ↑ startupStandardHome/domInteractive: +24%
  • ↓ startupStandardHome/firstReactRender: -98%
  • ↓ startupStandardHome/initialActions: -50%
  • ↑ startupStandardHome/setupStore: +149%
  • ↑ startupStandardHome/fcp: +21%
User Journey Benchmarks · Samples: 5 · mock API 🔴 1
Benchmarkchrome-webpackfirefox-webpack
onboardingImportWallet
[Sentry log · main/release]
🟢 [CI log]🟡 [CI log]
🟡 total
onboardingNewWallet
[Sentry log · main/release]
🟢 [CI log]🔴 [CI log]
🔴 total

📈 Results compared to the previous 5 runs on main

  • ↑ onboardingImportWallet/srpButtonToSrpForm: +37%
  • ↑ onboardingImportWallet/confirmSrpToPwForm: +29%
  • ↑ onboardingImportWallet/pwFormToMetricsScreen: +22%
  • ↑ onboardingImportWallet/metricsToWalletReadyScreen: +22%
  • ↓ onboardingImportWallet/doneButtonToHomeScreen: -92%
  • ↓ onboardingImportWallet/openAccountMenuToAccountListLoaded: -73%
  • ↓ onboardingImportWallet/longTaskCount: -100%
  • ↓ onboardingImportWallet/longTaskTotalDuration: -100%
  • ↓ onboardingImportWallet/longTaskMaxDuration: -100%
  • ↓ onboardingImportWallet/tbt: -100%
  • ↓ onboardingImportWallet/total: -85%
  • ↑ onboardingNewWallet/srpButtonToPwForm: +44%
  • ↑ onboardingNewWallet/createPwToRecoveryScreen: +39%
  • ↑ onboardingNewWallet/skipBackupToMetricsScreen: +24%
  • ↑ onboardingNewWallet/agreeButtonToOnboardingSuccess: +14%
  • ↓ onboardingNewWallet/doneButtonToAssetList: -73%
  • ↓ onboardingNewWallet/longTaskCount: -23%
  • ↓ onboardingNewWallet/longTaskTotalDuration: -45%
  • ↓ onboardingNewWallet/longTaskMaxDuration: -30%
  • ↓ onboardingNewWallet/tbt: -87%
  • ↓ onboardingNewWallet/total: -68%
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: -49%
  • ↓ dappPageLoad/firstPaint: -33%
  • ↓ dappPageLoad/firstContentfulPaint: -33%
Bundle Size Diffs [🚨 Warning! Bundle size has increased!]
Status Bundle Total Diff Change
✅ background 15.26 MiB +365 Bytes 0.00%
🚨 ui 19.34 MiB +7.37 KiB +0.04%
✅ common 0 Bytes 0 Bytes 0.00%
✅ other 4.44 MiB +14 Bytes 0.00%
✅ content scripts 3.23 MiB +28 Bytes 0.00%
🚨 unzipped 79.9 MiB +10.87 KiB +0.01%
🚨 zip 24.07 MiB +3.93 KiB +0.02%

@metamask-ci

metamask-ci Bot commented Nov 4, 2026

Copy link
Copy Markdown
Contributor
Builds ready [63c4e5e]
⚡ Performance Benchmarks (Total: 🟢 4 pass · 🟡 6 warn · 🔴 3 fail)

Baseline (latest main): f693520 | Date: 11/3/2026 | Pipeline: 41803636299 | Baseline logs

Metricschrome-webpackfirefox-webpack
loadNewAccount
[Sentry log · main/release]
🔴 load_new_account(p95) [CI log]🔴 load_new_account(p95) [CI log]
onboardingImportWallet
[Sentry log · main/release]
🟢 [CI log]🔴 [CI log]

Regressions (🔴 3 failures)

Interaction Benchmarks · Samples: 5 🔴 2
Benchmarkchrome-webpackfirefox-webpack
loadNewAccount
[Sentry log · main/release]
🔴 [CI log]
🔴 load_new_account
🔴 [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: +182%
  • ↑ loadNewAccount/total: +182%
  • ↑ loadNewAccount/fcp: +11%
  • ↑ loadNewAccount/lcp: +15%
  • ↑ loadNewAccount/cls: +278%
  • ↑ confirmTx/longTaskTotalDuration: +55%
  • ↑ confirmTx/longTaskMaxDuration: +75%
  • ↑ confirmTx/tbt: +91%
  • ↑ confirmTx/fcp: +11%
  • ↑ bridgeUserActions/bridge_load_page: +68%
  • ↑ bridgeUserActions/bridge_load_asset_picker: +106%
  • ↑ bridgeUserActions/longTaskCount: +36%
  • ↑ bridgeUserActions/longTaskTotalDuration: +87%
  • ↑ bridgeUserActions/longTaskMaxDuration: +47%
  • ↑ bridgeUserActions/tbt: +162%
  • ↑ bridgeUserActions/total: +25%
  • ↑ bridgeUserActions/inp: +10%
  • ↑ bridgeUserActions/fcp: +10%
  • ↑ bridgeUserActions/lcp: +12%
  • ↑ bridgeUserActions/cls: +281%
  • ↑ loadNewAccount/load_new_account: +182%
  • ↑ loadNewAccount/total: +182%
  • ↓ loadNewAccount/inp: -25%
  • ↓ loadNewAccount/fcp: -31%
  • ↑ loadNewAccount/lcp: +1328%
  • ↓ confirmTx/longTaskCount: -100%
  • ↓ confirmTx/longTaskTotalDuration: -100%
  • ↓ confirmTx/longTaskMaxDuration: -100%
  • ↓ confirmTx/tbt: -100%
  • ↑ confirmTx/fcp: +21%
  • ↑ confirmTx/lcp: +1403%
  • ↑ bridgeUserActions/bridge_load_page: +268%
  • ↑ bridgeUserActions/bridge_load_asset_picker: +177%
  • ↓ bridgeUserActions/longTaskCount: -100%
  • ↓ bridgeUserActions/longTaskTotalDuration: -100%
  • ↓ bridgeUserActions/longTaskMaxDuration: -100%
  • ↓ bridgeUserActions/tbt: -100%
  • ↑ bridgeUserActions/total: +56%
  • ↑ bridgeUserActions/inp: +62%
  • ↓ bridgeUserActions/fcp: -32%
  • ↑ bridgeUserActions/lcp: +1331%

🌐 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/LCP: p75 2.5s
  • 🟡 confirmTx/FCP: p75 2.1s
  • 🟡 confirmTx/LCP: p75 2.6s
  • 🟡 bridgeUserActions/LCP: p75 2.5s
Startup Benchmarks · Samples: 100
Benchmarkchrome-webpackfirefox-webpack
startupStandardHome
[Sentry log · main/release]
🟢 [CI log]🟡 [CI log]
🟡 loadScripts

📈 Results compared to the previous 5 runs on main

  • ↑ startupStandardHome/uiStartup: +11%
  • ↑ startupStandardHome/domInteractive: +18%
  • ↓ startupStandardHome/firstReactRender: -98%
  • ↓ startupStandardHome/initialActions: -29%
  • ↑ startupStandardHome/setupStore: +147%
  • ↑ startupStandardHome/tbt: +11%
  • ↑ startupStandardHome/cls: +400%
  • ↑ startupStandardHome/domInteractive: +19%
  • ↓ startupStandardHome/firstReactRender: -98%
  • ↓ startupStandardHome/initialActions: -50%
  • ↑ startupStandardHome/setupStore: +143%
  • ↑ startupStandardHome/fcp: +20%
User Journey Benchmarks · Samples: 5 · mock API 🔴 1
Benchmarkchrome-webpackfirefox-webpack
onboardingImportWallet
[Sentry log · main/release]
🟢 [CI log]🔴 [CI log]
🔴 total
onboardingNewWallet
[Sentry log · main/release]
🟢 [CI log]🟡 [CI log]
🟡 total

📈 Results compared to the previous 5 runs on main

  • ↓ onboardingImportWallet/metricsToWalletReadyScreen: -14%
  • ↓ onboardingImportWallet/doneButtonToHomeScreen: -92%
  • ↓ onboardingImportWallet/openAccountMenuToAccountListLoaded: -74%
  • ↓ onboardingImportWallet/longTaskCount: -100%
  • ↓ onboardingImportWallet/longTaskTotalDuration: -100%
  • ↓ onboardingImportWallet/longTaskMaxDuration: -100%
  • ↓ onboardingImportWallet/tbt: -100%
  • ↓ onboardingImportWallet/total: -85%
  • ↑ onboardingNewWallet/srpButtonToPwForm: +34%
  • ↑ onboardingNewWallet/createPwToRecoveryScreen: +10%
  • ↑ onboardingNewWallet/skipBackupToMetricsScreen: +12%
  • ↑ onboardingNewWallet/agreeButtonToOnboardingSuccess: +13%
  • ↓ onboardingNewWallet/doneButtonToAssetList: -77%
  • ↓ onboardingNewWallet/longTaskCount: -62%
  • ↓ onboardingNewWallet/longTaskTotalDuration: -75%
  • ↓ onboardingNewWallet/longTaskMaxDuration: -40%
  • ↓ onboardingNewWallet/tbt: -100%
  • ↓ onboardingNewWallet/total: -73%
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: -49%
  • ↓ dappPageLoad/firstPaint: -28%
  • ↓ dappPageLoad/firstContentfulPaint: -28%
Bundle Size Diffs [🚨 Warning! Bundle size has increased!]
Status Bundle Total Diff Change
✅ background 15.26 MiB +348 Bytes 0.00%
🚨 ui 19.34 MiB +7.64 KiB +0.04%
✅ common 0 Bytes 0 Bytes 0.00%
✅ other 4.44 MiB -31 Bytes 0.00%
✅ content scripts 3.23 MiB -101 Bytes 0.00%
✅ unzipped 79.64 MiB -254.95 KiB -0.31%
✅ zip 23.81 MiB -261.16 KiB -1.06%

@cursor cursor Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

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

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit d5bbb1b. Configure here.

Comment thread ui/hooks/identity/mfa/engine/flow.ts Resolved
@metamask-ci

metamask-ci Bot commented Nov 4, 2026

Copy link
Copy Markdown
Contributor
Builds ready [d5bbb1b]
⚡ Performance Benchmarks (Total: 🟢 8 pass · 🟡 2 warn · 🔴 3 fail)

Baseline (latest main): f693520 | Date: 11/3/2026 | Pipeline: 41810820537 | Baseline logs

Metricschrome-webpackfirefox-webpack
loadNewAccount
[Sentry log · main/release]
🔴 load_new_account(p95) [CI log]🔴 load_new_account(p95) [CI log]
onboardingNewWallet
[Sentry log · main/release]
🟢 [CI log]🔴 [CI log]

Regressions (🔴 3 failures)

Interaction Benchmarks · Samples: 5 🔴 2
Benchmarkchrome-webpackfirefox-webpack
loadNewAccount
[Sentry log · main/release]
🔴 [CI log]
🔴 load_new_account
🔴 [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: +177%
  • ↑ loadNewAccount/total: +177%
  • ↓ loadNewAccount/inp: -40%
  • ↓ loadNewAccount/fcp: -36%
  • ↓ loadNewAccount/lcp: -24%
  • ↑ loadNewAccount/cls: +278%
  • ↓ confirmTx/longTaskTotalDuration: -13%
  • ↓ confirmTx/tbt: -19%
  • ↓ confirmTx/inp: -44%
  • ↓ confirmTx/fcp: -35%
  • ↓ confirmTx/lcp: -30%
  • ↓ bridgeUserActions/bridge_load_page: -31%
  • ↓ bridgeUserActions/bridge_load_asset_picker: -31%
  • ↓ bridgeUserActions/longTaskTotalDuration: -42%
  • ↓ bridgeUserActions/longTaskMaxDuration: -47%
  • ↓ bridgeUserActions/tbt: -96%
  • ↓ bridgeUserActions/total: -13%
  • ↓ bridgeUserActions/inp: -19%
  • ↓ bridgeUserActions/fcp: -37%
  • ↓ bridgeUserActions/lcp: -19%
  • ↑ bridgeUserActions/cls: +281%
  • ↑ loadNewAccount/load_new_account: +182%
  • ↑ loadNewAccount/total: +182%
  • ↓ loadNewAccount/inp: -33%
  • ↓ loadNewAccount/fcp: -44%
  • ↑ loadNewAccount/lcp: +1075%
  • ↓ confirmTx/longTaskCount: -100%
  • ↓ confirmTx/longTaskTotalDuration: -100%
  • ↓ confirmTx/longTaskMaxDuration: -100%
  • ↓ confirmTx/tbt: -100%
  • ↑ confirmTx/inp: +170%
  • ↓ confirmTx/fcp: -51%
  • ↑ confirmTx/lcp: +1214%
  • ↑ bridgeUserActions/bridge_load_page: +187%
  • ↑ bridgeUserActions/bridge_load_asset_picker: +95%
  • ↓ bridgeUserActions/longTaskCount: -100%
  • ↓ bridgeUserActions/longTaskTotalDuration: -100%
  • ↓ bridgeUserActions/longTaskMaxDuration: -100%
  • ↓ bridgeUserActions/tbt: -100%
  • ↑ bridgeUserActions/total: +25%
  • ↑ bridgeUserActions/inp: +32%
  • ↓ bridgeUserActions/fcp: -60%
  • ↑ bridgeUserActions/lcp: +1157%

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

  • 🟡 confirmTx/INP: p75 272ms
Startup Benchmarks · Samples: 100
Benchmarkchrome-webpackfirefox-webpack
startupStandardHome
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]

📈 Results compared to the previous 5 runs on main

  • ↓ startupStandardHome/uiStartup: -12%
  • ↓ startupStandardHome/load: -13%
  • ↓ startupStandardHome/domContentLoaded: -14%
  • ↓ startupStandardHome/firstPaint: -12%
  • ↓ startupStandardHome/backgroundConnect: -20%
  • ↓ startupStandardHome/firstReactRender: -98%
  • ↓ startupStandardHome/initialActions: -29%
  • ↓ startupStandardHome/loadScripts: -14%
  • ↑ startupStandardHome/setupStore: +95%
  • ↓ startupStandardHome/longTaskCount: -29%
  • ↓ startupStandardHome/longTaskTotalDuration: -19%
  • ↓ startupStandardHome/longTaskMaxDuration: -15%
  • ↓ startupStandardHome/tbt: -17%
  • ↓ startupStandardHome/inp: -11%
  • ↓ startupStandardHome/fcp: -13%
  • ↑ startupStandardHome/cls: +400%
  • ↑ startupStandardHome/domInteractive: +45%
  • ↓ startupStandardHome/firstReactRender: -99%
  • ↓ startupStandardHome/initialActions: -50%
  • ↑ startupStandardHome/setupStore: +122%
  • ↑ startupStandardHome/fcp: +48%
User Journey Benchmarks · Samples: 5 · mock API 🔴 1
Benchmarkchrome-webpackfirefox-webpack
onboardingImportWallet
[Sentry log · main/release]
🟢 [CI log]🟡 [CI log]
🟡 total
onboardingNewWallet
[Sentry log · main/release]
🟢 [CI log]🔴 [CI log]
🔴 total

📈 Results compared to the previous 5 runs on main

  • ↓ onboardingImportWallet/srpButtonToSrpForm: -26%
  • ↓ onboardingImportWallet/confirmSrpToPwForm: -22%
  • ↓ onboardingImportWallet/pwFormToMetricsScreen: -25%
  • ↓ onboardingImportWallet/metricsToWalletReadyScreen: -44%
  • ↓ onboardingImportWallet/doneButtonToHomeScreen: -92%
  • ↓ onboardingImportWallet/openAccountMenuToAccountListLoaded: -74%
  • ↓ onboardingImportWallet/longTaskCount: -100%
  • ↓ onboardingImportWallet/longTaskTotalDuration: -100%
  • ↓ onboardingImportWallet/longTaskMaxDuration: -100%
  • ↓ onboardingImportWallet/tbt: -100%
  • ↓ onboardingImportWallet/total: -86%
  • ↑ onboardingNewWallet/srpButtonToPwForm: +44%
  • ↑ onboardingNewWallet/createPwToRecoveryScreen: +21%
  • ↑ onboardingNewWallet/skipBackupToMetricsScreen: +29%
  • ↓ onboardingNewWallet/doneButtonToAssetList: -71%
  • ↓ onboardingNewWallet/longTaskCount: -62%
  • ↓ onboardingNewWallet/longTaskTotalDuration: -73%
  • ↓ onboardingNewWallet/longTaskMaxDuration: -36%
  • ↓ onboardingNewWallet/tbt: -96%
  • ↓ onboardingNewWallet/total: -67%
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: -67%
  • ↓ dappPageLoad/domContentLoaded: -33%
  • ↓ dappPageLoad/firstPaint: -47%
  • ↓ dappPageLoad/firstContentfulPaint: -47%
Bundle Size Diffs [🚨 Warning! Bundle size has increased!]
Status Bundle Total Diff Change
✅ background 15.26 MiB +518 Bytes 0.00%
🚨 ui 19.34 MiB +7.6 KiB +0.04%
✅ common 0 Bytes 0 Bytes 0.00%
✅ other 4.44 MiB -31 Bytes 0.00%
✅ content scripts 3.23 MiB -101 Bytes 0.00%
✅ unzipped 79.64 MiB -254.21 KiB -0.31%
✅ zip 23.81 MiB -260.92 KiB -1.06%

@metamask-ci

metamask-ci Bot commented Nov 4, 2026

Copy link
Copy Markdown
Contributor
Builds ready [cb7e71c]
⚡ Performance Benchmarks (Total: 🟢 5 pass · 🟡 4 warn · 🔴 4 fail)

Baseline (latest main): f693520 | Date: 11/3/2026 | Pipeline: 41813556200 | Baseline logs

Metricschrome-webpackfirefox-webpack
loadNewAccount
[Sentry log · main/release]
🔴 load_new_account(p95) [CI log]🔴 load_new_account(p95) [CI log]
onboardingImportWallet
[Sentry log · main/release]
🟢 [CI log]🔴 [CI log]
onboardingNewWallet
[Sentry log · main/release]
🟢 [CI log]🔴 [CI log]

Regressions (🔴 4 failures)

Interaction Benchmarks · Samples: 5 🔴 2
Benchmarkchrome-webpackfirefox-webpack
loadNewAccount
[Sentry log · main/release]
🔴 [CI log]
🔴 load_new_account
🔴 [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: +183%
  • ↑ loadNewAccount/total: +183%
  • ↑ loadNewAccount/inp: +12%
  • ↑ loadNewAccount/cls: +282%
  • ↑ confirmTx/longTaskTotalDuration: +51%
  • ↑ confirmTx/longTaskMaxDuration: +70%
  • ↑ confirmTx/tbt: +87%
  • ↑ bridgeUserActions/bridge_load_page: +68%
  • ↑ bridgeUserActions/bridge_load_asset_picker: +33%
  • ↑ bridgeUserActions/longTaskCount: +36%
  • ↑ bridgeUserActions/longTaskTotalDuration: +95%
  • ↑ bridgeUserActions/longTaskMaxDuration: +58%
  • ↑ bridgeUserActions/tbt: +185%
  • ↑ bridgeUserActions/total: +16%
  • ↑ bridgeUserActions/cls: +281%
  • ↑ loadNewAccount/load_new_account: +184%
  • ↑ loadNewAccount/total: +184%
  • ↓ loadNewAccount/inp: -18%
  • ↓ loadNewAccount/fcp: -28%
  • ↑ loadNewAccount/lcp: +1311%
  • ↓ confirmTx/longTaskCount: -100%
  • ↓ confirmTx/longTaskTotalDuration: -100%
  • ↓ confirmTx/longTaskMaxDuration: -100%
  • ↓ confirmTx/tbt: -100%
  • ↓ confirmTx/inp: -21%
  • ↑ confirmTx/fcp: +29%
  • ↑ confirmTx/lcp: +1345%
  • ↑ bridgeUserActions/bridge_load_page: +175%
  • ↑ bridgeUserActions/bridge_load_asset_picker: +133%
  • ↓ bridgeUserActions/longTaskCount: -100%
  • ↓ bridgeUserActions/longTaskTotalDuration: -100%
  • ↓ bridgeUserActions/longTaskMaxDuration: -100%
  • ↓ bridgeUserActions/tbt: -100%
  • ↑ bridgeUserActions/total: +32%
  • ↑ bridgeUserActions/inp: +54%
  • ↑ bridgeUserActions/fcp: +12%
  • ↑ bridgeUserActions/lcp: +1316%

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

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

📈 Results compared to the previous 5 runs on main

  • ↓ startupStandardHome/uiStartup: -20%
  • ↓ startupStandardHome/load: -23%
  • ↓ startupStandardHome/domContentLoaded: -23%
  • ↓ startupStandardHome/backgroundConnect: -21%
  • ↓ startupStandardHome/firstReactRender: -98%
  • ↓ startupStandardHome/initialActions: -29%
  • ↓ startupStandardHome/loadScripts: -24%
  • ↑ startupStandardHome/setupStore: +36%
  • ↓ startupStandardHome/longTaskCount: -29%
  • ↓ startupStandardHome/longTaskTotalDuration: -29%
  • ↓ startupStandardHome/longTaskMaxDuration: -27%
  • ↓ startupStandardHome/tbt: -30%
  • ↓ startupStandardHome/inp: -18%
  • ↓ startupStandardHome/fcp: -23%
  • ↑ startupStandardHome/cls: +400%
  • ↓ startupStandardHome/uiStartup: -22%
  • ↓ startupStandardHome/load: -16%
  • ↓ startupStandardHome/domContentLoaded: -18%
  • ↓ startupStandardHome/backgroundConnect: -14%
  • ↓ startupStandardHome/firstReactRender: -99%
  • ↓ startupStandardHome/initialActions: -50%
  • ↓ startupStandardHome/loadScripts: -16%
  • ↑ startupStandardHome/setupStore: +95%
  • ↓ startupStandardHome/lcp: -15%
User Journey Benchmarks · Samples: 5 · mock API 🔴 2
Benchmarkchrome-webpackfirefox-webpack
onboardingImportWallet
[Sentry log · main/release]
🟢 [CI log]🔴 [CI log]
🔴 total
onboardingNewWallet
[Sentry log · main/release]
🟢 [CI log]🔴 [CI log]
🔴 total

📈 Results compared to the previous 5 runs on main

  • ↑ onboardingImportWallet/srpButtonToSrpForm: +47%
  • ↑ onboardingImportWallet/confirmSrpToPwForm: +44%
  • ↑ onboardingImportWallet/pwFormToMetricsScreen: +41%
  • ↑ onboardingImportWallet/metricsToWalletReadyScreen: +19%
  • ↓ onboardingImportWallet/doneButtonToHomeScreen: -92%
  • ↓ onboardingImportWallet/openAccountMenuToAccountListLoaded: -74%
  • ↓ onboardingImportWallet/longTaskCount: -100%
  • ↓ onboardingImportWallet/longTaskTotalDuration: -100%
  • ↓ onboardingImportWallet/longTaskMaxDuration: -100%
  • ↓ onboardingImportWallet/tbt: -100%
  • ↓ onboardingImportWallet/total: -85%
  • ↓ onboardingNewWallet/agreeButtonToOnboardingSuccess: -27%
  • ↓ onboardingNewWallet/doneButtonToAssetList: -78%
  • ↓ onboardingNewWallet/longTaskCount: -100%
  • ↓ onboardingNewWallet/longTaskTotalDuration: -100%
  • ↓ onboardingNewWallet/longTaskMaxDuration: -100%
  • ↓ onboardingNewWallet/tbt: -100%
  • ↓ onboardingNewWallet/total: -74%
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: -49%
  • ↓ dappPageLoad/firstPaint: -33%
  • ↓ dappPageLoad/firstContentfulPaint: -33%
Bundle Size Diffs [🚨 Warning! Bundle size has increased!]
Status Bundle Total Diff Change
✅ background 15.26 MiB +518 Bytes 0.00%
🚨 ui 19.34 MiB +7.68 KiB +0.04%
✅ common 0 Bytes 0 Bytes 0.00%
✅ other 4.44 MiB -31 Bytes 0.00%
✅ content scripts 3.23 MiB -101 Bytes 0.00%
✅ unzipped 79.64 MiB -254.13 KiB -0.31%
✅ zip 23.81 MiB -260.87 KiB -1.06%

@metamask-ci

metamask-ci Bot commented Nov 4, 2026

Copy link
Copy Markdown
Contributor
Builds ready [c785702]
⚡ Performance Benchmarks (Total: 🟢 8 pass · 🟡 2 warn · 🔴 3 fail)

Baseline (latest main): f693520 | Date: 11/3/2026 | Pipeline: 41831024738 | Baseline logs

Metricschrome-webpackfirefox-webpack
loadNewAccount
[Sentry log · main/release]
🔴 load_new_account(p95) [CI log]🔴 load_new_account(p95) [CI log]
onboardingImportWallet
[Sentry log · main/release]
🟢 [CI log]🔴 [CI log]

Regressions (🔴 3 failures)

Interaction Benchmarks · Samples: 5 🔴 2
Benchmarkchrome-webpackfirefox-webpack
loadNewAccount
[Sentry log · main/release]
🔴 [CI log]
🔴 load_new_account
🔴 [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: +180%
  • ↑ loadNewAccount/total: +180%
  • ↓ loadNewAccount/inp: -18%
  • ↓ loadNewAccount/fcp: -15%
  • ↑ loadNewAccount/cls: +282%
  • ↑ confirmTx/longTaskTotalDuration: +17%
  • ↑ confirmTx/longTaskMaxDuration: +31%
  • ↑ confirmTx/tbt: +30%
  • ↓ confirmTx/inp: -29%
  • ↓ confirmTx/fcp: -17%
  • ↑ bridgeUserActions/bridge_load_page: +16%
  • ↑ bridgeUserActions/bridge_load_asset_picker: +59%
  • ↑ bridgeUserActions/longTaskCount: +36%
  • ↑ bridgeUserActions/longTaskTotalDuration: +13%
  • ↓ bridgeUserActions/longTaskMaxDuration: -20%
  • ↓ bridgeUserActions/tbt: -23%
  • ↓ bridgeUserActions/inp: -12%
  • ↓ bridgeUserActions/fcp: -16%
  • ↓ bridgeUserActions/lcp: -10%
  • ↑ bridgeUserActions/cls: +281%
  • ↑ loadNewAccount/load_new_account: +181%
  • ↑ loadNewAccount/total: +181%
  • ↑ loadNewAccount/inp: +124%
  • ↓ loadNewAccount/fcp: -62%
  • ↑ loadNewAccount/lcp: +1025%
  • ↓ confirmTx/longTaskCount: -100%
  • ↓ confirmTx/longTaskTotalDuration: -100%
  • ↓ confirmTx/longTaskMaxDuration: -100%
  • ↓ confirmTx/tbt: -100%
  • ↓ confirmTx/inp: -29%
  • ↓ confirmTx/fcp: -53%
  • ↑ confirmTx/lcp: +1000%
  • ↑ bridgeUserActions/bridge_load_page: +149%
  • ↑ bridgeUserActions/bridge_load_asset_picker: +87%
  • ↓ bridgeUserActions/longTaskCount: -100%
  • ↓ bridgeUserActions/longTaskTotalDuration: -100%
  • ↓ bridgeUserActions/longTaskMaxDuration: -100%
  • ↓ bridgeUserActions/tbt: -100%
  • ↑ bridgeUserActions/total: +24%
  • ↑ bridgeUserActions/inp: +99%
  • ↓ bridgeUserActions/fcp: -56%
  • ↑ bridgeUserActions/lcp: +999%

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

  • 🟡 loadNewAccount/INP: p75 240ms
  • 🟡 bridgeUserActions/INP: p75 216ms
Startup Benchmarks · Samples: 100
Benchmarkchrome-webpackfirefox-webpack
startupStandardHome
[Sentry log · main/release]
🟢 [CI log]🟡 [CI log]
🟡 loadScripts

📈 Results compared to the previous 5 runs on main

  • ↑ startupStandardHome/uiStartup: +12%
  • ↑ startupStandardHome/domInteractive: +21%
  • ↓ startupStandardHome/firstReactRender: -98%
  • ↓ startupStandardHome/initialActions: -29%
  • ↑ startupStandardHome/setupStore: +147%
  • ↑ startupStandardHome/tbt: +14%
  • ↑ startupStandardHome/cls: +400%
  • ↑ startupStandardHome/domInteractive: +45%
  • ↓ startupStandardHome/firstReactRender: -98%
  • ↓ startupStandardHome/initialActions: -50%
  • ↑ startupStandardHome/setupStore: +143%
  • ↑ startupStandardHome/fcp: +46%
User Journey Benchmarks · Samples: 5 · mock API 🔴 1
Benchmarkchrome-webpackfirefox-webpack
onboardingImportWallet
[Sentry log · main/release]
🟢 [CI log]🔴 [CI log]
🔴 total
onboardingNewWallet
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]

📈 Results compared to the previous 5 runs on main

  • ↑ onboardingImportWallet/srpButtonToSrpForm: +44%
  • ↑ onboardingImportWallet/confirmSrpToPwForm: +41%
  • ↑ onboardingImportWallet/pwFormToMetricsScreen: +29%
  • ↑ onboardingImportWallet/metricsToWalletReadyScreen: +41%
  • ↓ onboardingImportWallet/doneButtonToHomeScreen: -91%
  • ↓ onboardingImportWallet/openAccountMenuToAccountListLoaded: -74%
  • ↓ onboardingImportWallet/longTaskCount: -100%
  • ↓ onboardingImportWallet/longTaskTotalDuration: -100%
  • ↓ onboardingImportWallet/longTaskMaxDuration: -100%
  • ↓ onboardingImportWallet/tbt: -100%
  • ↓ onboardingImportWallet/total: -85%
  • ↑ onboardingNewWallet/srpButtonToPwForm: +37%
  • ↑ onboardingNewWallet/createPwToRecoveryScreen: +19%
  • ↑ onboardingNewWallet/skipBackupToMetricsScreen: +15%
  • ↑ onboardingNewWallet/agreeButtonToOnboardingSuccess: +63%
  • ↓ onboardingNewWallet/doneButtonToAssetList: -71%
  • ↓ onboardingNewWallet/longTaskCount: -62%
  • ↓ onboardingNewWallet/longTaskTotalDuration: -74%
  • ↓ onboardingNewWallet/longTaskMaxDuration: -38%
  • ↓ onboardingNewWallet/tbt: -100%
  • ↓ onboardingNewWallet/total: -67%
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: -49%
  • ↓ dappPageLoad/firstPaint: -28%
  • ↓ dappPageLoad/firstContentfulPaint: -28%
Bundle Size Diffs [🚨 Warning! Bundle size has increased!]
Status Bundle Total Diff Change
✅ background 15.26 MiB +518 Bytes 0.00%
🚨 ui 19.34 MiB +7.73 KiB +0.04%
✅ common 0 Bytes 0 Bytes 0.00%
✅ other 4.44 MiB -31 Bytes 0.00%
✅ content scripts 3.23 MiB -101 Bytes 0.00%
✅ unzipped 79.64 MiB -254.08 KiB -0.31%
✅ zip 23.81 MiB -260.84 KiB -1.06%

@metamask-ci

metamask-ci Bot commented Nov 4, 2026

Copy link
Copy Markdown
Contributor
Builds ready [67ea165]
⚡ Performance Benchmarks (Total: 🟢 5 pass · 🟡 6 warn · 🔴 2 fail)

Baseline (latest main): f693520 | Date: 11/3/2026 | Pipeline: 41838954523 | Baseline logs

Metricschrome-webpackfirefox-webpack
loadNewAccount
[Sentry log · main/release]
🔴 load_new_account(p95) [CI log]🔴 load_new_account(p95) [CI log]

Regressions (🔴 2 failures)

Interaction Benchmarks · Samples: 5 🔴 2
Benchmarkchrome-webpackfirefox-webpack
loadNewAccount
[Sentry log · main/release]
🔴 [CI log]
🔴 load_new_account
🔴 [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: +182%
  • ↑ loadNewAccount/total: +182%
  • ↓ loadNewAccount/inp: -10%
  • ↑ loadNewAccount/fcp: +12%
  • ↑ loadNewAccount/cls: +278%
  • ↑ confirmTx/longTaskTotalDuration: +56%
  • ↑ confirmTx/longTaskMaxDuration: +76%
  • ↑ confirmTx/tbt: +92%
  • ↑ confirmTx/fcp: +12%
  • ↑ confirmTx/lcp: +16%
  • ↑ bridgeUserActions/bridge_load_page: +107%
  • ↑ bridgeUserActions/bridge_load_asset_picker: +102%
  • ↑ bridgeUserActions/longTaskCount: +82%
  • ↑ bridgeUserActions/longTaskTotalDuration: +92%
  • ↑ bridgeUserActions/longTaskMaxDuration: +18%
  • ↑ bridgeUserActions/tbt: +96%
  • ↑ bridgeUserActions/total: +22%
  • ↑ bridgeUserActions/inp: +18%
  • ↑ bridgeUserActions/lcp: +11%
  • ↑ bridgeUserActions/cls: +281%
  • ↑ loadNewAccount/load_new_account: +184%
  • ↑ loadNewAccount/total: +184%
  • ↑ loadNewAccount/inp: +34%
  • ↓ loadNewAccount/fcp: -28%
  • ↑ loadNewAccount/lcp: +1298%
  • ↓ confirmTx/longTaskCount: -100%
  • ↓ confirmTx/longTaskTotalDuration: -100%
  • ↓ confirmTx/longTaskMaxDuration: -100%
  • ↓ confirmTx/tbt: -100%
  • ↑ confirmTx/fcp: +27%
  • ↑ confirmTx/lcp: +1422%
  • ↑ bridgeUserActions/bridge_load_page: +295%
  • ↑ bridgeUserActions/bridge_load_asset_picker: +126%
  • ↑ bridgeUserActions/bridge_search_token: +33%
  • ↓ bridgeUserActions/longTaskCount: -100%
  • ↓ bridgeUserActions/longTaskTotalDuration: -100%
  • ↓ bridgeUserActions/longTaskMaxDuration: -100%
  • ↓ bridgeUserActions/tbt: -100%
  • ↑ bridgeUserActions/total: +40%
  • ↑ bridgeUserActions/inp: +62%
  • ↑ bridgeUserActions/fcp: +27%
  • ↑ bridgeUserActions/lcp: +1388%

🌐 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
  • 🟡 confirmTx/FCP: p75 2.2s
  • 🟡 confirmTx/LCP: p75 2.6s
  • 🟡 bridgeUserActions/FCP: p75 2.2s
  • 🟡 bridgeUserActions/LCP: p75 2.6s
Startup Benchmarks · Samples: 100
Benchmarkchrome-webpackfirefox-webpack
startupStandardHome
[Sentry log · main/release]
🟢 [CI log]🟡 [CI log]
🟡 load
🟡 loadScripts

📈 Results compared to the previous 5 runs on main

  • ↑ startupStandardHome/uiStartup: +13%
  • ↑ startupStandardHome/domInteractive: +19%
  • ↑ startupStandardHome/firstPaint: +12%
  • ↓ startupStandardHome/firstReactRender: -98%
  • ↓ startupStandardHome/initialActions: -29%
  • ↑ startupStandardHome/setupStore: +88%
  • ↑ startupStandardHome/tbt: +12%
  • ↑ startupStandardHome/lcp: +15%
  • ↑ startupStandardHome/cls: +400%
  • ↑ startupStandardHome/uiStartup: +11%
  • ↑ startupStandardHome/load: +21%
  • ↑ startupStandardHome/domContentLoaded: +18%
  • ↑ startupStandardHome/domInteractive: +58%
  • ↑ startupStandardHome/backgroundConnect: +22%
  • ↓ startupStandardHome/firstReactRender: -98%
  • ↓ startupStandardHome/initialActions: -50%
  • ↑ startupStandardHome/loadScripts: +20%
  • ↑ startupStandardHome/setupStore: +170%
  • ↑ startupStandardHome/fcp: +66%
  • ↑ startupStandardHome/lcp: +23%

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

  • 🟡 startupStandardHome/LCP: p75 2.5s
User Journey Benchmarks · Samples: 5 · mock API
Benchmarkchrome-webpackfirefox-webpack
onboardingImportWallet
[Sentry log · main/release]
🟢 [CI log]🟡 [CI log]
🟡 total
onboardingNewWallet
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]

📈 Results compared to the previous 5 runs on main

  • ↓ onboardingImportWallet/doneButtonToHomeScreen: -92%
  • ↓ onboardingImportWallet/openAccountMenuToAccountListLoaded: -74%
  • ↓ onboardingImportWallet/longTaskCount: -100%
  • ↓ onboardingImportWallet/longTaskTotalDuration: -100%
  • ↓ onboardingImportWallet/longTaskMaxDuration: -100%
  • ↓ onboardingImportWallet/tbt: -100%
  • ↓ onboardingImportWallet/total: -85%
  • ↑ onboardingNewWallet/srpButtonToPwForm: +40%
  • ↑ onboardingNewWallet/createPwToRecoveryScreen: +14%
  • ↓ onboardingNewWallet/doneButtonToAssetList: -78%
  • ↓ onboardingNewWallet/longTaskCount: -62%
  • ↓ onboardingNewWallet/longTaskTotalDuration: -74%
  • ↓ onboardingNewWallet/longTaskMaxDuration: -37%
  • ↓ onboardingNewWallet/tbt: -97%
  • ↓ onboardingNewWallet/total: -73%
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: -49%
  • ↓ dappPageLoad/firstPaint: -33%
  • ↓ dappPageLoad/firstContentfulPaint: -33%
Bundle Size Diffs [🚨 Warning! Bundle size has increased!]
Status Bundle Total Diff Change
✅ background 15.26 MiB +525 Bytes 0.00%
🚨 ui 19.34 MiB +8.57 KiB +0.04%
✅ common 0 Bytes 0 Bytes 0.00%
✅ other 4.44 MiB -24 Bytes 0.00%
✅ content scripts 3.23 MiB -87 Bytes 0.00%
✅ unzipped 79.64 MiB -253.21 KiB -0.31%
✅ zip 23.81 MiB -260.67 KiB -1.06%

@metamask-ci

metamask-ci Bot commented Nov 4, 2026

Copy link
Copy Markdown
Contributor
Builds ready [ff8b70b]
⚡ Performance Benchmarks (Total: 🟢 9 pass · 🟡 1 warn · 🔴 3 fail)

Baseline (latest main): f693520 | Date: 11/3/2026 | Pipeline: 41841948797 | Baseline logs

Metricschrome-webpackfirefox-webpack
loadNewAccount
[Sentry log · main/release]
🔴 load_new_account(p95) [CI log]🔴 load_new_account(p95) [CI log]
onboardingImportWallet
[Sentry log · main/release]
🟢 [CI log]🔴 [CI log]

Regressions (🔴 3 failures)

Interaction Benchmarks · Samples: 5 🔴 2
Benchmarkchrome-webpackfirefox-webpack
loadNewAccount
[Sentry log · main/release]
🔴 [CI log]
🔴 load_new_account
🔴 [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: +182%
  • ↑ loadNewAccount/total: +182%
  • ↓ loadNewAccount/inp: -10%
  • ↓ loadNewAccount/fcp: -18%
  • ↑ loadNewAccount/cls: +278%
  • ↑ confirmTx/longTaskMaxDuration: +17%
  • ↓ confirmTx/inp: -29%
  • ↓ confirmTx/fcp: -23%
  • ↓ bridgeUserActions/bridge_load_page: -13%
  • ↑ bridgeUserActions/bridge_load_asset_picker: +39%
  • ↓ bridgeUserActions/longTaskTotalDuration: -30%
  • ↓ bridgeUserActions/longTaskMaxDuration: -37%
  • ↓ bridgeUserActions/tbt: -61%
  • ↓ bridgeUserActions/inp: -19%
  • ↓ bridgeUserActions/fcp: -21%
  • ↓ bridgeUserActions/lcp: -14%
  • ↑ bridgeUserActions/cls: +281%
  • ↑ loadNewAccount/load_new_account: +184%
  • ↑ loadNewAccount/total: +184%
  • ↓ loadNewAccount/inp: -10%
  • ↑ loadNewAccount/fcp: +24%
  • ↑ loadNewAccount/lcp: +1325%
  • ↓ confirmTx/longTaskCount: -100%
  • ↓ confirmTx/longTaskTotalDuration: -100%
  • ↓ confirmTx/longTaskMaxDuration: -100%
  • ↓ confirmTx/tbt: -100%
  • ↓ confirmTx/fcp: -30%
  • ↑ confirmTx/lcp: +1350%
  • ↑ bridgeUserActions/bridge_load_page: +272%
  • ↑ bridgeUserActions/bridge_load_asset_picker: +129%
  • ↑ bridgeUserActions/bridge_search_token: +29%
  • ↓ bridgeUserActions/longTaskCount: -100%
  • ↓ bridgeUserActions/longTaskTotalDuration: -100%
  • ↓ bridgeUserActions/longTaskMaxDuration: -100%
  • ↓ bridgeUserActions/tbt: -100%
  • ↑ bridgeUserActions/total: +72%
  • ↑ bridgeUserActions/inp: +62%
  • ↓ bridgeUserActions/fcp: -33%
  • ↑ bridgeUserActions/lcp: +1417%

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

  • 🟡 loadNewAccount/FCP: p75 2.1s
  • 🟡 loadNewAccount/LCP: p75 2.5s
  • 🟡 bridgeUserActions/LCP: p75 2.7s
Startup Benchmarks · Samples: 100
Benchmarkchrome-webpackfirefox-webpack
startupStandardHome
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]

📈 Results compared to the previous 5 runs on main

  • ↑ startupStandardHome/uiStartup: +12%
  • ↑ startupStandardHome/domInteractive: +21%
  • ↑ startupStandardHome/firstPaint: +11%
  • ↓ startupStandardHome/firstReactRender: -98%
  • ↓ startupStandardHome/initialActions: -29%
  • ↑ startupStandardHome/setupStore: +160%
  • ↑ startupStandardHome/tbt: +14%
  • ↑ startupStandardHome/lcp: +11%
  • ↑ startupStandardHome/cls: +400%
  • ↓ startupStandardHome/uiStartup: -23%
  • ↓ startupStandardHome/load: -16%
  • ↓ startupStandardHome/domContentLoaded: -18%
  • ↑ startupStandardHome/domInteractive: +24%
  • ↓ startupStandardHome/backgroundConnect: -11%
  • ↓ startupStandardHome/firstReactRender: -99%
  • ↓ startupStandardHome/initialActions: -50%
  • ↓ startupStandardHome/loadScripts: -16%
  • ↑ startupStandardHome/setupStore: +95%
  • ↑ startupStandardHome/fcp: +26%
  • ↓ startupStandardHome/lcp: -15%
User Journey Benchmarks · Samples: 5 · mock API 🔴 1
Benchmarkchrome-webpackfirefox-webpack
onboardingImportWallet
[Sentry log · main/release]
🟢 [CI log]🔴 [CI log]
🔴 total
onboardingNewWallet
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]

📈 Results compared to the previous 5 runs on main

  • ↑ onboardingImportWallet/srpButtonToSrpForm: +56%
  • ↑ onboardingImportWallet/confirmSrpToPwForm: +68%
  • ↑ onboardingImportWallet/pwFormToMetricsScreen: +57%
  • ↑ onboardingImportWallet/metricsToWalletReadyScreen: +39%
  • ↓ onboardingImportWallet/doneButtonToHomeScreen: -92%
  • ↓ onboardingImportWallet/openAccountMenuToAccountListLoaded: -73%
  • ↓ onboardingImportWallet/longTaskCount: -100%
  • ↓ onboardingImportWallet/longTaskTotalDuration: -100%
  • ↓ onboardingImportWallet/longTaskMaxDuration: -100%
  • ↓ onboardingImportWallet/tbt: -100%
  • ↓ onboardingImportWallet/total: -85%
  • ↓ onboardingNewWallet/srpButtonToPwForm: -22%
  • ↓ onboardingNewWallet/createPwToRecoveryScreen: -22%
  • ↓ onboardingNewWallet/agreeButtonToOnboardingSuccess: -49%
  • ↓ onboardingNewWallet/doneButtonToAssetList: -76%
  • ↓ onboardingNewWallet/longTaskCount: -100%
  • ↓ onboardingNewWallet/longTaskTotalDuration: -100%
  • ↓ onboardingNewWallet/longTaskMaxDuration: -100%
  • ↓ onboardingNewWallet/tbt: -100%
  • ↓ onboardingNewWallet/total: -73%
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: -52%
  • ↓ dappPageLoad/firstPaint: -28%
  • ↓ dappPageLoad/firstContentfulPaint: -28%
Bundle Size Diffs [🚨 Warning! Bundle size has increased!]
Status Bundle Total Diff Change
✅ background 15.26 MiB +525 Bytes 0.00%
🚨 ui 19.34 MiB +8.75 KiB +0.04%
✅ common 0 Bytes 0 Bytes 0.00%
✅ other 4.44 MiB -24 Bytes 0.00%
✅ content scripts 3.23 MiB -87 Bytes 0.00%
✅ unzipped 79.64 MiB -253.03 KiB -0.31%
✅ zip 23.81 MiB -260.62 KiB -1.06%

@metamask-ci

metamask-ci Bot commented Nov 4, 2026

Copy link
Copy Markdown
Contributor
Builds ready [40adf54] [reused from ff8b70b]
⚡ Performance Benchmarks (Total: 🟢 9 pass · 🟡 1 warn · 🔴 3 fail)

Baseline (latest main): f693520 | Date: 11/3/2026 | Pipeline: 41847436574 | Baseline logs

Metricschrome-webpackfirefox-webpack
loadNewAccount
[Sentry log · main/release]
🔴 load_new_account(p95) [CI log]🔴 load_new_account(p95) [CI log]
onboardingImportWallet
[Sentry log · main/release]
🟢 [CI log]🔴 [CI log]

Regressions (🔴 3 failures)

Interaction Benchmarks · Samples: 5 🔴 2
Benchmarkchrome-webpackfirefox-webpack
loadNewAccount
[Sentry log · main/release]
🔴 [CI log]
🔴 load_new_account
🔴 [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: +182%
  • ↑ loadNewAccount/total: +182%
  • ↓ loadNewAccount/inp: -10%
  • ↓ loadNewAccount/fcp: -18%
  • ↑ loadNewAccount/cls: +278%
  • ↑ confirmTx/longTaskMaxDuration: +17%
  • ↓ confirmTx/inp: -29%
  • ↓ confirmTx/fcp: -23%
  • ↓ bridgeUserActions/bridge_load_page: -13%
  • ↑ bridgeUserActions/bridge_load_asset_picker: +39%
  • ↓ bridgeUserActions/longTaskTotalDuration: -30%
  • ↓ bridgeUserActions/longTaskMaxDuration: -37%
  • ↓ bridgeUserActions/tbt: -61%
  • ↓ bridgeUserActions/inp: -19%
  • ↓ bridgeUserActions/fcp: -21%
  • ↓ bridgeUserActions/lcp: -14%
  • ↑ bridgeUserActions/cls: +281%
  • ↑ loadNewAccount/load_new_account: +184%
  • ↑ loadNewAccount/total: +184%
  • ↓ loadNewAccount/inp: -10%
  • ↑ loadNewAccount/fcp: +24%
  • ↑ loadNewAccount/lcp: +1325%
  • ↓ confirmTx/longTaskCount: -100%
  • ↓ confirmTx/longTaskTotalDuration: -100%
  • ↓ confirmTx/longTaskMaxDuration: -100%
  • ↓ confirmTx/tbt: -100%
  • ↓ confirmTx/fcp: -30%
  • ↑ confirmTx/lcp: +1350%
  • ↑ bridgeUserActions/bridge_load_page: +272%
  • ↑ bridgeUserActions/bridge_load_asset_picker: +129%
  • ↑ bridgeUserActions/bridge_search_token: +29%
  • ↓ bridgeUserActions/longTaskCount: -100%
  • ↓ bridgeUserActions/longTaskTotalDuration: -100%
  • ↓ bridgeUserActions/longTaskMaxDuration: -100%
  • ↓ bridgeUserActions/tbt: -100%
  • ↑ bridgeUserActions/total: +72%
  • ↑ bridgeUserActions/inp: +62%
  • ↓ bridgeUserActions/fcp: -33%
  • ↑ bridgeUserActions/lcp: +1417%

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

  • 🟡 loadNewAccount/FCP: p75 2.1s
  • 🟡 loadNewAccount/LCP: p75 2.5s
  • 🟡 bridgeUserActions/LCP: p75 2.7s
Startup Benchmarks · Samples: 100
Benchmarkchrome-webpackfirefox-webpack
startupStandardHome
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]

📈 Results compared to the previous 5 runs on main

  • ↑ startupStandardHome/uiStartup: +12%
  • ↑ startupStandardHome/domInteractive: +21%
  • ↑ startupStandardHome/firstPaint: +11%
  • ↓ startupStandardHome/firstReactRender: -98%
  • ↓ startupStandardHome/initialActions: -29%
  • ↑ startupStandardHome/setupStore: +160%
  • ↑ startupStandardHome/tbt: +14%
  • ↑ startupStandardHome/lcp: +11%
  • ↑ startupStandardHome/cls: +400%
  • ↓ startupStandardHome/uiStartup: -23%
  • ↓ startupStandardHome/load: -16%
  • ↓ startupStandardHome/domContentLoaded: -18%
  • ↑ startupStandardHome/domInteractive: +24%
  • ↓ startupStandardHome/backgroundConnect: -11%
  • ↓ startupStandardHome/firstReactRender: -99%
  • ↓ startupStandardHome/initialActions: -50%
  • ↓ startupStandardHome/loadScripts: -16%
  • ↑ startupStandardHome/setupStore: +95%
  • ↑ startupStandardHome/fcp: +26%
  • ↓ startupStandardHome/lcp: -15%
User Journey Benchmarks · Samples: 5 · mock API 🔴 1
Benchmarkchrome-webpackfirefox-webpack
onboardingImportWallet
[Sentry log · main/release]
🟢 [CI log]🔴 [CI log]
🔴 total
onboardingNewWallet
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]

📈 Results compared to the previous 5 runs on main

  • ↑ onboardingImportWallet/srpButtonToSrpForm: +56%
  • ↑ onboardingImportWallet/confirmSrpToPwForm: +68%
  • ↑ onboardingImportWallet/pwFormToMetricsScreen: +57%
  • ↑ onboardingImportWallet/metricsToWalletReadyScreen: +39%
  • ↓ onboardingImportWallet/doneButtonToHomeScreen: -92%
  • ↓ onboardingImportWallet/openAccountMenuToAccountListLoaded: -73%
  • ↓ onboardingImportWallet/longTaskCount: -100%
  • ↓ onboardingImportWallet/longTaskTotalDuration: -100%
  • ↓ onboardingImportWallet/longTaskMaxDuration: -100%
  • ↓ onboardingImportWallet/tbt: -100%
  • ↓ onboardingImportWallet/total: -85%
  • ↓ onboardingNewWallet/srpButtonToPwForm: -22%
  • ↓ onboardingNewWallet/createPwToRecoveryScreen: -22%
  • ↓ onboardingNewWallet/agreeButtonToOnboardingSuccess: -49%
  • ↓ onboardingNewWallet/doneButtonToAssetList: -76%
  • ↓ onboardingNewWallet/longTaskCount: -100%
  • ↓ onboardingNewWallet/longTaskTotalDuration: -100%
  • ↓ onboardingNewWallet/longTaskMaxDuration: -100%
  • ↓ onboardingNewWallet/tbt: -100%
  • ↓ onboardingNewWallet/total: -73%
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: -52%
  • ↓ dappPageLoad/firstPaint: -28%
  • ↓ dappPageLoad/firstContentfulPaint: -28%
Bundle Size Diffs [🚨 Warning! Bundle size has increased!]
Status Bundle Total Diff Change
✅ background 15.26 MiB +525 Bytes 0.00%
🚨 ui 19.34 MiB +8.75 KiB +0.04%
✅ common 0 Bytes 0 Bytes 0.00%
✅ other 4.44 MiB -24 Bytes 0.00%
✅ content scripts 3.23 MiB -87 Bytes 0.00%
✅ unzipped 79.64 MiB -253.03 KiB -0.31%
✅ zip 23.81 MiB -260.62 KiB -1.06%

@sonarqubecloud

sonarqubecloud Bot commented Nov 4, 2026

Copy link
Copy Markdown

@mathieuartu
mathieuartu enabled auto-merge November 4, 2026 21:30
@mathieuartu
mathieuartu added this pull request to the merge queue Nov 4, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Nov 4, 2026

This branch had an error being deployed

1 failed and 1 inactive deployments
pr-comment — 40adf547 Deployed Nov 4, 2026 by mathieuartu via Publish prerelease / Publish prerelease #172641
segment-schema — 40adf547 Deployed Nov 4, 2026 by mathieuartu via propose #3080
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants