Skip to content

refactor(analytics): migrate core platform background events#43901

Merged
gauthierpetetin merged 23 commits into
mainfrom
refactor/analytics-migrate-platform-bg
Jul 6, 2026
Merged

refactor(analytics): migrate core platform background events#43901
gauthierpetetin merged 23 commits into
mainfrom
refactor/analytics-migrate-platform-bg

Conversation

@gauthierpetetin

@gauthierpetetin gauthierpetetin commented Jun 25, 2026

Copy link
Copy Markdown
Contributor

Description

Sub-PR of umbrella tracker #43885.

Migrates MetaMetrics trackEvent call sites in this CODEOWNERS domain to createEventBuilder + trackEvent via useAnalytics() (UI) or app/scripts/controllers/analytics (background).

Dependency note: Merge before PR14. Includes trackAnalyticsPage RPC wiring.

Files in this PR: 11

Changelog

CHANGELOG entry: null

Related issues

Part of analytics migration umbrella: #43885

Manual testing steps

  1. Check out this branch and run yarn start.
  2. Exercise flows in the touched domain (see diff file list).
  3. Confirm no console errors and representative events still fire.

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 many background and controller telemetry paths plus RPC shims; incorrect adapter mapping could drop or mis-shape events, though behavior is intended to be equivalent.

Overview
Migrates core platform MetaMetrics call sites from metaMetricsController.trackEvent to createEventBuilder + trackEvent (and trackPage for page views) via app/scripts/controllers/analytics, as part of the umbrella analytics migration (#43885).

Background (background.js, metamask-controller.js): Direct emissions (phishing, dapp viewed, port stream, app installed, SRP import, referrals, permissions, tx failure, etc.) now build events through the shared builder. trackMetaMetricsEvent, sendMetrics, and related RPC hooks remain for legacy { event, category, properties } callers but forward through adapters that map into the builder before calling trackEvent. trackAnalyticsPage is wired alongside trackMetaMetricsPage (both use trackPage).

UI (metametrics.tsx): When metrics can be sent immediately, tracking goes through trackAnalyticsEvent with a builder-built payload instead of trackMetaMetricsEvent.

Tests are updated to mock/assert trackEvent / trackAnalyticsEvent and the new event shape (name, category under properties where applicable).

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

@metamask-ci

metamask-ci Bot commented Jun 25, 2026

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

Baseline (latest main): d50b2dc | Date: 6/25/2026 | Pipeline: 28177754151 | 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: -19%
  • loadNewAccount/fcp: +24%
  • confirmTx/inp: -12%
  • bridgeUserActions/bridge_load_page: -12%
  • bridgeUserActions/bridge_load_asset_picker: -16%
  • bridgeUserActions/longTaskCount: -29%
  • bridgeUserActions/longTaskTotalDuration: -31%
  • bridgeUserActions/longTaskMaxDuration: -18%
  • bridgeUserActions/tbt: -44%
  • bridgeUserActions/inp: -15%
  • loadNewAccount/inp: -27%
  • loadNewAccount/lcp: +1062%
  • confirmTx/confirm_tx: +11%
  • confirmTx/longTaskCount: -100%
  • confirmTx/longTaskTotalDuration: -100%
  • confirmTx/longTaskMaxDuration: -100%
  • confirmTx/tbt: -100%
  • confirmTx/total: +11%
  • confirmTx/inp: -12%
  • confirmTx/fcp: -49%
  • confirmTx/lcp: +1063%
  • bridgeUserActions/bridge_load_page: +148%
  • bridgeUserActions/bridge_load_asset_picker: +13%
  • bridgeUserActions/longTaskCount: -100%
  • bridgeUserActions/longTaskTotalDuration: -100%
  • bridgeUserActions/longTaskMaxDuration: -100%
  • bridgeUserActions/tbt: -100%
  • bridgeUserActions/total: +40%
  • bridgeUserActions/inp: -15%
  • bridgeUserActions/fcp: -47%
  • bridgeUserActions/lcp: +1161%

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

  • 🟡 loadNewAccount/FCP: p75 2.2s
  • 🟡 confirmTx/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/domInteractive: +12%
  • startupStandardHome/backgroundConnect: +10%
  • startupStandardHome/firstReactRender: +12%
  • startupStandardHome/longTaskTotalDuration: +12%
  • startupStandardHome/tbt: +12%
  • startupStandardHome/domInteractive: -17%
  • startupStandardHome/fcp: -13%
  • startupPowerUserHome/backgroundConnect: -23%

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

  • 🟡 startupPowerUserHome/INP: p75 224ms
  • 🟡 startupPowerUserHome/LCP: p75 3.4s
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]
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

  • solanaAssetDetails/assetClickToPriceChart: -73%
  • solanaAssetDetails/total: -73%
  • solanaAssetDetails/inp: -17%
  • solanaAssetDetails/fcp: -15%
  • solanaAssetDetails/lcp: -61%
  • solanaAssetDetails/cls: -94%
  • importSrpHome/loginToHomeScreen: -25%
  • importSrpHome/homeAfterImportWithNewWallet: -37%
  • importSrpHome/longTaskCount: -31%
  • importSrpHome/longTaskTotalDuration: -39%
  • importSrpHome/longTaskMaxDuration: -24%
  • importSrpHome/tbt: -47%
  • importSrpHome/total: -34%
  • importSrpHome/inp: -38%
  • importSrpHome/cls: -73%
  • sendTransactions/selectTokenToSendFormLoaded: -28%
  • sendTransactions/longTaskCount: -100%
  • sendTransactions/longTaskTotalDuration: -100%
  • sendTransactions/longTaskMaxDuration: -100%
  • sendTransactions/tbt: -100%
  • sendTransactions/inp: -19%
  • sendTransactions/lcp: -20%
  • sendTransactions/cls: -93%

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

  • 🟡 sendTransactions/FCP: p75 1.9s
Dapp Page Load Benchmarks · Samples: 100
Benchmarkchrome-webpack
dappPageLoad
[Sentry log · main/release]
🟢 [CI log]
Bundle size diffs
  • background: 107 Bytes (0%)
  • ui: 333 Bytes (0%)
  • common: 0 Bytes (0%)
  • other: 0 Bytes (0%)
  • contentScripts: 0 Bytes (0%)
  • zip: 342 Bytes (0%)

@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 commented Jun 26, 2026

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

Baseline (latest main): 1e3d238 | Date: 6/25/2026 | Pipeline: 28216106763 | 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: -12%
  • loadNewAccount/total: -12%
  • loadNewAccount/inp: -21%
  • loadNewAccount/cls: -75%
  • confirmTx/inp: -22%
  • confirmTx/lcp: +11%
  • bridgeUserActions/longTaskCount: -17%
  • bridgeUserActions/longTaskTotalDuration: -15%
  • loadNewAccount/inp: -21%
  • loadNewAccount/lcp: +1101%
  • confirmTx/confirm_tx: +11%
  • confirmTx/longTaskCount: -100%
  • confirmTx/longTaskTotalDuration: -100%
  • confirmTx/longTaskMaxDuration: -100%
  • confirmTx/tbt: -100%
  • confirmTx/total: +11%
  • confirmTx/inp: -22%
  • confirmTx/lcp: +1233%
  • bridgeUserActions/bridge_load_page: +237%
  • bridgeUserActions/bridge_load_asset_picker: +163%
  • bridgeUserActions/longTaskCount: -100%
  • bridgeUserActions/longTaskTotalDuration: -100%
  • bridgeUserActions/longTaskMaxDuration: -100%
  • bridgeUserActions/tbt: -100%
  • bridgeUserActions/total: +184%
  • bridgeUserActions/fcp: -46%
  • bridgeUserActions/lcp: +1199%

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

  • 🟡 loadNewAccount/FCP: p75 1.9s
  • 🟡 confirmTx/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/domInteractive: -27%
  • startupStandardHome/firstReactRender: -11%
  • startupStandardHome/setupStore: -34%
  • startupStandardHome/fcp: -23%
  • startupPowerUserHome/backgroundConnect: +18%
  • startupPowerUserHome/setupStore: +32%
  • startupPowerUserHome/fcp: +12%

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

  • 🟡 startupPowerUserHome/INP: p75 208ms
  • 🟡 startupPowerUserHome/LCP: p75 3.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]
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: -23%
  • onboardingImportWallet/doneButtonToHomeScreen: -76%
  • onboardingImportWallet/openAccountMenuToAccountListLoaded: -99%
  • onboardingImportWallet/longTaskCount: -50%
  • onboardingImportWallet/longTaskTotalDuration: -85%
  • onboardingImportWallet/longTaskMaxDuration: -88%
  • onboardingImportWallet/tbt: -95%
  • onboardingImportWallet/total: -82%
  • onboardingNewWallet/skipBackupToMetricsScreen: +15%
  • onboardingNewWallet/doneButtonToAssetList: -25%
  • onboardingNewWallet/longTaskCount: -23%
  • onboardingNewWallet/longTaskTotalDuration: -49%
  • onboardingNewWallet/longTaskMaxDuration: -42%
  • onboardingNewWallet/tbt: -73%
  • onboardingNewWallet/total: -23%
  • solanaAssetDetails/assetClickToPriceChart: -51%
  • solanaAssetDetails/total: -51%
  • solanaAssetDetails/cls: +12%
  • importSrpHome/loginToHomeScreen: -11%
  • importSrpHome/homeAfterImportWithNewWallet: -29%
  • importSrpHome/longTaskCount: -25%
  • importSrpHome/longTaskTotalDuration: -27%
  • importSrpHome/tbt: -33%
  • importSrpHome/total: -27%
  • importSrpHome/inp: -19%
  • importSrpHome/lcp: +10%
  • importSrpHome/cls: -53%
  • sendTransactions/openSendPageFromHome: -30%
  • sendTransactions/selectTokenToSendFormLoaded: +38%
  • sendTransactions/longTaskCount: -100%
  • sendTransactions/longTaskTotalDuration: -100%
  • sendTransactions/longTaskMaxDuration: -100%
  • sendTransactions/tbt: -100%
  • sendTransactions/cls: -92%

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

  • 🟡 importSrpHome/INP: p75 216ms
  • 🟡 sendTransactions/FCP: p75 1.8s
  • 🔴 assetDetails/INP: p75 712ms
  • 🟡 importSrpHome/FCP: p75 1.8s
Dapp Page Load Benchmarks · Samples: 100
Benchmarkchrome-webpack
dappPageLoad
[Sentry log · main/release]
🟢 [CI log]
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 1.57 KiB (0.01%)
  • ui: 332 Bytes (0%)
  • common: 0 Bytes (0%)
  • other: 0 Bytes (0%)
  • contentScripts: -2 Bytes (0%)
  • zip: 657 Bytes (0%)

@gauthierpetetin
gauthierpetetin force-pushed the refactor/analytics-migrate-platform-bg branch from 6a8388f to bbe9814 Compare June 26, 2026 05:16
@github-actions github-actions Bot added size-L and removed size-XL labels Jun 26, 2026
@gauthierpetetin
gauthierpetetin force-pushed the refactor/analytics-migrate-platform-bg branch from bbe9814 to 5d6bc0d Compare June 26, 2026 05:30
@metamask-ci

metamask-ci Bot commented Jun 26, 2026

Copy link
Copy Markdown
Contributor
Builds ready [5d6bc0d] [reused from bbe9814]
Deprecated Browserify fallback builds
⚡ Performance Benchmarks (Total: 🟢 8 pass · 🟡 8 warn · 🔴 1 fail)

Baseline (latest main): 1e3d238 | Date: 6/25/2026 | Pipeline: 28219235850 | 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/inp: -21%
  • loadNewAccount/lcp: -19%
  • loadNewAccount/cls: -75%
  • confirmTx/lcp: -12%
  • bridgeUserActions/bridge_load_page: +38%
  • bridgeUserActions/longTaskCount: +67%
  • bridgeUserActions/longTaskTotalDuration: +34%
  • loadNewAccount/load_new_account: +26%
  • loadNewAccount/total: +26%
  • loadNewAccount/lcp: +1047%
  • confirmTx/confirm_tx: +10%
  • confirmTx/longTaskCount: -100%
  • confirmTx/longTaskTotalDuration: -100%
  • confirmTx/longTaskMaxDuration: -100%
  • confirmTx/tbt: -100%
  • confirmTx/total: +10%
  • confirmTx/lcp: +1236%
  • bridgeUserActions/bridge_load_page: +344%
  • bridgeUserActions/bridge_load_asset_picker: +62%
  • bridgeUserActions/longTaskCount: -100%
  • bridgeUserActions/longTaskTotalDuration: -100%
  • bridgeUserActions/longTaskMaxDuration: -100%
  • bridgeUserActions/tbt: -100%
  • bridgeUserActions/total: +36%
  • bridgeUserActions/lcp: +1231%

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

  • 🟡 loadNewAccount/FCP: p75 1.9s
  • 🟡 confirmTx/FCP: p75 1.9s
  • 🟡 bridgeUserActions/FCP: p75 1.8s
Startup Benchmarks · Samples: 100

⚠️ Missing data: chrome/webpack/startupStandardHome, firefox/webpack/startupStandardHome, firefox/webpack/startupPowerUserHome

✅ No regressions detected

User Journey Benchmarks · Samples: 5 · mock API 🔴 1

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

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]

📈 Results compared to the previous 5 runs on main

  • onboardingImportWallet/metricsToWalletReadyScreen: -35%
  • onboardingImportWallet/doneButtonToHomeScreen: -77%
  • onboardingImportWallet/openAccountMenuToAccountListLoaded: -100%
  • onboardingImportWallet/longTaskCount: -50%
  • onboardingImportWallet/longTaskTotalDuration: -87%
  • onboardingImportWallet/longTaskMaxDuration: -90%
  • onboardingImportWallet/tbt: -98%
  • onboardingImportWallet/total: -82%
  • onboardingNewWallet/skipBackupToMetricsScreen: +14%
  • onboardingNewWallet/doneButtonToAssetList: -13%
  • onboardingNewWallet/longTaskCount: -23%
  • onboardingNewWallet/longTaskTotalDuration: -44%
  • onboardingNewWallet/longTaskMaxDuration: -52%
  • onboardingNewWallet/tbt: -79%
  • solanaAssetDetails/assetClickToPriceChart: -56%
  • solanaAssetDetails/total: -56%
  • solanaAssetDetails/cls: +12%
  • importSrpHome/loginToHomeScreen: -14%
  • importSrpHome/homeAfterImportWithNewWallet: -37%
  • importSrpHome/longTaskCount: -25%
  • importSrpHome/longTaskTotalDuration: -29%
  • importSrpHome/longTaskMaxDuration: -19%
  • importSrpHome/tbt: -41%
  • importSrpHome/total: -33%
  • importSrpHome/inp: -34%
  • importSrpHome/lcp: +17%
  • importSrpHome/cls: -53%

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

  • 🟡 assetDetails/FCP: p75 2.0s
  • 🟡 solanaAssetDetails/FCP: p75 1.8s
  • 🟡 assetDetails/FCP: p75 1.9s
  • 🟡 solanaAssetDetails/FCP: p75 1.9s
  • 🟡 importSrpHome/FCP: p75 1.9s
Dapp Page Load Benchmarks · Samples: 100
Benchmarkchrome-webpack
dappPageLoad
[Sentry log · main/release]
🟢 [CI log]
Bundle sizes
  • background: 10.75 MiB
  • ui: 16.87 MiB
  • common: 0 Bytes
  • other: 997.96 KiB
  • contentScripts: 1.79 MiB
  • zip: 26.12 MiB
No bundle-size baseline commit was available for this build, so diff values are omitted.

@gauthierpetetin
gauthierpetetin force-pushed the refactor/analytics-migrate-platform-bg branch from 5d6bc0d to c84b3a3 Compare June 26, 2026 06:03
@gauthierpetetin
gauthierpetetin force-pushed the refactor/analytics-migrate-platform-bg branch from c84b3a3 to ca12620 Compare June 26, 2026 06:13
@gauthierpetetin
gauthierpetetin force-pushed the refactor/analytics-migrate-platform-bg branch from ca12620 to 1731104 Compare June 26, 2026 06:18
@metamask-ci

metamask-ci Bot commented Jun 26, 2026

Copy link
Copy Markdown
Contributor
Builds ready [1731104] [reused from bbe9814]
Deprecated Browserify fallback builds
⚡ Performance Benchmarks (Total: 🟢 8 pass · 🟡 8 warn · 🔴 1 fail)

Baseline (latest main): 1e3d238 | Date: 6/25/2026 | Pipeline: 28220979967 | 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/inp: -21%
  • loadNewAccount/lcp: -19%
  • loadNewAccount/cls: -75%
  • confirmTx/lcp: -12%
  • bridgeUserActions/bridge_load_page: +38%
  • bridgeUserActions/longTaskCount: +67%
  • bridgeUserActions/longTaskTotalDuration: +34%
  • loadNewAccount/load_new_account: +26%
  • loadNewAccount/total: +26%
  • loadNewAccount/lcp: +1047%
  • confirmTx/confirm_tx: +10%
  • confirmTx/longTaskCount: -100%
  • confirmTx/longTaskTotalDuration: -100%
  • confirmTx/longTaskMaxDuration: -100%
  • confirmTx/tbt: -100%
  • confirmTx/total: +10%
  • confirmTx/lcp: +1236%
  • bridgeUserActions/bridge_load_page: +344%
  • bridgeUserActions/bridge_load_asset_picker: +62%
  • bridgeUserActions/longTaskCount: -100%
  • bridgeUserActions/longTaskTotalDuration: -100%
  • bridgeUserActions/longTaskMaxDuration: -100%
  • bridgeUserActions/tbt: -100%
  • bridgeUserActions/total: +36%
  • bridgeUserActions/lcp: +1231%

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

  • 🟡 loadNewAccount/FCP: p75 1.9s
  • 🟡 confirmTx/FCP: p75 1.9s
  • 🟡 bridgeUserActions/FCP: p75 1.8s
Startup Benchmarks · Samples: 100

⚠️ Missing data: chrome/webpack/startupStandardHome, firefox/webpack/startupStandardHome, firefox/webpack/startupPowerUserHome

✅ No regressions detected

User Journey Benchmarks · Samples: 5 · mock API 🔴 1

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

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]

📈 Results compared to the previous 5 runs on main

  • onboardingImportWallet/metricsToWalletReadyScreen: -35%
  • onboardingImportWallet/doneButtonToHomeScreen: -77%
  • onboardingImportWallet/openAccountMenuToAccountListLoaded: -100%
  • onboardingImportWallet/longTaskCount: -50%
  • onboardingImportWallet/longTaskTotalDuration: -87%
  • onboardingImportWallet/longTaskMaxDuration: -90%
  • onboardingImportWallet/tbt: -98%
  • onboardingImportWallet/total: -82%
  • onboardingNewWallet/skipBackupToMetricsScreen: +14%
  • onboardingNewWallet/doneButtonToAssetList: -13%
  • onboardingNewWallet/longTaskCount: -23%
  • onboardingNewWallet/longTaskTotalDuration: -44%
  • onboardingNewWallet/longTaskMaxDuration: -52%
  • onboardingNewWallet/tbt: -79%
  • solanaAssetDetails/assetClickToPriceChart: -56%
  • solanaAssetDetails/total: -56%
  • solanaAssetDetails/cls: +12%
  • importSrpHome/loginToHomeScreen: -14%
  • importSrpHome/homeAfterImportWithNewWallet: -37%
  • importSrpHome/longTaskCount: -25%
  • importSrpHome/longTaskTotalDuration: -29%
  • importSrpHome/longTaskMaxDuration: -19%
  • importSrpHome/tbt: -41%
  • importSrpHome/total: -33%
  • importSrpHome/inp: -34%
  • importSrpHome/lcp: +17%
  • importSrpHome/cls: -53%

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

  • 🟡 assetDetails/FCP: p75 2.0s
  • 🟡 solanaAssetDetails/FCP: p75 1.8s
  • 🟡 assetDetails/FCP: p75 1.9s
  • 🟡 solanaAssetDetails/FCP: p75 1.9s
  • 🟡 importSrpHome/FCP: p75 1.9s
Dapp Page Load Benchmarks · Samples: 100
Benchmarkchrome-webpack
dappPageLoad
[Sentry log · main/release]
🟢 [CI log]
Bundle sizes
  • background: 10.75 MiB
  • ui: 16.87 MiB
  • common: 0 Bytes
  • other: 997.96 KiB
  • contentScripts: 1.79 MiB
  • zip: 26.12 MiB
No bundle-size baseline commit was available for this build, so diff values are omitted.

@gauthierpetetin
gauthierpetetin force-pushed the refactor/analytics-migrate-platform-bg branch from 1731104 to 446a0fb Compare June 26, 2026 07:21
gauthierpetetin and others added 5 commits July 2, 2026 12:00
Remove unrelated getSnapKeyring helper and restore main ConfigRegistry
wiring that was accidentally dropped during conflict resolution.

Co-authored-by: Cursor <cursoragent@cursor.com>
Restore integration tests from main to keep the analytics migration PR
minimal. Unit tests cover the migrated tracking APIs.

Co-authored-by: Cursor <cursoragent@cursor.com>
Revert unrelated snap subscription wiring, changePassword/estimateGas
inlining, and leftover snap test mocks. Restore GMX referral tests and
drop redundant duplicate trackEvent option args in direct call sites.

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
createEvent still returns MetaMetricsEventPayload on this branch, not
AnalyticsEvent. Keep metaMetricsController.trackEvent until platform-libs
migrates deep-links/metrics.ts.

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

metamask-ci Bot commented Jul 2, 2026

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

Baseline (latest main): 1716549 | Date: 6/29/2026 | Pipeline: 28584634710 | 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: -18%
  • loadNewAccount/total: -18%
  • loadNewAccount/inp: -18%
  • loadNewAccount/lcp: -11%
  • confirmTx/longTaskMaxDuration: -10%
  • confirmTx/tbt: -17%
  • loadNewAccount/load_new_account: +540%
  • loadNewAccount/total: +540%
  • loadNewAccount/inp: +1482%
  • loadNewAccount/lcp: +1088%
  • confirmTx/confirm_tx: +10%
  • confirmTx/longTaskCount: -100%
  • confirmTx/longTaskTotalDuration: -100%
  • confirmTx/longTaskMaxDuration: -100%
  • confirmTx/tbt: -100%
  • confirmTx/total: +10%
  • confirmTx/lcp: +1120%

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

  • 🔴 loadNewAccount/INP: p75 1.5s
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: -15%
  • startupStandardHome/numNetworkReqs: +10%
  • startupStandardHome/domInteractive: -11%
  • startupPowerUserHome/domInteractive: -28%
  • startupPowerUserHome/inp: -23%
  • startupPowerUserHome/fcp: -20%

🌐 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]
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: -15%
  • onboardingImportWallet/doneButtonToHomeScreen: -86%
  • onboardingImportWallet/openAccountMenuToAccountListLoaded: -97%
  • onboardingImportWallet/longTaskCount: -80%
  • onboardingImportWallet/longTaskTotalDuration: -93%
  • onboardingImportWallet/longTaskMaxDuration: -90%
  • onboardingImportWallet/tbt: -98%
  • onboardingImportWallet/total: -85%
  • onboardingNewWallet/doneButtonToAssetList: -32%
  • onboardingNewWallet/longTaskCount: -50%
  • onboardingNewWallet/longTaskTotalDuration: -55%
  • onboardingNewWallet/longTaskMaxDuration: -21%
  • onboardingNewWallet/tbt: -55%
  • onboardingNewWallet/total: -29%
  • solanaAssetDetails/assetClickToPriceChart: -61%
  • solanaAssetDetails/total: -61%
  • solanaAssetDetails/cls: +1172%
  • importSrpHome/loginToHomeScreen: -16%
  • importSrpHome/openAccountMenuAfterLogin: -24%
  • importSrpHome/homeAfterImportWithNewWallet: -17%
  • importSrpHome/longTaskCount: -35%
  • importSrpHome/longTaskTotalDuration: -34%
  • importSrpHome/longTaskMaxDuration: -27%
  • importSrpHome/tbt: -32%
  • importSrpHome/total: -16%
  • importSrpHome/inp: -30%
  • importSrpHome/lcp: -58%
  • importSrpHome/cls: -47%
  • sendTransactions/openSendPageFromHome: -21%
  • sendTransactions/selectTokenToSendFormLoaded: -30%
  • sendTransactions/reviewTransactionToConfirmationPage: +14%
  • sendTransactions/longTaskCount: -20%
  • sendTransactions/longTaskTotalDuration: -23%
  • sendTransactions/tbt: -40%
  • sendTransactions/total: +16%
  • sendTransactions/inp: -23%
  • sendTransactions/lcp: -19%
  • sendTransactions/cls: -40%

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

  • 🟡 solanaAssetDetails/FCP: p75 1.8s
  • 🟡 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]
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 40.71 KiB (0.37%)
  • ui: 34.18 KiB (0.2%)
  • common: 0 Bytes (0%)
  • other: 0 Bytes (0%)
  • contentScripts: 498 Bytes (0.03%)
  • zip: 26.33 KiB (0.1%)

gauthierpetetin and others added 3 commits July 2, 2026 14:09
Keep canTrackImmediately and addEventBeforeMetricsOptIn parity with main
while migrating the immediate track path to trackAnalyticsEvent.

Co-authored-by: Cursor <cursoragent@cursor.com>
Build the analytics event shape separately and pass environment and
routing options only to trackAnalyticsEvent, matching main's split.

Co-authored-by: Cursor <cursoragent@cursor.com>
Reuse built.options for trackAnalyticsEvent so delivery context is defined
once when building the analytics event.

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 continues the analytics migration by moving core platform/UI MetaMetrics event tracking off legacy metaMetricsController.trackEvent call sites and onto the new createEventBuilder + trackEvent/trackPage pathway (AnalyticsController-backed), including wiring for analytics page tracking.

Changes:

  • Updated MetaMetricsProvider to build analytics events via createEventBuilder and dispatch them using trackAnalyticsEvent.
  • Refactored background/controller tracking in MetamaskController and background.js to use controllers/analytics trackEvent + createEventBuilder, and wired trackAnalyticsPage.
  • Updated unit tests to assert the new analytics event shape (name + properties.category) and to mock the new tracking entrypoints.

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
ui/contexts/metametrics.tsx Switches UI context event tracking to createEventBuilder + trackAnalyticsEvent.
ui/contexts/metametrics.test.tsx Updates tests/mocks for the new analytics event format and dispatch function.
app/scripts/metamask-controller.js Migrates controller-level background events and RPC hooks to trackEvent/trackPage + builder.
app/scripts/metamask-controller.test.js Adjusts tests to mock controllers/analytics.trackEvent and validate new payload shape.
app/scripts/background.js Migrates background event emission to trackEvent + createEventBuilder for key platform events.

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

Comment thread app/scripts/metamask-controller.js
Comment thread app/scripts/metamask-controller.js
Comment thread app/scripts/metamask-controller.js
Comment thread app/scripts/metamask-controller.js
Comment thread ui/contexts/metametrics.tsx Outdated
@metamask-ci

metamask-ci Bot commented Jul 2, 2026

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

Baseline (latest main): 1716549 | Date: 6/29/2026 | Pipeline: 28589820890 | 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: -22%
  • loadNewAccount/total: -22%
  • loadNewAccount/inp: +23%
  • confirmTx/longTaskMaxDuration: -10%
  • confirmTx/tbt: -13%
  • loadNewAccount/load_new_account: +71%
  • loadNewAccount/total: +71%
  • loadNewAccount/lcp: +1074%
  • confirmTx/confirm_tx: +13%
  • confirmTx/longTaskCount: -100%
  • confirmTx/longTaskTotalDuration: -100%
  • confirmTx/longTaskMaxDuration: -100%
  • confirmTx/tbt: -100%
  • confirmTx/total: +13%
  • confirmTx/lcp: +1106%

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

  • 🟡 loadNewAccount/FCP: p75 1.9s
  • 🟡 confirmTx/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/uiStartup: -14%
  • startupStandardHome/load: -15%
  • startupStandardHome/domContentLoaded: -15%
  • startupStandardHome/domInteractive: -17%
  • startupStandardHome/backgroundConnect: -14%
  • startupStandardHome/firstReactRender: -18%
  • startupStandardHome/initialActions: -33%
  • startupStandardHome/loadScripts: -15%
  • startupStandardHome/longTaskCount: -33%
  • startupStandardHome/longTaskTotalDuration: -24%
  • startupStandardHome/longTaskMaxDuration: -18%
  • startupStandardHome/tbt: -21%
  • startupStandardHome/fcp: -15%
  • startupStandardHome/lcp: +282%
  • startupStandardHome/domInteractive: -23%
  • startupStandardHome/setupStore: +16%
  • startupStandardHome/fcp: -22%
  • startupPowerUserHome/domInteractive: -34%
  • startupPowerUserHome/setupStore: -92%
  • startupPowerUserHome/fcp: -36%

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

  • 🟡 startupPowerUserHome/LCP: p75 3.5s
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/metricsToWalletReadyScreen: -37%
  • onboardingImportWallet/doneButtonToHomeScreen: -86%
  • onboardingImportWallet/openAccountMenuToAccountListLoaded: -51%
  • onboardingImportWallet/longTaskCount: -80%
  • onboardingImportWallet/longTaskTotalDuration: -94%
  • onboardingImportWallet/longTaskMaxDuration: -91%
  • onboardingImportWallet/tbt: -99%
  • onboardingImportWallet/total: -83%
  • onboardingNewWallet/createPwToRecoveryScreen: +16%
  • onboardingNewWallet/doneButtonToAssetList: -30%
  • onboardingNewWallet/longTaskCount: -50%
  • onboardingNewWallet/longTaskTotalDuration: -35%
  • onboardingNewWallet/longTaskMaxDuration: +14%
  • onboardingNewWallet/total: -25%
  • solanaAssetDetails/assetClickToPriceChart: -61%
  • solanaAssetDetails/total: -61%
  • solanaAssetDetails/inp: -24%
  • solanaAssetDetails/fcp: -21%
  • solanaAssetDetails/cls: -46%
  • importSrpHome/loginToHomeScreen: -29%
  • importSrpHome/openAccountMenuAfterLogin: -12%
  • importSrpHome/homeAfterImportWithNewWallet: -18%
  • importSrpHome/longTaskCount: -44%
  • importSrpHome/longTaskTotalDuration: -50%
  • importSrpHome/longTaskMaxDuration: -42%
  • importSrpHome/tbt: -60%
  • importSrpHome/total: -19%
  • importSrpHome/inp: -55%
  • importSrpHome/lcp: -59%
  • importSrpHome/cls: -47%
  • sendTransactions/openSendPageFromHome: -24%
  • sendTransactions/selectTokenToSendFormLoaded: -44%
  • sendTransactions/reviewTransactionToConfirmationPage: +15%
  • sendTransactions/longTaskCount: -20%
  • sendTransactions/longTaskTotalDuration: -18%
  • sendTransactions/total: +14%
  • sendTransactions/cls: -40%

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

  • 🟡 assetDetails/FCP: p75 1.9s
  • 🟡 solanaAssetDetails/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 [🚨 Warning! Bundle size has increased!]
  • background: 40.79 KiB (0.37%)
  • ui: 35.47 KiB (0.2%)
  • common: 0 Bytes (0%)
  • other: 0 Bytes (0%)
  • contentScripts: 484 Bytes (0.03%)
  • zip: 26.81 KiB (0.1%)

gauthierpetetin and others added 2 commits July 2, 2026 22:42
Co-authored-by: Cursor <cursoragent@cursor.com>
…csEvent

Guard optional payload.properties spreads in metamask-controller and
update integration tests to assert trackAnalyticsEvent payload shape.

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

metamask-ci Bot commented Jul 3, 2026

Copy link
Copy Markdown
Contributor
Builds ready [f1ebc58]
Deprecated Browserify fallback builds
⚡ Performance Benchmarks (Total: 🟢 15 pass · 🟡 9 warn · 🔴 1 fail)

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

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

Regressions (🔴 1 failure)

Interaction Benchmarks · Samples: 5 🔴 1
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: -12%
  • loadNewAccount/total: -12%
  • confirmTx/inp: +12%
  • confirmTx/lcp: -13%
  • loadNewAccount/load_new_account: +683%
  • loadNewAccount/total: +683%
  • loadNewAccount/fcp: -53%
  • loadNewAccount/lcp: +1067%
  • confirmTx/longTaskCount: -100%
  • confirmTx/longTaskTotalDuration: -100%
  • confirmTx/longTaskMaxDuration: -100%
  • confirmTx/tbt: -100%
  • confirmTx/fcp: -52%
  • confirmTx/lcp: +1071%
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: +10%
  • startupPowerUserHome/numNetworkReqs: +10%
  • startupStandardHome/domInteractive: -23%
  • startupStandardHome/fcp: -21%
  • startupPowerUserHome/domInteractive: -26%
  • startupPowerUserHome/inp: -12%
  • startupPowerUserHome/fcp: -27%

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

  • 🔴 startupPowerUserHome/INP: p75 544ms
  • 🟡 startupPowerUserHome/LCP: p75 3.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/metricsToWalletReadyScreen: -15%
  • onboardingImportWallet/doneButtonToHomeScreen: -86%
  • onboardingImportWallet/openAccountMenuToAccountListLoaded: -97%
  • onboardingImportWallet/longTaskCount: -80%
  • onboardingImportWallet/longTaskTotalDuration: -91%
  • onboardingImportWallet/longTaskMaxDuration: -87%
  • onboardingImportWallet/tbt: -95%
  • onboardingImportWallet/total: -85%
  • onboardingNewWallet/skipBackupToMetricsScreen: +14%
  • onboardingNewWallet/doneButtonToAssetList: -23%
  • onboardingNewWallet/longTaskTotalDuration: -34%
  • onboardingNewWallet/longTaskMaxDuration: -37%
  • onboardingNewWallet/tbt: -77%
  • onboardingNewWallet/total: -20%
  • solanaAssetDetails/assetClickToPriceChart: -71%
  • solanaAssetDetails/total: -71%
  • solanaAssetDetails/lcp: -12%
  • solanaAssetDetails/cls: +1620%
  • importSrpHome/homeAfterImportWithNewWallet: -15%
  • importSrpHome/longTaskCount: -35%
  • importSrpHome/longTaskTotalDuration: -38%
  • importSrpHome/longTaskMaxDuration: -16%
  • importSrpHome/tbt: -38%
  • importSrpHome/total: -11%
  • importSrpHome/lcp: -53%
  • importSrpHome/cls: -47%
  • sendTransactions/openSendPageFromHome: -12%
  • sendTransactions/selectTokenToSendFormLoaded: -60%
  • sendTransactions/reviewTransactionToConfirmationPage: -47%
  • sendTransactions/longTaskCount: -20%
  • sendTransactions/longTaskTotalDuration: -33%
  • sendTransactions/longTaskMaxDuration: -18%
  • sendTransactions/tbt: -100%
  • sendTransactions/total: -47%
  • sendTransactions/inp: -19%
  • sendTransactions/cls: -40%

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

  • 🟡 importSrpHome/INP: p75 264ms
  • 🟡 importSrpHome/FCP: p75 1.8s
  • 🟡 sendTransactions/FCP: p75 2.0s
  • 🟡 assetDetails/FCP: p75 1.9s
  • 🟡 solanaAssetDetails/FCP: p75 1.9s
  • 🟡 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: 48.04 KiB (0.44%)
  • ui: 43.34 KiB (0.25%)
  • common: 0 Bytes (0%)
  • other: 0 Bytes (0%)
  • contentScripts: 556 Bytes (0.03%)
  • zip: 31.43 KiB (0.12%)

gauthierpetetin and others added 3 commits July 3, 2026 07:20
These Bridge controller methods were accidentally removed during the
platform-bg analytics migration, breaking Bridge/Swap UI initialization
and causing E2E timeouts.

Co-authored-by: Cursor <cursoragent@cursor.com>
Extract trackOptions once and pass to both createEventBuilder.build and
trackAnalyticsEvent, removing the unsafe built.options type assertion.

Co-authored-by: Cursor <cursoragent@cursor.com>
Avoid duplicating delivery options on builder.build() and trackAnalyticsEvent.

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

metamask-ci Bot commented Jul 3, 2026

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

Baseline (latest main): 1716549 | Date: 6/29/2026 | Pipeline: 28641343362 | 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: -21%
  • loadNewAccount/total: -21%
  • confirmTx/inp: +12%
  • bridgeUserActions/bridge_load_asset_picker: -24%
  • bridgeUserActions/longTaskCount: -17%
  • bridgeUserActions/longTaskTotalDuration: -12%
  • bridgeUserActions/inp: +55%
  • loadNewAccount/load_new_account: +53%
  • loadNewAccount/total: +53%
  • loadNewAccount/inp: +15%
  • loadNewAccount/lcp: +1096%
  • confirmTx/confirm_tx: +10%
  • confirmTx/longTaskCount: -100%
  • confirmTx/longTaskTotalDuration: -100%
  • confirmTx/longTaskMaxDuration: -100%
  • confirmTx/tbt: -100%
  • confirmTx/total: +10%
  • confirmTx/lcp: +1180%
  • bridgeUserActions/bridge_load_page: +103%
  • bridgeUserActions/bridge_load_asset_picker: +114%
  • bridgeUserActions/bridge_search_token: +19%
  • bridgeUserActions/longTaskCount: -100%
  • bridgeUserActions/longTaskTotalDuration: -100%
  • bridgeUserActions/longTaskMaxDuration: -100%
  • bridgeUserActions/tbt: -100%
  • bridgeUserActions/total: +42%
  • bridgeUserActions/inp: +90%
  • bridgeUserActions/lcp: +1192%

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

  • 🟡 loadNewAccount/FCP: p75 2.0s
  • 🟡 confirmTx/FCP: p75 1.8s
  • 🟡 bridgeUserActions/FCP: p75 1.8s
  • 🟡 confirmTx/FCP: p75 1.9s
  • 🟡 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/numNetworkReqs: +10%
  • startupPowerUserHome/domInteractive: +26%
  • startupStandardHome/domInteractive: -17%
  • startupStandardHome/backgroundConnect: +16%
  • startupStandardHome/firstReactRender: +17%
  • startupStandardHome/setupStore: +16%
  • startupStandardHome/fcp: -15%
  • startupPowerUserHome/domInteractive: +13%
  • startupPowerUserHome/backgroundConnect: +36%
  • startupPowerUserHome/inp: -12%
  • startupPowerUserHome/fcp: +11%

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

  • 🔴 startupPowerUserHome/INP: p75 560ms
  • 🟡 startupPowerUserHome/LCP: p75 3.4s
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/pwFormToMetricsScreen: +15%
  • onboardingImportWallet/doneButtonToHomeScreen: -86%
  • onboardingImportWallet/openAccountMenuToAccountListLoaded: -97%
  • onboardingImportWallet/longTaskCount: -80%
  • onboardingImportWallet/longTaskTotalDuration: -93%
  • onboardingImportWallet/longTaskMaxDuration: -89%
  • onboardingImportWallet/tbt: -97%
  • onboardingImportWallet/total: -85%
  • onboardingNewWallet/doneButtonToAssetList: -30%
  • onboardingNewWallet/longTaskCount: -50%
  • onboardingNewWallet/longTaskTotalDuration: -38%
  • onboardingNewWallet/longTaskMaxDuration: -25%
  • onboardingNewWallet/tbt: -50%
  • onboardingNewWallet/total: -26%
  • solanaAssetDetails/assetClickToPriceChart: -64%
  • solanaAssetDetails/total: -64%
  • solanaAssetDetails/inp: -44%
  • solanaAssetDetails/fcp: -14%
  • solanaAssetDetails/cls: +1178%
  • importSrpHome/loginToHomeScreen: -11%
  • importSrpHome/longTaskCount: -11%
  • importSrpHome/longTaskTotalDuration: -27%
  • importSrpHome/longTaskMaxDuration: -22%
  • importSrpHome/tbt: -39%
  • importSrpHome/inp: -36%
  • importSrpHome/lcp: -60%
  • importSrpHome/cls: -47%
  • sendTransactions/selectTokenToSendFormLoaded: -54%
  • sendTransactions/reviewTransactionToConfirmationPage: -10%
  • sendTransactions/longTaskCount: -20%
  • sendTransactions/longTaskTotalDuration: -21%
  • sendTransactions/tbt: -25%
  • sendTransactions/total: -11%
  • sendTransactions/inp: -15%
  • sendTransactions/lcp: -14%
  • sendTransactions/cls: -40%

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

  • 🟡 assetDetails/FCP: p75 1.8s
  • 🟡 solanaAssetDetails/FCP: p75 1.8s
  • 🟡 importSrpHome/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: 48.22 KiB (0.44%)
  • ui: 44.33 KiB (0.26%)
  • common: 0 Bytes (0%)
  • other: 0 Bytes (0%)
  • contentScripts: 570 Bytes (0.03%)
  • zip: 31.77 KiB (0.12%)

DDDDDanica
DDDDDanica previously approved these changes Jul 3, 2026
@DDDDDanica

Copy link
Copy Markdown
Contributor

@gauthierpetetin can approve again when merge conflict is resolved ~

itsyoboieltr
itsyoboieltr previously approved these changes Jul 3, 2026
Keep OnboardingCompleted event-name filter from platform-bg and use main's
expect.objectContaining for analytics properties in integration tests.

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

metamask-ci Bot commented Jul 3, 2026

Copy link
Copy Markdown
Contributor

✨ Files requiring CODEOWNER review ✨

🫰 @MetaMask/core-platform (1 files, +206 -97)
  • 📁 app/
    • 📁 scripts/
      • 📄 metamask-controller.js +206 -97

👨‍🔧 @MetaMask/extension-platform (1 files, +206 -97)
  • 📁 app/
    • 📁 scripts/
      • 📄 metamask-controller.js +206 -97

@sonarqubecloud

sonarqubecloud Bot commented Jul 3, 2026

Copy link
Copy Markdown

Quality Gate Failed Quality Gate failed

Failed conditions
16.9% Coverage on New Code (required ≥ 80%)
34.1% Duplication on New Code (required ≤ 3%)

See analysis details on SonarQube Cloud

@metamask-ci

metamask-ci Bot commented Jul 3, 2026

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

Baseline (latest main): 1716549 | Date: 6/29/2026 | Pipeline: 28667844498 | 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: +38%
  • loadNewAccount/total: +38%
  • loadNewAccount/inp: -18%
  • bridgeUserActions/bridge_load_page: -40%
  • bridgeUserActions/bridge_load_asset_picker: -28%
  • bridgeUserActions/longTaskCount: -17%
  • bridgeUserActions/longTaskTotalDuration: -19%
  • bridgeUserActions/tbt: -23%
  • bridgeUserActions/inp: -14%
  • loadNewAccount/load_new_account: +69%
  • loadNewAccount/total: +69%
  • loadNewAccount/lcp: +1016%
  • confirmTx/confirm_tx: +11%
  • confirmTx/longTaskCount: -100%
  • confirmTx/longTaskTotalDuration: -100%
  • confirmTx/longTaskMaxDuration: -100%
  • confirmTx/tbt: -100%
  • confirmTx/total: +11%
  • confirmTx/inp: +12%
  • confirmTx/fcp: -47%
  • confirmTx/lcp: +1068%
  • bridgeUserActions/bridge_load_page: +65%
  • bridgeUserActions/bridge_load_asset_picker: +82%
  • bridgeUserActions/longTaskCount: -100%
  • bridgeUserActions/longTaskTotalDuration: -100%
  • bridgeUserActions/longTaskMaxDuration: -100%
  • bridgeUserActions/tbt: -100%
  • bridgeUserActions/inp: -22%
  • bridgeUserActions/lcp: +1124%
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/numNetworkReqs: +10%
  • startupStandardHome/domInteractive: +20%
  • startupStandardHome/fcp: +16%
  • startupPowerUserHome/uiStartup: -26%
  • startupPowerUserHome/load: -20%
  • startupPowerUserHome/domContentLoaded: -20%
  • startupPowerUserHome/domInteractive: -48%
  • startupPowerUserHome/backgroundConnect: -43%
  • startupPowerUserHome/firstReactRender: -20%
  • startupPowerUserHome/initialActions: -50%
  • startupPowerUserHome/loadScripts: -20%
  • startupPowerUserHome/setupStore: -22%
  • startupPowerUserHome/inp: -31%
  • startupPowerUserHome/fcp: -47%
  • startupPowerUserHome/lcp: -27%

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

  • 🟡 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: -18%
  • onboardingImportWallet/confirmSrpToPwForm: -19%
  • onboardingImportWallet/pwFormToMetricsScreen: -19%
  • onboardingImportWallet/metricsToWalletReadyScreen: -27%
  • onboardingImportWallet/doneButtonToHomeScreen: -86%
  • onboardingImportWallet/openAccountMenuToAccountListLoaded: -98%
  • onboardingImportWallet/longTaskCount: -80%
  • onboardingImportWallet/longTaskTotalDuration: -94%
  • onboardingImportWallet/longTaskMaxDuration: -91%
  • onboardingImportWallet/tbt: -99%
  • onboardingImportWallet/total: -85%
  • onboardingNewWallet/createWalletToSocialScreen: +13%
  • onboardingNewWallet/skipBackupToMetricsScreen: +12%
  • onboardingNewWallet/doneButtonToAssetList: -34%
  • onboardingNewWallet/longTaskCount: -50%
  • onboardingNewWallet/longTaskTotalDuration: -45%
  • onboardingNewWallet/longTaskMaxDuration: -11%
  • onboardingNewWallet/tbt: -39%
  • onboardingNewWallet/total: -30%
  • solanaAssetDetails/assetClickToPriceChart: -71%
  • solanaAssetDetails/total: -71%
  • solanaAssetDetails/cls: +1620%
  • importSrpHome/loginToHomeScreen: -31%
  • importSrpHome/openAccountMenuAfterLogin: -26%
  • importSrpHome/homeAfterImportWithNewWallet: -26%
  • importSrpHome/longTaskCount: -52%
  • importSrpHome/longTaskTotalDuration: -60%
  • importSrpHome/longTaskMaxDuration: -24%
  • importSrpHome/tbt: -66%
  • importSrpHome/total: -27%
  • importSrpHome/inp: -61%
  • importSrpHome/fcp: -21%
  • importSrpHome/lcp: -47%
  • importSrpHome/cls: -47%
  • sendTransactions/openSendPageFromHome: -13%
  • sendTransactions/selectTokenToSendFormLoaded: -51%
  • sendTransactions/reviewTransactionToConfirmationPage: +25%
  • sendTransactions/longTaskCount: -20%
  • sendTransactions/longTaskTotalDuration: -26%
  • sendTransactions/longTaskMaxDuration: -10%
  • sendTransactions/tbt: -55%
  • sendTransactions/total: +24%
  • sendTransactions/inp: -23%
  • sendTransactions/lcp: -16%
  • sendTransactions/cls: -40%

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

  • 🟡 assetDetails/FCP: p75 1.9s
  • 🟡 solanaAssetDetails/FCP: p75 1.9s
  • 🟡 importSrpHome/FCP: p75 1.8s
Dapp Page Load Benchmarks · Samples: 100
Benchmarkchrome-webpack
dappPageLoad
[Sentry log · main/release]
🟢 [CI log]
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 70.88 KiB (0.64%)
  • ui: 41.81 KiB (0.24%)
  • common: 0 Bytes (0%)
  • other: 0 Bytes (0%)
  • contentScripts: 726 Bytes (0.04%)
  • zip: 32.82 KiB (0.12%)

@gauthierpetetin

Copy link
Copy Markdown
Contributor Author

Conflicts are resolved, it's ready to be re-approved!

This was referenced Jul 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release-13.40.0 Issue or pull request that will be included in release 13.40.0 risk:medium size-L team-extension-platform Extension Platform team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants