Skip to content

refactor(analytics): migrate orphan Web3Auth onboarding events#44377

Merged
gauthierpetetin merged 3 commits into
mainfrom
refactor/analytics-migrate-orphan-web3auth
Jul 13, 2026
Merged

refactor(analytics): migrate orphan Web3Auth onboarding events#44377
gauthierpetetin merged 3 commits into
mainfrom
refactor/analytics-migrate-orphan-web3auth

Conversation

@gauthierpetetin

@gauthierpetetin gauthierpetetin commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

Description

Migrates remaining legacy MetaMetricsContext.trackEvent / trackMetaMetricsEvent call sites in the Web3Auth (recovery phrase, passkey, consent, password) domain to useAnalytics() + createEventBuilder (or trackAnalyticsEvent for Redux thunks).

Part of umbrella tracker #43885 (15d · Web3Auth onboarding gaps).

Changelog

CHANGELOG entry: null

Related issues

Fixes:

Manual testing steps

  1. Build and load the extension (yarn start).
  2. Exercise the flows touched by this PR (see changed files).
  3. With MetaMetrics debug enabled, confirm events still fire with the same names and properties.

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

Low Risk
Analytics instrumentation refactor only; no changes to wallet, auth, or password/passkey business logic beyond how events are emitted.

Overview
Replaces remaining MetaMetricsContext trackEvent usage in Web3Auth-related UI (basic functionality modal, change password, marketing consent, passkey troubleshoot, reveal SRP) with useAnalytics() and createEventBuilder().build(), keeping the same event names and properties.

Passkey troubleshoot now pulls page title for support-link events from useSegmentContext instead of the legacy second-argument context merge.

Tests for reveal recovery phrase (and related setup) mock useAnalytics and assert trackEvent receives the built payload shape (name, properties, sensitiveProperties) on SRP export success and failure paths.

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

Part of analytics migration umbrella #43885 (15d · Web3Auth onboarding gaps).
@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.

@metamask-ci metamask-ci Bot added the team-extension-platform Extension Platform team label Jul 13, 2026
@metamask-ci

metamask-ci Bot commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

✨ Files requiring CODEOWNER review ✨

🔐 @MetaMask/web3auth (2 files, +113 -35)
  • 📁 ui/
    • 📁 pages/
      • 📁 onboarding-flow/
        • 📁 recovery-phrase/
          • 📄 reveal-recovery-phrase.test.tsx +77 -0
          • 📄 reveal-recovery-phrase.tsx +36 -35

@metamask-ci

metamask-ci Bot commented Jul 13, 2026

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

Baseline (latest main): 1716549 | Date: 6/29/2026 | Pipeline: 29225503868 | 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]
🟡 bridge_search_token

📈 Results compared to the previous 5 runs on main

  • loadNewAccount/load_new_account: -23%
  • loadNewAccount/total: -23%
  • loadNewAccount/inp: -18%
  • loadNewAccount/fcp: -12%
  • confirmTx/tbt: -10%
  • bridgeUserActions/bridge_load_page: -33%
  • bridgeUserActions/bridge_load_asset_picker: -18%
  • bridgeUserActions/longTaskCount: -17%
  • bridgeUserActions/inp: -22%
  • loadNewAccount/load_new_account: +581%
  • loadNewAccount/total: +581%
  • loadNewAccount/inp: +23%
  • loadNewAccount/fcp: -53%
  • loadNewAccount/lcp: +1235%
  • confirmTx/longTaskCount: -100%
  • confirmTx/longTaskTotalDuration: -100%
  • confirmTx/longTaskMaxDuration: -100%
  • confirmTx/tbt: -100%
  • confirmTx/lcp: +1075%
  • bridgeUserActions/bridge_load_page: +96%
  • bridgeUserActions/bridge_load_asset_picker: +111%
  • bridgeUserActions/bridge_search_token: +225%
  • bridgeUserActions/longTaskCount: -100%
  • bridgeUserActions/longTaskTotalDuration: -100%
  • bridgeUserActions/longTaskMaxDuration: -100%
  • bridgeUserActions/tbt: -100%
  • bridgeUserActions/total: +186%
  • bridgeUserActions/inp: +184%
  • bridgeUserActions/fcp: -49%
  • bridgeUserActions/lcp: +1164%

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

  • 🟡 bridgeUserActions/INP: p75 264ms
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/uiStartup: +21%
  • startupStandardHome/firstReactRender: +219%
  • startupStandardHome/numNetworkReqs: +50%
  • startupStandardHome/uiStartup: -22%
  • startupStandardHome/load: -23%
  • startupStandardHome/domContentLoaded: -23%
  • startupStandardHome/domInteractive: -31%
  • startupStandardHome/backgroundConnect: -17%
  • startupStandardHome/firstReactRender: +208%
  • startupStandardHome/initialActions: -50%
  • startupStandardHome/loadScripts: -23%
  • startupStandardHome/fcp: -28%
  • startupStandardHome/lcp: -24%
  • startupPowerUserHome/domInteractive: -14%
  • startupPowerUserHome/backgroundConnect: +14%
  • startupPowerUserHome/firstReactRender: +588%
  • startupPowerUserHome/inp: -16%
  • startupPowerUserHome/fcp: -12%

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

  • 🟡 startupPowerUserHome/LCP: p75 3.5s
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/pwFormToMetricsScreen: +11%
  • onboardingImportWallet/metricsToWalletReadyScreen: -13%
  • onboardingImportWallet/doneButtonToHomeScreen: -86%
  • onboardingImportWallet/openAccountMenuToAccountListLoaded: -62%
  • onboardingImportWallet/longTaskCount: -80%
  • onboardingImportWallet/longTaskTotalDuration: -94%
  • onboardingImportWallet/longTaskMaxDuration: -92%
  • onboardingImportWallet/tbt: -100%
  • onboardingImportWallet/total: -83%
  • onboardingNewWallet/agreeButtonToOnboardingSuccess: -24%
  • onboardingNewWallet/doneButtonToAssetList: -11%
  • onboardingNewWallet/longTaskCount: -50%
  • onboardingNewWallet/longTaskTotalDuration: -64%
  • onboardingNewWallet/longTaskMaxDuration: -36%
  • onboardingNewWallet/tbt: -77%
  • solanaAssetDetails/assetClickToPriceChart: -53%
  • solanaAssetDetails/total: -53%
  • solanaAssetDetails/inp: -38%
  • importSrpHome/loginToHomeScreen: -16%
  • importSrpHome/openAccountMenuAfterLogin: +107%
  • importSrpHome/homeAfterImportWithNewWallet: -27%
  • importSrpHome/longTaskCount: -35%
  • importSrpHome/longTaskTotalDuration: -39%
  • importSrpHome/longTaskMaxDuration: +18%
  • importSrpHome/tbt: -37%
  • importSrpHome/total: -31%
  • importSrpHome/lcp: -58%
  • importSrpHome/cls: -47%
  • sendTransactions/openSendPageFromHome: -16%
  • sendTransactions/selectTokenToSendFormLoaded: -47%
  • sendTransactions/longTaskCount: -100%
  • sendTransactions/longTaskTotalDuration: -100%
  • sendTransactions/longTaskMaxDuration: -100%
  • sendTransactions/tbt: -100%
  • sendTransactions/inp: -11%
  • sendTransactions/lcp: -13%
  • sendTransactions/cls: -40%
  • swap/openSwapPageFromHome: -33%
  • swap/fetchAndDisplaySwapQuotes: +124%
  • swap/longTaskCount: -100%
  • swap/longTaskTotalDuration: -100%
  • swap/longTaskMaxDuration: -100%
  • swap/tbt: -100%
  • swap/total: +122%
  • swap/cls: -63%

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

  • 🟡 importSrpHome/INP: p75 256ms
  • 🟡 assetDetails/FCP: p75 1.8s
  • 🟡 importSrpHome/FCP: p75 1.9s
  • 🟡 swap/FCP: p75 1.9s
Dapp Page Load Benchmarks · Samples: 100
Benchmarkchrome-webpack
dappPageLoad
[Sentry log · main/release]
🟢 [CI log]
Bundle sizes
  • background: 14.22 MiB
  • ui: 17.06 MiB
  • common: 0 Bytes
  • other: 998.07 KiB
  • contentScripts: 1.87 MiB
  • zip: 27.03 MiB
No matching bundle-size baseline was found in the history data, so diff values are omitted.

@gauthierpetetin gauthierpetetin self-assigned this Jul 13, 2026
…tests

Mock useAnalytics in reveal-recovery-phrase tests to avoid useSegmentContext
errors with the partial react-router-dom mock, and apply oxfmt formatting.

Co-authored-by: Cursor <cursoragent@cursor.com>

Copilot AI 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.

Pull request overview

This PR migrates remaining legacy MetaMetrics UI call sites in the Web3Auth onboarding domain (SRP reveal, passkey troubleshooting, marketing consent, change-password, basic configuration) to the newer useAnalytics() + createEventBuilder tracking API, aligning these flows with the ongoing analytics refactor effort.

Changes:

  • Replaced MetaMetricsContext.trackEvent usage with useAnalytics().trackEvent(createEventBuilder(...).build()) across several onboarding-related UI components.
  • Updated SRP reveal unit tests to mock useAnalytics (to avoid real analytics wiring during tests).
  • Updated the passkey troubleshoot modal support-link tracking to explicitly include page-title context via useSegmentContext.

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
ui/pages/onboarding-flow/recovery-phrase/reveal-recovery-phrase.tsx Migrates SRP export tracking events to useAnalytics + event builder.
ui/pages/onboarding-flow/recovery-phrase/reveal-recovery-phrase.test.tsx Mocks useAnalytics for SRP reveal tests.
ui/components/app/passkey-troubleshoot-modal/passkey-troubleshoot-modal.tsx Migrates modal view/CTA/support-link events to event builder; injects page title via segment context.
ui/components/app/metametrics-consent/metametrics-consent-container.tsx Migrates marketing consent selection tracking to event builder.
ui/components/app/change-password/change-password.tsx Migrates passkey/password change analytics events to event builder.
ui/components/app/basic-configuration-modal/basic-configuration-modal.tsx Migrates settings-updated tracking to event builder for onboarding vs settings contexts.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@metamask-ci

metamask-ci Bot commented Jul 13, 2026

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

Baseline (latest main): 1716549 | Date: 6/29/2026 | Pipeline: 29238528459 | 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/fcp: -18%
  • confirmTx/longTaskMaxDuration: -16%
  • confirmTx/fcp: -13%
  • bridgeUserActions/bridge_load_page: -43%
  • bridgeUserActions/bridge_load_asset_picker: -21%
  • bridgeUserActions/longTaskCount: -17%
  • bridgeUserActions/longTaskTotalDuration: -34%
  • bridgeUserActions/longTaskMaxDuration: -26%
  • bridgeUserActions/tbt: -63%
  • bridgeUserActions/total: -12%
  • bridgeUserActions/fcp: -11%
  • loadNewAccount/load_new_account: +92%
  • loadNewAccount/total: +92%
  • loadNewAccount/inp: +39%
  • loadNewAccount/lcp: +1086%
  • confirmTx/confirm_tx: +11%
  • confirmTx/longTaskCount: -100%
  • confirmTx/longTaskTotalDuration: -100%
  • confirmTx/longTaskMaxDuration: -100%
  • confirmTx/tbt: -100%
  • confirmTx/total: +11%
  • confirmTx/fcp: -43%
  • confirmTx/lcp: +1109%
  • bridgeUserActions/bridge_load_page: +157%
  • bridgeUserActions/bridge_load_asset_picker: +175%
  • bridgeUserActions/longTaskCount: -100%
  • bridgeUserActions/longTaskTotalDuration: -100%
  • bridgeUserActions/longTaskMaxDuration: -100%
  • bridgeUserActions/tbt: -100%
  • bridgeUserActions/total: +39%
  • bridgeUserActions/inp: -14%
  • bridgeUserActions/fcp: -49%
  • bridgeUserActions/lcp: +1240%

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

  • 🟡 loadNewAccount/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]

📈 Results compared to the previous 5 runs on main

  • startupStandardHome/uiStartup: +27%
  • startupStandardHome/backgroundConnect: +16%
  • startupStandardHome/firstReactRender: +228%
  • startupStandardHome/numNetworkReqs: +50%
  • startupStandardHome/longTaskTotalDuration: +10%
  • startupStandardHome/tbt: +14%
  • startupStandardHome/uiStartup: +11%
  • startupStandardHome/load: +12%
  • startupStandardHome/domContentLoaded: +12%
  • startupStandardHome/domInteractive: +43%
  • startupStandardHome/backgroundConnect: +11%
  • startupStandardHome/firstReactRender: +336%
  • startupStandardHome/loadScripts: +12%
  • startupStandardHome/setupStore: +45%
  • startupStandardHome/fcp: +32%
  • startupPowerUserHome/domInteractive: -36%
  • startupPowerUserHome/backgroundConnect: -32%
  • startupPowerUserHome/firstReactRender: +585%
  • startupPowerUserHome/inp: -20%
  • startupPowerUserHome/fcp: -35%

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

  • 🟡 startupPowerUserHome/LCP: p75 3.3s
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/metricsToWalletReadyScreen: -26%
  • onboardingImportWallet/doneButtonToHomeScreen: -86%
  • onboardingImportWallet/openAccountMenuToAccountListLoaded: -51%
  • onboardingImportWallet/longTaskCount: -100%
  • onboardingImportWallet/longTaskTotalDuration: -100%
  • onboardingImportWallet/longTaskMaxDuration: -100%
  • onboardingImportWallet/tbt: -100%
  • onboardingImportWallet/total: -83%
  • onboardingNewWallet/srpButtonToPwForm: -18%
  • onboardingNewWallet/createPwToRecoveryScreen: -14%
  • onboardingNewWallet/skipBackupToMetricsScreen: -20%
  • onboardingNewWallet/agreeButtonToOnboardingSuccess: -23%
  • onboardingNewWallet/doneButtonToAssetList: -23%
  • onboardingNewWallet/longTaskCount: -100%
  • onboardingNewWallet/longTaskTotalDuration: -100%
  • onboardingNewWallet/longTaskMaxDuration: -100%
  • onboardingNewWallet/tbt: -100%
  • onboardingNewWallet/total: -22%
  • solanaAssetDetails/assetClickToPriceChart: -70%
  • solanaAssetDetails/total: -70%
  • solanaAssetDetails/inp: -31%
  • importSrpHome/loginToHomeScreen: -21%
  • importSrpHome/openAccountMenuAfterLogin: +23%
  • importSrpHome/homeAfterImportWithNewWallet: -28%
  • importSrpHome/longTaskCount: -44%
  • importSrpHome/longTaskTotalDuration: -24%
  • importSrpHome/longTaskMaxDuration: +16%
  • importSrpHome/tbt: -37%
  • importSrpHome/total: -26%
  • importSrpHome/lcp: -61%
  • importSrpHome/cls: -47%
  • sendTransactions/openSendPageFromHome: -29%
  • sendTransactions/selectTokenToSendFormLoaded: -47%
  • sendTransactions/longTaskCount: -20%
  • sendTransactions/longTaskTotalDuration: -27%
  • sendTransactions/longTaskMaxDuration: -12%
  • sendTransactions/tbt: -62%
  • sendTransactions/inp: -23%
  • sendTransactions/lcp: -18%
  • sendTransactions/cls: -40%
  • swap/fetchAndDisplaySwapQuotes: +138%
  • swap/longTaskCount: -100%
  • swap/longTaskTotalDuration: -100%
  • swap/longTaskMaxDuration: -100%
  • swap/tbt: -100%
  • swap/total: +136%
  • swap/inp: +15%
  • swap/cls: -63%

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

  • 🟡 importSrpHome/INP: p75 256ms
  • 🟡 importSrpHome/FCP: p75 1.9s
Dapp Page Load Benchmarks · Samples: 100
Benchmarkchrome-webpack
dappPageLoad
[Sentry log · main/release]
🟢 [CI log]
Bundle sizes
  • background: 14.22 MiB
  • ui: 17.07 MiB
  • common: 0 Bytes
  • other: 998.07 KiB
  • contentScripts: 1.87 MiB
  • zip: 27.04 MiB
No matching bundle-size baseline was found in the history data, so diff values are omitted.

Mock useAnalytics in basic-configuration-modal tests to avoid background
connection console warnings, and assert SRP export analytics events in
reveal-recovery-phrase tests.

Co-authored-by: Cursor <cursoragent@cursor.com>
@sonarqubecloud

Copy link
Copy Markdown

@metamask-ci

metamask-ci Bot commented Jul 13, 2026

Copy link
Copy Markdown
Contributor
Builds ready [47b7b93]
Deprecated Browserify fallback builds
⚡ Performance Benchmarks (Total: 🟢 16 pass · 🟡 7 warn · 🔴 1 fail)

Baseline (latest main): 1716549 | Date: 6/29/2026 | Pipeline: 29247889165 | Baseline logs

Metricschrome-webpackfirefox-webpack
onboardingNewWallet
[Sentry log · main/release]
🟢 [CI log]🔴 [CI log]

Regressions (🔴 1 failure)

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: -16%
  • loadNewAccount/total: -16%
  • loadNewAccount/fcp: +12%
  • confirmTx/inp: +12%
  • bridgeUserActions/bridge_load_page: -37%
  • bridgeUserActions/longTaskCount: +67%
  • bridgeUserActions/longTaskTotalDuration: +45%
  • loadNewAccount/load_new_account: +21%
  • loadNewAccount/total: +21%
  • loadNewAccount/inp: -18%
  • loadNewAccount/fcp: -68%
  • loadNewAccount/lcp: +861%
  • confirmTx/longTaskCount: -100%
  • confirmTx/longTaskTotalDuration: -100%
  • confirmTx/longTaskMaxDuration: -100%
  • confirmTx/tbt: -100%
  • confirmTx/inp: +63%
  • confirmTx/fcp: -15%
  • confirmTx/lcp: +878%
  • bridgeUserActions/bridge_load_page: +94%
  • bridgeUserActions/bridge_load_asset_picker: +16%
  • bridgeUserActions/longTaskCount: -100%
  • bridgeUserActions/longTaskTotalDuration: -100%
  • bridgeUserActions/longTaskMaxDuration: -100%
  • bridgeUserActions/tbt: -100%
  • bridgeUserActions/total: +14%
  • bridgeUserActions/inp: -40%
  • bridgeUserActions/fcp: -58%
  • bridgeUserActions/lcp: +897%

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

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

📈 Results compared to the previous 5 runs on main

  • startupStandardHome/uiStartup: +23%
  • startupStandardHome/backgroundConnect: +10%
  • startupStandardHome/firstReactRender: +221%
  • startupStandardHome/numNetworkReqs: +50%
  • startupStandardHome/tbt: +11%
  • startupStandardHome/domInteractive: +72%
  • startupStandardHome/firstReactRender: +329%
  • startupStandardHome/setupStore: +45%
  • startupStandardHome/fcp: +66%
  • startupPowerUserHome/uiStartup: -42%
  • startupPowerUserHome/load: -41%
  • startupPowerUserHome/domContentLoaded: -41%
  • startupPowerUserHome/domInteractive: -55%
  • startupPowerUserHome/backgroundConnect: -57%
  • startupPowerUserHome/firstReactRender: +311%
  • startupPowerUserHome/initialActions: -50%
  • startupPowerUserHome/loadScripts: -40%
  • startupPowerUserHome/setupStore: -96%
  • startupPowerUserHome/inp: -49%
  • startupPowerUserHome/fcp: -53%
  • startupPowerUserHome/lcp: -47%
User Journey Benchmarks · Samples: 5 · mock API 🔴 1
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: -18%
  • onboardingImportWallet/confirmSrpToPwForm: -20%
  • onboardingImportWallet/pwFormToMetricsScreen: -12%
  • onboardingImportWallet/metricsToWalletReadyScreen: -25%
  • onboardingImportWallet/doneButtonToHomeScreen: -86%
  • onboardingImportWallet/openAccountMenuToAccountListLoaded: -98%
  • onboardingImportWallet/longTaskCount: -100%
  • onboardingImportWallet/longTaskTotalDuration: -100%
  • onboardingImportWallet/longTaskMaxDuration: -100%
  • onboardingImportWallet/tbt: -100%
  • onboardingImportWallet/total: -85%
  • onboardingNewWallet/longTaskCount: -50%
  • onboardingNewWallet/longTaskTotalDuration: -64%
  • onboardingNewWallet/longTaskMaxDuration: -36%
  • onboardingNewWallet/tbt: -77%
  • solanaAssetDetails/assetClickToPriceChart: -58%
  • solanaAssetDetails/total: -58%
  • solanaAssetDetails/inp: -31%
  • importSrpHome/loginToHomeScreen: -25%
  • importSrpHome/openAccountMenuAfterLogin: +90%
  • importSrpHome/homeAfterImportWithNewWallet: -26%
  • importSrpHome/longTaskCount: -27%
  • importSrpHome/longTaskTotalDuration: -34%
  • importSrpHome/longTaskMaxDuration: +13%
  • importSrpHome/tbt: -39%
  • importSrpHome/total: -26%
  • importSrpHome/lcp: -59%
  • importSrpHome/cls: -47%
  • sendTransactions/openSendPageFromHome: -14%
  • sendTransactions/selectTokenToSendFormLoaded: -51%
  • sendTransactions/reviewTransactionToConfirmationPage: -31%
  • sendTransactions/longTaskCount: -100%
  • sendTransactions/longTaskTotalDuration: -100%
  • sendTransactions/longTaskMaxDuration: -100%
  • sendTransactions/tbt: -100%
  • sendTransactions/total: -31%
  • sendTransactions/fcp: -10%
  • sendTransactions/lcp: -13%
  • sendTransactions/cls: -40%
  • swap/openSwapPageFromHome: -34%
  • swap/fetchAndDisplaySwapQuotes: +103%
  • swap/longTaskCount: -100%
  • swap/longTaskTotalDuration: -100%
  • swap/longTaskMaxDuration: -100%
  • swap/tbt: -100%
  • swap/total: +100%
  • swap/cls: -63%

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

  • 🟡 importSrpHome/INP: p75 264ms
  • 🟡 assetDetails/FCP: p75 1.9s
  • 🟡 solanaAssetDetails/FCP: p75 1.8s
  • 🟡 sendTransactions/FCP: p75 2.0s
  • 🟡 swap/FCP: p75 1.9s
Dapp Page Load Benchmarks · Samples: 100
Benchmarkchrome-webpack
dappPageLoad
[Sentry log · main/release]
🟢 [CI log]
Bundle sizes
  • background: 14.22 MiB
  • ui: 17.07 MiB
  • common: 0 Bytes
  • other: 998.07 KiB
  • contentScripts: 1.87 MiB
  • zip: 27.04 MiB
No matching bundle-size baseline was found in the history data, so diff values are omitted.

@gauthierpetetin
gauthierpetetin marked this pull request as ready for review July 13, 2026 12:19
@gauthierpetetin
gauthierpetetin requested a review from a team as a code owner July 13, 2026 12:19
@gauthierpetetin
gauthierpetetin added this pull request to the merge queue Jul 13, 2026
Merged via the queue into main with commit dec283a Jul 13, 2026
212 checks passed
@gauthierpetetin
gauthierpetetin deleted the refactor/analytics-migrate-orphan-web3auth branch July 13, 2026 15:28
@github-actions github-actions Bot locked and limited conversation to collaborators Jul 13, 2026
@metamaskbot metamaskbot added the release-13.41.0 Issue or pull request that will be included in release 13.41.0 label Jul 13, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

release-13.41.0 Issue or pull request that will be included in release 13.41.0 risk:low size-M team-extension-platform Extension Platform team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants