Skip to content

feat: implement DMK bridge handler - #45558

Merged
gantunesr merged 16 commits into
mainfrom
gar/feat/dmk/dmk-handler
Aug 20, 2026
Merged

feat: implement DMK bridge handler#45558
gantunesr merged 16 commits into
mainfrom
gar/feat/dmk/dmk-handler

Conversation

@gantunesr

@gantunesr gantunesr commented Aug 14, 2026

Copy link
Copy Markdown
Member

Description

This is PR 4 of 5 of the DMK. It introduces the full LedgerDmkBridgeHandler — DMK session lifecycle, WebHID transport wrapper (listenToAvailableDevices(), since the offscreen document has no user gesture for requestDevice()), device discovery with timeout, action routing incl. EIP-7702 signDelegationAuthorization, and structured error mapping — as a new, unwired module plus its unit tests.

Changelog

CHANGELOG entry: null

Related issues

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

Manual testing steps

N/A

Screenshots/Recordings

N/A

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 hardware-wallet connection and signing flows, but the handler is not production-wired yet, limiting immediate user impact; lifecycle race handling is complex and will matter once integrated.

Overview
Adds LedgerDmkBridgeHandler as a new offscreen Ledger implementation backed by LedgerDmkBridge, plus a large Jest suite. The module is not wired into the extension bundle yet (only tests import it), so DMK/LavaMoat policy work is deferred to a follow-up.

The handler introduces an offscreen WebHID transport wrapper that routes discovery through listenToAvailableDevices() / permitted devices instead of requestDevice(), with discovery timeout and HardwareWalletError normalization. It caches a single bridge with bridgeGeneration / tearDownBridge() vs destroy() semantics so disconnect/replug keeps HID listeners while hot-swap cleans them up, and routes standard Ledger actions (keys, tx, personal message, typed data) with param validation and serialized errors over chrome.runtime messages.

Note: LedgerAction.signDelegationAuthorization is not implemented here; callers get an unknown-action error (covered by tests), which differs from the PR description’s mention of EIP-7702 support.

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

@gantunesr gantunesr added the no-changelog no-changelog Indicates no external facing user changes, therefore no changelog documentation needed label Aug 14, 2026
@gantunesr
gantunesr deployed to pr-comment August 14, 2026 20:06 — with GitHub Actions Active
@metamask-ci metamask-ci Bot added the team-accounts-framework Accounts team label Aug 14, 2026
@metamask-ci

metamask-ci Bot commented Aug 14, 2026

Copy link
Copy Markdown
Contributor

✨ Files requiring CODEOWNER review ✨

🔑 @MetaMask/accounts-engineers (2 files, +1576 -0)
  • 📁 app/
    • 📁 offscreen/
      • 📁 hardware-wallets/
        • 📄 ledger-dmk-handler.test.ts +968 -0
        • 📄 ledger-dmk-handler.ts +608 -0

@gantunesr
gantunesr deployed to pr-comment August 14, 2026 20:33 — with GitHub Actions Active
@metamask-ci

metamask-ci Bot commented Aug 14, 2026

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

Baseline (latest main): 171ed20 | Date: 7/28/2026 | Pipeline: 31836319422 | 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 (🔴 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: +191%
  • loadNewAccount/total: +191%
  • confirmTx/longTaskMaxDuration: +40%
  • confirmTx/tbt: -14%
  • bridgeUserActions/bridge_load_page: +10%
  • bridgeUserActions/bridge_load_asset_picker: +102%
  • bridgeUserActions/longTaskCount: +11%
  • bridgeUserActions/longTaskTotalDuration: -11%
  • bridgeUserActions/tbt: -30%
  • bridgeUserActions/total: +15%
  • bridgeUserActions/inp: +23%
  • loadNewAccount/load_new_account: +191%
  • loadNewAccount/total: +191%
  • loadNewAccount/inp: -24%
  • loadNewAccount/fcp: -46%
  • loadNewAccount/lcp: +1498%
  • confirmTx/longTaskCount: -100%
  • confirmTx/longTaskTotalDuration: -100%
  • confirmTx/longTaskMaxDuration: -100%
  • confirmTx/tbt: -100%
  • confirmTx/inp: -17%
  • confirmTx/fcp: -42%
  • confirmTx/lcp: +1243%
  • bridgeUserActions/bridge_load_page: +206%
  • bridgeUserActions/bridge_load_asset_picker: +97%
  • bridgeUserActions/longTaskCount: -100%
  • bridgeUserActions/longTaskTotalDuration: -100%
  • bridgeUserActions/longTaskMaxDuration: -100%
  • bridgeUserActions/tbt: -100%
  • bridgeUserActions/total: +25%
  • bridgeUserActions/inp: -15%
  • bridgeUserActions/fcp: -55%
  • bridgeUserActions/lcp: +1469%

🌐 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.8s
  • 🟡 bridgeUserActions/LCP: p75 2.8s
Startup Benchmarks · Samples: 100
Benchmarkchrome-webpackfirefox-webpack
startupStandardHome
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]
startupPowerUserHome
[Sentry log · main/release]
🟡 [CI log]

📈 Results compared to the previous 5 runs on main

  • startupStandardHome/backgroundConnect: +13%
  • startupStandardHome/firstReactRender: -99%
  • startupStandardHome/numNetworkReqs: -14%
  • startupStandardHome/lcp: +10%
  • startupStandardHome/domInteractive: -34%
  • startupStandardHome/backgroundConnect: +10%
  • startupStandardHome/firstReactRender: -98%
  • startupStandardHome/setupStore: +18%
  • startupStandardHome/numNetworkReqs: -17%
  • startupStandardHome/fcp: -29%
  • startupPowerUserHome/uiStartup: +10%
  • startupPowerUserHome/load: +15%
  • startupPowerUserHome/domContentLoaded: +15%
  • startupPowerUserHome/domInteractive: +16%
  • startupPowerUserHome/backgroundConnect: +111%
  • startupPowerUserHome/firstReactRender: -99%
  • startupPowerUserHome/initialActions: +11%
  • startupPowerUserHome/loadScripts: +15%
  • startupPowerUserHome/setupStore: -65%
  • startupPowerUserHome/inp: +23%
  • startupPowerUserHome/fcp: +20%
  • startupPowerUserHome/lcp: +19%

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

  • 🟡 startupPowerUserHome/INP: p75 232ms
  • 🟡 startupPowerUserHome/LCP: p75 3.4s
User Journey Benchmarks · Samples: 5 · mock API 🔴 2
Benchmarkchrome-webpackfirefox-webpack
onboardingImportWallet
[Sentry log · main/release]
🟡 [CI log]
🟡 total
🟢 [CI log]
onboardingNewWallet
[Sentry log · main/release]
🔴 [CI log]
🔴 total
🔴 [CI log]
🔴 total
assetDetails
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]
solanaAssetDetails
[Sentry log · main/release]
🟡 [CI log]🟡 [CI log]
🟡 assetClickToPriceChart
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: +17%
  • onboardingImportWallet/confirmSrpToPwForm: +15%
  • onboardingImportWallet/pwFormToMetricsScreen: +12%
  • onboardingImportWallet/metricsToWalletReadyScreen: -12%
  • onboardingImportWallet/doneButtonToHomeScreen: -78%
  • onboardingImportWallet/openAccountMenuToAccountListLoaded: -50%
  • onboardingImportWallet/longTaskCount: -86%
  • onboardingImportWallet/longTaskTotalDuration: -95%
  • onboardingImportWallet/longTaskMaxDuration: -91%
  • onboardingImportWallet/tbt: -99%
  • onboardingImportWallet/total: -81%
  • onboardingNewWallet/longTaskCount: -69%
  • onboardingNewWallet/longTaskTotalDuration: -74%
  • onboardingNewWallet/longTaskMaxDuration: -39%
  • onboardingNewWallet/tbt: -84%
  • solanaAssetDetails/assetClickToPriceChart: +262%
  • solanaAssetDetails/longTaskCount: -100%
  • solanaAssetDetails/longTaskTotalDuration: -100%
  • solanaAssetDetails/longTaskMaxDuration: -100%
  • solanaAssetDetails/tbt: -100%
  • solanaAssetDetails/total: +262%
  • solanaAssetDetails/inp: +19%
  • solanaAssetDetails/fcp: +26%
  • importSrpHome/longTaskCount: -37%
  • importSrpHome/longTaskTotalDuration: -36%
  • importSrpHome/longTaskMaxDuration: -26%
  • importSrpHome/tbt: -36%
  • importSrpHome/inp: -40%
  • importSrpHome/lcp: +12%
  • importSrpHome/cls: +468%
  • sendTransactions/selectTokenToSendFormLoaded: -19%
  • sendTransactions/reviewTransactionToConfirmationPage: -98%
  • sendTransactions/longTaskCount: -100%
  • sendTransactions/longTaskTotalDuration: -100%
  • sendTransactions/longTaskMaxDuration: -100%
  • sendTransactions/tbt: -100%
  • sendTransactions/total: -96%
  • sendTransactions/inp: -56%
  • sendTransactions/fcp: -12%
  • sendTransactions/lcp: -69%
  • sendTransactions/cls: +171%
  • swap/openSwapPageFromHome: -12%
  • swap/fetchAndDisplaySwapQuotes: +85%
  • swap/longTaskCount: -100%
  • swap/longTaskTotalDuration: -100%
  • swap/longTaskMaxDuration: -100%
  • swap/tbt: -100%
  • swap/total: +84%
  • swap/inp: -15%
  • swap/fcp: -19%
  • swap/lcp: -75%
  • swap/cls: -92%

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

  • 🟡 solanaAssetDetails/FCP: p75 2.0s
  • 🟡 importSrpHome/FCP: p75 1.8s
  • 🟡 solanaAssetDetails/FCP: p75 1.9s
  • 🟡 sendTransactions/FCP: p75 1.9s
  • 🟡 swap/FCP: p75 2.2s
  • 🟡 swap/LCP: p75 2.6s
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: -56%
  • dappPageLoad/firstPaint: -41%
  • dappPageLoad/firstContentfulPaint: -41%
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: -4.32 KiB (-0.03%)
  • ui: 7.82 KiB (0.04%)
  • common: 0 Bytes (0%)
  • other: 0 Bytes (0%)
  • contentScripts: -2 Bytes (0%)
  • zip: 1.29 KiB (0.01%)

@gantunesr
gantunesr marked this pull request as ready for review August 14, 2026 21:05
@gantunesr
gantunesr requested a review from a team as a code owner August 14, 2026 21:05
@gantunesr
gantunesr deployed to pr-comment August 14, 2026 21:05 — with GitHub Actions Active
Comment thread app/offscreen/hardware-wallets/ledger-dmk-handler.ts
Comment thread test/jest/console-baseline-unit.json Outdated
Comment thread app/offscreen/hardware-wallets/ledger-dmk-handler.ts Outdated
Comment thread app/offscreen/hardware-wallets/ledger-dmk-handler.ts Outdated
@gantunesr
gantunesr deployed to pr-comment August 17, 2026 15:37 — with GitHub Actions Active
@gantunesr
gantunesr deployed to pr-comment August 17, 2026 15:39 — with GitHub Actions Active
@metamask-ci

metamask-ci Bot commented Aug 17, 2026

Copy link
Copy Markdown
Contributor
Builds ready [74dc5a5]
⚡ Performance Benchmarks (Total: 🟢 2 pass · 🟡 7 warn · 🔴 0 fail)

Baseline (latest main): 171ed20 | Date: 7/28/2026 | Pipeline: 32050629875 | Baseline logs

Interaction Benchmarks · Samples: 5

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

✅ No regressions detected

Startup Benchmarks · Samples: 100

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

Benchmarkchrome-webpackfirefox-webpack
startupPowerUserHome
[Sentry log · main/release]
🟡 [CI log]
startupStandardHome
[Sentry log · main/release]
🟡 [CI log]
🟡 loadScripts

📈 Results compared to the previous 5 runs on main

  • startupStandardHome/domInteractive: -24%
  • startupStandardHome/backgroundConnect: +10%
  • startupStandardHome/firstReactRender: -98%
  • startupStandardHome/setupStore: +13%
  • startupStandardHome/numNetworkReqs: -20%
  • startupStandardHome/fcp: -24%

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

  • 🟡 startupPowerUserHome/INP: p75 328ms
User Journey Benchmarks · Samples: 5 · mock API

⚠️ Missing data: chrome/webpack/userJourneyOnboardingNew, chrome/webpack/userJourneyAccountManagement, firefox/webpack/userJourneyOnboardingImport, firefox/webpack/userJourneyOnboardingNew, firefox/webpack/userJourneyAssets, firefox/webpack/userJourneyAccountManagement

Benchmarkchrome-webpackfirefox-webpack
onboardingImportWallet
[Sentry log · main/release]
🟡 [CI log]
🟡 total
assetDetails
[Sentry log · main/release]
🟢 [CI log]
solanaAssetDetails
[Sentry log · main/release]
🟡 [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: +21%
  • onboardingImportWallet/confirmSrpToPwForm: +11%
  • onboardingImportWallet/doneButtonToHomeScreen: -77%
  • onboardingImportWallet/openAccountMenuToAccountListLoaded: -51%
  • onboardingImportWallet/longTaskCount: -86%
  • onboardingImportWallet/longTaskTotalDuration: -95%
  • onboardingImportWallet/longTaskMaxDuration: -90%
  • onboardingImportWallet/tbt: -98%
  • onboardingImportWallet/total: -80%
  • solanaAssetDetails/assetClickToPriceChart: +277%
  • solanaAssetDetails/longTaskCount: -100%
  • solanaAssetDetails/longTaskTotalDuration: -100%
  • solanaAssetDetails/longTaskMaxDuration: -100%
  • solanaAssetDetails/tbt: -100%
  • solanaAssetDetails/total: +277%
  • solanaAssetDetails/fcp: +16%
  • sendTransactions/openSendPageFromHome: +32%
  • sendTransactions/selectTokenToSendFormLoaded: -13%
  • sendTransactions/reviewTransactionToConfirmationPage: -46%
  • sendTransactions/longTaskCount: -100%
  • sendTransactions/longTaskTotalDuration: -100%
  • sendTransactions/longTaskMaxDuration: -100%
  • sendTransactions/tbt: -100%
  • sendTransactions/total: -45%
  • sendTransactions/inp: -44%
  • sendTransactions/lcp: -59%
  • sendTransactions/cls: +171%
  • swap/openSwapPageFromHome: +800%
  • swap/fetchAndDisplaySwapQuotes: +86%
  • swap/longTaskCount: -100%
  • swap/longTaskTotalDuration: -100%
  • swap/longTaskMaxDuration: -100%
  • swap/tbt: -100%
  • swap/total: +90%
  • swap/lcp: -70%
  • swap/cls: -92%

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

  • 🟡 solanaAssetDetails/FCP: p75 1.8s
  • 🟡 swap/FCP: p75 1.8s
  • 🟡 sendTransactions/FCP: p75 1.9s
  • 🟡 swap/FCP: p75 2.0s
Dapp Page Load Benchmarks · Samples: 100

⚠️ Missing data: chrome/webpack/pageLoadBenchmark

✅ No regressions detected

Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 39.1 KiB (0.27%)
  • ui: 7.72 KiB (0.04%)
  • common: 0 Bytes (0%)
  • other: 0 Bytes (0%)
  • contentScripts: -402 Bytes (-0.02%)
  • zip: 11.06 KiB (0.05%)

@metamask-ci

metamask-ci Bot commented Aug 18, 2026

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

Baseline (latest main): 171ed20 | Date: 7/28/2026 | Pipeline: 32137113465 | 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]
🔴 srpButtonToSrpForm(p95) [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: +190%
  • loadNewAccount/total: +190%
  • loadNewAccount/inp: +14%
  • confirmTx/longTaskTotalDuration: -14%
  • confirmTx/longTaskMaxDuration: +37%
  • confirmTx/tbt: -24%
  • bridgeUserActions/bridge_load_asset_picker: +186%
  • bridgeUserActions/longTaskCount: -44%
  • bridgeUserActions/longTaskTotalDuration: -55%
  • bridgeUserActions/longTaskMaxDuration: -30%
  • bridgeUserActions/tbt: -75%
  • bridgeUserActions/total: +19%
  • bridgeUserActions/inp: +38%
  • loadNewAccount/load_new_account: +191%
  • loadNewAccount/total: +191%
  • loadNewAccount/fcp: -65%
  • loadNewAccount/lcp: +1637%
  • confirmTx/longTaskCount: -100%
  • confirmTx/longTaskTotalDuration: -100%
  • confirmTx/longTaskMaxDuration: -100%
  • confirmTx/tbt: -100%
  • confirmTx/lcp: +1184%
  • bridgeUserActions/bridge_load_page: +206%
  • bridgeUserActions/bridge_load_asset_picker: +151%
  • bridgeUserActions/longTaskCount: -100%
  • bridgeUserActions/longTaskTotalDuration: -100%
  • bridgeUserActions/longTaskMaxDuration: -100%
  • bridgeUserActions/tbt: -100%
  • bridgeUserActions/total: +20%
  • bridgeUserActions/inp: +15%
  • bridgeUserActions/lcp: +1155%

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

  • 🟡 loadNewAccount/LCP: p75 3.0s
  • 🟡 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]

📈 Results compared to the previous 5 runs on main

  • startupStandardHome/firstReactRender: -99%
  • startupStandardHome/setupStore: +44%
  • startupStandardHome/numNetworkReqs: -14%
  • startupStandardHome/uiStartup: -28%
  • startupStandardHome/load: -21%
  • startupStandardHome/domContentLoaded: -21%
  • startupStandardHome/domInteractive: -31%
  • startupStandardHome/backgroundConnect: -12%
  • startupStandardHome/firstReactRender: -99%
  • startupStandardHome/initialActions: -50%
  • startupStandardHome/loadScripts: -22%
  • startupStandardHome/setupStore: -14%
  • startupStandardHome/numNetworkReqs: -23%
  • startupStandardHome/fcp: -13%
  • startupStandardHome/lcp: -20%
  • startupPowerUserHome/backgroundConnect: -15%
  • startupPowerUserHome/firstReactRender: -99%
  • startupPowerUserHome/initialActions: +11%
  • startupPowerUserHome/setupStore: -71%
  • startupPowerUserHome/numNetworkReqs: -44%

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

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

📈 Results compared to the previous 5 runs on main

  • onboardingImportWallet/srpButtonToSrpForm: +24%
  • onboardingImportWallet/doneButtonToHomeScreen: -92%
  • onboardingImportWallet/openAccountMenuToAccountListLoaded: -42%
  • onboardingImportWallet/longTaskCount: -86%
  • onboardingImportWallet/longTaskTotalDuration: -96%
  • onboardingImportWallet/longTaskMaxDuration: -92%
  • onboardingImportWallet/tbt: -100%
  • onboardingImportWallet/total: -79%
  • onboardingNewWallet/srpButtonToPwForm: -19%
  • onboardingNewWallet/createPwToRecoveryScreen: -21%
  • onboardingNewWallet/skipBackupToMetricsScreen: -30%
  • onboardingNewWallet/agreeButtonToOnboardingSuccess: -48%
  • onboardingNewWallet/doneButtonToAssetList: -78%
  • onboardingNewWallet/longTaskCount: -100%
  • onboardingNewWallet/longTaskTotalDuration: -100%
  • onboardingNewWallet/longTaskMaxDuration: -100%
  • onboardingNewWallet/tbt: -100%
  • onboardingNewWallet/total: -75%
  • solanaAssetDetails/assetClickToPriceChart: +274%
  • solanaAssetDetails/longTaskCount: -100%
  • solanaAssetDetails/longTaskTotalDuration: -100%
  • solanaAssetDetails/longTaskMaxDuration: -100%
  • solanaAssetDetails/tbt: -100%
  • solanaAssetDetails/total: +274%
  • solanaAssetDetails/fcp: +15%
  • importSrpHome/loginToHomeScreen: -15%
  • importSrpHome/longTaskCount: -37%
  • importSrpHome/longTaskTotalDuration: -48%
  • importSrpHome/longTaskMaxDuration: -34%
  • importSrpHome/tbt: -53%
  • importSrpHome/inp: -48%
  • importSrpHome/cls: +484%
  • sendTransactions/openSendPageFromHome: +47%
  • sendTransactions/reviewTransactionToConfirmationPage: -98%
  • sendTransactions/longTaskCount: -100%
  • sendTransactions/longTaskTotalDuration: -100%
  • sendTransactions/longTaskMaxDuration: -100%
  • sendTransactions/tbt: -100%
  • sendTransactions/total: -96%
  • sendTransactions/inp: -41%
  • sendTransactions/fcp: +13%
  • sendTransactions/lcp: -62%
  • sendTransactions/cls: +171%
  • swap/openSwapPageFromHome: +812%
  • swap/fetchAndDisplaySwapQuotes: +86%
  • swap/longTaskCount: +33%
  • swap/longTaskTotalDuration: -16%
  • swap/longTaskMaxDuration: -12%
  • swap/tbt: -100%
  • swap/total: +98%
  • swap/lcp: -71%
  • swap/cls: -92%

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

  • 🟡 solanaAssetDetails/FCP: p75 1.8s
  • 🟡 sendTransactions/FCP: p75 1.9s
  • 🟡 swap/FCP: p75 1.9s
  • 🟡 solanaAssetDetails/FCP: p75 1.8s
  • 🟡 importSrpHome/FCP: p75 1.9s
  • 🔴 swap/INP: p75 552ms
Dapp Page Load Benchmarks · Samples: 100

⚠️ Missing data: chrome/webpack/pageLoadBenchmark

✅ No regressions detected

Bundle size diffs [🚀 Bundle size reduced!]
  • background: -100.88 KiB (-0.69%)
  • ui: -121.66 KiB (-0.64%)
  • common: 0 Bytes (0%)
  • other: 0 Bytes (0%)
  • contentScripts: 276 Bytes (0.01%)
  • zip: 93.78 KiB (0.43%)

@metamask-ci

metamask-ci Bot commented Aug 19, 2026

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

Baseline (latest main): 171ed20 | Date: 7/28/2026 | Pipeline: 32262713904 | 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: +189%
  • loadNewAccount/total: +189%
  • loadNewAccount/fcp: -17%
  • loadNewAccount/lcp: -20%
  • confirmTx/longTaskCount: -33%
  • confirmTx/longTaskTotalDuration: -41%
  • confirmTx/longTaskMaxDuration: +12%
  • confirmTx/tbt: -48%
  • confirmTx/fcp: -17%
  • confirmTx/lcp: -17%
  • bridgeUserActions/bridge_load_page: -10%
  • bridgeUserActions/bridge_load_asset_picker: +23%
  • bridgeUserActions/longTaskCount: +11%
  • bridgeUserActions/longTaskTotalDuration: -10%
  • bridgeUserActions/longTaskMaxDuration: -21%
  • bridgeUserActions/tbt: -52%
  • bridgeUserActions/fcp: -15%
  • bridgeUserActions/lcp: -17%
  • loadNewAccount/load_new_account: +196%
  • loadNewAccount/total: +196%
  • loadNewAccount/fcp: -49%
  • loadNewAccount/lcp: +1241%
  • confirmTx/longTaskCount: -100%
  • confirmTx/longTaskTotalDuration: -100%
  • confirmTx/longTaskMaxDuration: -100%
  • confirmTx/tbt: -100%
  • confirmTx/inp: -24%
  • confirmTx/lcp: +1275%
  • bridgeUserActions/bridge_load_page: +323%
  • bridgeUserActions/bridge_load_asset_picker: +133%
  • bridgeUserActions/longTaskCount: -100%
  • bridgeUserActions/longTaskTotalDuration: -100%
  • bridgeUserActions/longTaskMaxDuration: -100%
  • bridgeUserActions/tbt: -100%
  • bridgeUserActions/total: +47%
  • bridgeUserActions/inp: -15%
  • bridgeUserActions/lcp: +1188%

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

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

📈 Results compared to the previous 5 runs on main

  • startupStandardHome/firstReactRender: -99%
  • startupStandardHome/setupStore: +36%
  • startupStandardHome/numNetworkReqs: -14%
  • startupStandardHome/domInteractive: -29%
  • startupStandardHome/firstReactRender: -98%
  • startupStandardHome/setupStore: +24%
  • startupStandardHome/numNetworkReqs: -20%
  • startupStandardHome/fcp: -24%
  • startupPowerUserHome/load: +11%
  • startupPowerUserHome/domContentLoaded: +11%
  • startupPowerUserHome/domInteractive: -17%
  • startupPowerUserHome/backgroundConnect: -10%
  • startupPowerUserHome/firstReactRender: -99%
  • startupPowerUserHome/initialActions: +11%
  • startupPowerUserHome/loadScripts: +11%
  • startupPowerUserHome/setupStore: -65%
  • startupPowerUserHome/numNetworkReqs: -48%
  • startupPowerUserHome/inp: +14%
  • startupPowerUserHome/fcp: -15%

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

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

📈 Results compared to the previous 5 runs on main

  • onboardingImportWallet/srpButtonToSrpForm: +11%
  • onboardingImportWallet/metricsToWalletReadyScreen: -14%
  • onboardingImportWallet/doneButtonToHomeScreen: -92%
  • onboardingImportWallet/openAccountMenuToAccountListLoaded: -51%
  • onboardingImportWallet/longTaskCount: -86%
  • onboardingImportWallet/longTaskTotalDuration: -96%
  • onboardingImportWallet/longTaskMaxDuration: -92%
  • onboardingImportWallet/tbt: -100%
  • onboardingImportWallet/total: -81%
  • onboardingNewWallet/longTaskCount: -69%
  • onboardingNewWallet/longTaskTotalDuration: -73%
  • onboardingNewWallet/longTaskMaxDuration: -36%
  • onboardingNewWallet/tbt: -80%
  • solanaAssetDetails/assetClickToPriceChart: -41%
  • solanaAssetDetails/longTaskCount: -100%
  • solanaAssetDetails/longTaskTotalDuration: -100%
  • solanaAssetDetails/longTaskMaxDuration: -100%
  • solanaAssetDetails/tbt: -100%
  • solanaAssetDetails/total: -41%
  • solanaAssetDetails/inp: -37%
  • solanaAssetDetails/fcp: -34%
  • solanaAssetDetails/lcp: -29%
  • importSrpHome/loginToHomeScreen: -11%
  • importSrpHome/homeAfterImportWithNewWallet: -12%
  • importSrpHome/longTaskCount: -30%
  • importSrpHome/longTaskTotalDuration: -47%
  • importSrpHome/longTaskMaxDuration: -36%
  • importSrpHome/tbt: -55%
  • importSrpHome/total: -12%
  • importSrpHome/inp: -40%
  • importSrpHome/fcp: +12%
  • importSrpHome/cls: +440%
  • sendTransactions/selectTokenToSendFormLoaded: +12%
  • sendTransactions/reviewTransactionToConfirmationPage: -98%
  • sendTransactions/longTaskCount: -100%
  • sendTransactions/longTaskTotalDuration: -100%
  • sendTransactions/longTaskMaxDuration: -100%
  • sendTransactions/tbt: -100%
  • sendTransactions/total: -95%
  • sendTransactions/inp: -44%
  • sendTransactions/lcp: -61%
  • sendTransactions/cls: +171%
  • swap/openSwapPageFromHome: +174%
  • swap/fetchAndDisplaySwapQuotes: +85%
  • swap/longTaskCount: -100%
  • swap/longTaskTotalDuration: -100%
  • swap/longTaskMaxDuration: -100%
  • swap/tbt: -100%
  • swap/total: +80%
  • swap/lcp: -73%
  • swap/cls: -92%

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

  • 🟡 importSrpHome/FCP: p75 1.9s
  • 🟡 solanaAssetDetails/FCP: p75 1.9s
  • 🟡 sendTransactions/FCP: p75 1.9s
  • 🔴 swap/INP: p75 752ms
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: -58%
  • dappPageLoad/firstPaint: -46%
  • dappPageLoad/firstContentfulPaint: -46%
Bundle size diffs [🚀 Bundle size reduced!]
  • background: -90.91 KiB (-0.62%)
  • ui: -65.55 KiB (-0.34%)
  • common: 0 Bytes (0%)
  • other: 0 Bytes (0%)
  • contentScripts: 953 Bytes (0.05%)
  • zip: 517.52 KiB (2.36%)

Comment thread app/offscreen/hardware-wallets/ledger-dmk-handler.ts
Comment thread app/offscreen/hardware-wallets/ledger-dmk-handler.test.ts Outdated
@gantunesr
gantunesr deployed to pr-comment August 19, 2026 16:42 — with GitHub Actions Active
@metamask-ci

metamask-ci Bot commented Aug 19, 2026

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

Baseline (latest main): 171ed20 | Date: 7/28/2026 | Pipeline: 32278738003 | 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]
🔴 srpButtonToSrpForm(p95) [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: +192%
  • loadNewAccount/total: +192%
  • loadNewAccount/inp: +36%
  • loadNewAccount/lcp: +19%
  • confirmTx/longTaskMaxDuration: +57%
  • confirmTx/inp: +36%
  • confirmTx/lcp: +17%
  • bridgeUserActions/bridge_load_page: +42%
  • bridgeUserActions/bridge_load_asset_picker: +97%
  • bridgeUserActions/longTaskCount: +67%
  • bridgeUserActions/longTaskTotalDuration: +39%
  • bridgeUserActions/tbt: -14%
  • bridgeUserActions/total: +18%
  • bridgeUserActions/inp: +38%
  • bridgeUserActions/lcp: +19%
  • loadNewAccount/load_new_account: +192%
  • loadNewAccount/total: +192%
  • loadNewAccount/inp: -24%
  • loadNewAccount/fcp: -44%
  • loadNewAccount/lcp: +1199%
  • confirmTx/longTaskCount: -100%
  • confirmTx/longTaskTotalDuration: -100%
  • confirmTx/longTaskMaxDuration: -100%
  • confirmTx/tbt: -100%
  • confirmTx/inp: -24%
  • confirmTx/lcp: +1144%
  • bridgeUserActions/bridge_load_page: +181%
  • bridgeUserActions/bridge_load_asset_picker: +189%
  • bridgeUserActions/longTaskCount: -100%
  • bridgeUserActions/longTaskTotalDuration: -100%
  • bridgeUserActions/longTaskMaxDuration: -100%
  • bridgeUserActions/tbt: -100%
  • bridgeUserActions/total: +28%
  • bridgeUserActions/inp: +15%
  • bridgeUserActions/lcp: +1125%

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

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

📈 Results compared to the previous 5 runs on main

  • startupStandardHome/firstReactRender: -99%
  • startupStandardHome/setupStore: +36%
  • startupStandardHome/numNetworkReqs: -14%
  • startupStandardHome/domInteractive: -34%
  • startupStandardHome/firstReactRender: -98%
  • startupStandardHome/numNetworkReqs: -20%
  • startupStandardHome/fcp: -27%
  • startupPowerUserHome/domInteractive: -12%
  • startupPowerUserHome/backgroundConnect: -17%
  • startupPowerUserHome/firstReactRender: -99%
  • startupPowerUserHome/initialActions: +11%
  • startupPowerUserHome/loadScripts: +10%
  • startupPowerUserHome/setupStore: -68%
  • startupPowerUserHome/numNetworkReqs: -45%
  • startupPowerUserHome/inp: +19%
  • startupPowerUserHome/fcp: -11%

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

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

📈 Results compared to the previous 5 runs on main

  • onboardingImportWallet/srpButtonToSrpForm: +15%
  • onboardingImportWallet/confirmSrpToPwForm: +13%
  • onboardingImportWallet/doneButtonToHomeScreen: -92%
  • onboardingImportWallet/openAccountMenuToAccountListLoaded: -42%
  • onboardingImportWallet/longTaskCount: -86%
  • onboardingImportWallet/longTaskTotalDuration: -96%
  • onboardingImportWallet/longTaskMaxDuration: -92%
  • onboardingImportWallet/tbt: -99%
  • onboardingImportWallet/total: -79%
  • onboardingNewWallet/skipBackupToMetricsScreen: -13%
  • onboardingNewWallet/longTaskCount: -69%
  • onboardingNewWallet/longTaskTotalDuration: -77%
  • onboardingNewWallet/longTaskMaxDuration: -46%
  • onboardingNewWallet/tbt: -93%
  • solanaAssetDetails/assetClickToPriceChart: +279%
  • solanaAssetDetails/longTaskCount: -100%
  • solanaAssetDetails/longTaskTotalDuration: -100%
  • solanaAssetDetails/longTaskMaxDuration: -100%
  • solanaAssetDetails/tbt: -100%
  • solanaAssetDetails/total: +279%
  • solanaAssetDetails/inp: +35%
  • solanaAssetDetails/fcp: +22%
  • solanaAssetDetails/lcp: +13%
  • importSrpHome/loginToHomeScreen: -13%
  • importSrpHome/homeAfterImportWithNewWallet: -13%
  • importSrpHome/longTaskCount: -37%
  • importSrpHome/longTaskTotalDuration: -46%
  • importSrpHome/longTaskMaxDuration: -38%
  • importSrpHome/tbt: -54%
  • importSrpHome/total: -13%
  • importSrpHome/inp: -35%
  • importSrpHome/lcp: -11%
  • importSrpHome/cls: +443%
  • sendTransactions/openSendPageFromHome: -24%
  • sendTransactions/selectTokenToSendFormLoaded: -18%
  • sendTransactions/reviewTransactionToConfirmationPage: -99%
  • sendTransactions/longTaskCount: -100%
  • sendTransactions/longTaskTotalDuration: -100%
  • sendTransactions/longTaskMaxDuration: -100%
  • sendTransactions/tbt: -100%
  • sendTransactions/total: -96%
  • sendTransactions/inp: -52%
  • sendTransactions/lcp: -67%
  • sendTransactions/cls: +171%
  • swap/openSwapPageFromHome: +332%
  • swap/fetchAndDisplaySwapQuotes: +84%
  • swap/longTaskCount: -100%
  • swap/longTaskTotalDuration: -100%
  • swap/longTaskMaxDuration: -100%
  • swap/tbt: -100%
  • swap/total: +89%
  • swap/inp: -21%
  • swap/fcp: -23%
  • swap/lcp: -75%
  • swap/cls: -92%

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

  • 🟡 solanaAssetDetails/FCP: p75 1.9s
  • 🟡 solanaAssetDetails/FCP: p75 2.0s
  • 🟡 importSrpHome/FCP: p75 1.9s
  • 🟡 swap/INP: p75 432ms
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: -60%
  • dappPageLoad/firstPaint: -41%
  • dappPageLoad/firstContentfulPaint: -41%
Bundle size diffs [🚀 Bundle size reduced!]
  • background: -90.89 KiB (-0.62%)
  • ui: -64.52 KiB (-0.34%)
  • common: 0 Bytes (0%)
  • other: 0 Bytes (0%)
  • contentScripts: 983 Bytes (0.05%)
  • zip: 517.84 KiB (2.36%)

@gantunesr
gantunesr deployed to pr-comment August 19, 2026 17:30 — with GitHub Actions Active
@metamask-ci

metamask-ci Bot commented Aug 19, 2026

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

Baseline (latest main): 171ed20 | Date: 7/28/2026 | Pipeline: 32278738003 | 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]
🔴 srpButtonToSrpForm(p95) [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: +192%
  • loadNewAccount/total: +192%
  • loadNewAccount/inp: +36%
  • loadNewAccount/lcp: +19%
  • confirmTx/longTaskMaxDuration: +57%
  • confirmTx/inp: +36%
  • confirmTx/lcp: +17%
  • bridgeUserActions/bridge_load_page: +42%
  • bridgeUserActions/bridge_load_asset_picker: +97%
  • bridgeUserActions/longTaskCount: +67%
  • bridgeUserActions/longTaskTotalDuration: +39%
  • bridgeUserActions/tbt: -14%
  • bridgeUserActions/total: +18%
  • bridgeUserActions/inp: +38%
  • bridgeUserActions/lcp: +19%
  • loadNewAccount/load_new_account: +192%
  • loadNewAccount/total: +192%
  • loadNewAccount/inp: -24%
  • loadNewAccount/fcp: -44%
  • loadNewAccount/lcp: +1199%
  • confirmTx/longTaskCount: -100%
  • confirmTx/longTaskTotalDuration: -100%
  • confirmTx/longTaskMaxDuration: -100%
  • confirmTx/tbt: -100%
  • confirmTx/inp: -24%
  • confirmTx/lcp: +1144%
  • bridgeUserActions/bridge_load_page: +181%
  • bridgeUserActions/bridge_load_asset_picker: +189%
  • bridgeUserActions/longTaskCount: -100%
  • bridgeUserActions/longTaskTotalDuration: -100%
  • bridgeUserActions/longTaskMaxDuration: -100%
  • bridgeUserActions/tbt: -100%
  • bridgeUserActions/total: +28%
  • bridgeUserActions/inp: +15%
  • bridgeUserActions/lcp: +1125%

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

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

📈 Results compared to the previous 5 runs on main

  • startupStandardHome/firstReactRender: -99%
  • startupStandardHome/setupStore: +36%
  • startupStandardHome/numNetworkReqs: -14%
  • startupStandardHome/domInteractive: -34%
  • startupStandardHome/firstReactRender: -98%
  • startupStandardHome/numNetworkReqs: -20%
  • startupStandardHome/fcp: -27%
  • startupPowerUserHome/domInteractive: -12%
  • startupPowerUserHome/backgroundConnect: -17%
  • startupPowerUserHome/firstReactRender: -99%
  • startupPowerUserHome/initialActions: +11%
  • startupPowerUserHome/loadScripts: +10%
  • startupPowerUserHome/setupStore: -68%
  • startupPowerUserHome/numNetworkReqs: -45%
  • startupPowerUserHome/inp: +19%
  • startupPowerUserHome/fcp: -11%

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

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

📈 Results compared to the previous 5 runs on main

  • onboardingImportWallet/srpButtonToSrpForm: +15%
  • onboardingImportWallet/confirmSrpToPwForm: +13%
  • onboardingImportWallet/doneButtonToHomeScreen: -92%
  • onboardingImportWallet/openAccountMenuToAccountListLoaded: -42%
  • onboardingImportWallet/longTaskCount: -86%
  • onboardingImportWallet/longTaskTotalDuration: -96%
  • onboardingImportWallet/longTaskMaxDuration: -92%
  • onboardingImportWallet/tbt: -99%
  • onboardingImportWallet/total: -79%
  • onboardingNewWallet/skipBackupToMetricsScreen: -13%
  • onboardingNewWallet/longTaskCount: -69%
  • onboardingNewWallet/longTaskTotalDuration: -77%
  • onboardingNewWallet/longTaskMaxDuration: -46%
  • onboardingNewWallet/tbt: -93%
  • solanaAssetDetails/assetClickToPriceChart: +279%
  • solanaAssetDetails/longTaskCount: -100%
  • solanaAssetDetails/longTaskTotalDuration: -100%
  • solanaAssetDetails/longTaskMaxDuration: -100%
  • solanaAssetDetails/tbt: -100%
  • solanaAssetDetails/total: +279%
  • solanaAssetDetails/inp: +35%
  • solanaAssetDetails/fcp: +22%
  • solanaAssetDetails/lcp: +13%
  • importSrpHome/loginToHomeScreen: -13%
  • importSrpHome/homeAfterImportWithNewWallet: -13%
  • importSrpHome/longTaskCount: -37%
  • importSrpHome/longTaskTotalDuration: -46%
  • importSrpHome/longTaskMaxDuration: -38%
  • importSrpHome/tbt: -54%
  • importSrpHome/total: -13%
  • importSrpHome/inp: -35%
  • importSrpHome/lcp: -11%
  • importSrpHome/cls: +443%
  • sendTransactions/openSendPageFromHome: -24%
  • sendTransactions/selectTokenToSendFormLoaded: -18%
  • sendTransactions/reviewTransactionToConfirmationPage: -99%
  • sendTransactions/longTaskCount: -100%
  • sendTransactions/longTaskTotalDuration: -100%
  • sendTransactions/longTaskMaxDuration: -100%
  • sendTransactions/tbt: -100%
  • sendTransactions/total: -96%
  • sendTransactions/inp: -52%
  • sendTransactions/lcp: -67%
  • sendTransactions/cls: +171%
  • swap/openSwapPageFromHome: +332%
  • swap/fetchAndDisplaySwapQuotes: +84%
  • swap/longTaskCount: -100%
  • swap/longTaskTotalDuration: -100%
  • swap/longTaskMaxDuration: -100%
  • swap/tbt: -100%
  • swap/total: +89%
  • swap/inp: -21%
  • swap/fcp: -23%
  • swap/lcp: -75%
  • swap/cls: -92%

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

  • 🟡 solanaAssetDetails/FCP: p75 1.9s
  • 🟡 solanaAssetDetails/FCP: p75 2.0s
  • 🟡 importSrpHome/FCP: p75 1.9s
  • 🟡 swap/INP: p75 432ms
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: -60%
  • dappPageLoad/firstPaint: -41%
  • dappPageLoad/firstContentfulPaint: -41%
Bundle size diffs [🚀 Bundle size reduced!]
  • background: -90.89 KiB (-0.62%)
  • ui: -64.52 KiB (-0.34%)
  • common: 0 Bytes (0%)
  • other: 0 Bytes (0%)
  • contentScripts: 983 Bytes (0.05%)
  • zip: 517.84 KiB (2.36%)

@gantunesr
gantunesr deployed to pr-comment August 19, 2026 19:08 — with GitHub Actions Active

@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 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 ffa811e. Configure here.

Comment thread app/offscreen/hardware-wallets/ledger-dmk-handler.ts
@sonarqubecloud

Copy link
Copy Markdown

@gantunesr
gantunesr deployed to pr-comment August 19, 2026 19:33 — with GitHub Actions Active
@metamask-ci

metamask-ci Bot commented Aug 19, 2026

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

Baseline (latest main): 171ed20 | Date: 7/28/2026 | Pipeline: 32291389180 | 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]
🔴 srpButtonToPwForm(p95) [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: +188%
  • loadNewAccount/total: +188%
  • loadNewAccount/inp: -17%
  • loadNewAccount/lcp: +41%
  • confirmTx/longTaskTotalDuration: -23%
  • confirmTx/longTaskMaxDuration: +16%
  • confirmTx/tbt: -41%
  • confirmTx/fcp: -11%
  • bridgeUserActions/bridge_load_asset_picker: +40%
  • bridgeUserActions/longTaskCount: -44%
  • bridgeUserActions/longTaskTotalDuration: -60%
  • bridgeUserActions/longTaskMaxDuration: -38%
  • bridgeUserActions/tbt: -91%
  • bridgeUserActions/fcp: -15%
  • bridgeUserActions/lcp: -10%
  • loadNewAccount/load_new_account: +191%
  • loadNewAccount/total: +191%
  • loadNewAccount/fcp: -44%
  • loadNewAccount/lcp: +1151%
  • confirmTx/longTaskCount: -100%
  • confirmTx/longTaskTotalDuration: -100%
  • confirmTx/longTaskMaxDuration: -100%
  • confirmTx/tbt: -100%
  • confirmTx/inp: -24%
  • confirmTx/lcp: +1184%
  • bridgeUserActions/bridge_load_page: +178%
  • bridgeUserActions/bridge_load_asset_picker: +104%
  • bridgeUserActions/longTaskCount: -100%
  • bridgeUserActions/longTaskTotalDuration: -100%
  • bridgeUserActions/longTaskMaxDuration: -100%
  • bridgeUserActions/tbt: -100%
  • bridgeUserActions/total: +29%
  • bridgeUserActions/fcp: -46%
  • bridgeUserActions/lcp: +1136%

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

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

📈 Results compared to the previous 5 runs on main

  • startupStandardHome/firstReactRender: -99%
  • startupStandardHome/setupStore: +82%
  • startupStandardHome/numNetworkReqs: -14%
  • startupStandardHome/domInteractive: -31%
  • startupStandardHome/firstReactRender: -98%
  • startupStandardHome/numNetworkReqs: -20%
  • startupStandardHome/fcp: -24%
  • startupPowerUserHome/domInteractive: -43%
  • startupPowerUserHome/backgroundConnect: -21%
  • startupPowerUserHome/firstReactRender: -99%
  • startupPowerUserHome/initialActions: +11%
  • startupPowerUserHome/setupStore: -67%
  • startupPowerUserHome/numNetworkReqs: -39%
  • startupPowerUserHome/fcp: -33%

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

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

📈 Results compared to the previous 5 runs on main

  • onboardingImportWallet/srpButtonToSrpForm: -14%
  • onboardingImportWallet/confirmSrpToPwForm: -18%
  • onboardingImportWallet/pwFormToMetricsScreen: -28%
  • onboardingImportWallet/metricsToWalletReadyScreen: -30%
  • onboardingImportWallet/doneButtonToHomeScreen: -92%
  • onboardingImportWallet/openAccountMenuToAccountListLoaded: -72%
  • onboardingImportWallet/longTaskCount: -100%
  • onboardingImportWallet/longTaskTotalDuration: -100%
  • onboardingImportWallet/longTaskMaxDuration: -100%
  • onboardingImportWallet/tbt: -100%
  • onboardingImportWallet/total: -87%
  • onboardingNewWallet/srpButtonToPwForm: +27%
  • onboardingNewWallet/createPwToRecoveryScreen: +11%
  • onboardingNewWallet/skipBackupToMetricsScreen: +17%
  • onboardingNewWallet/agreeButtonToOnboardingSuccess: +16%
  • onboardingNewWallet/longTaskCount: -69%
  • onboardingNewWallet/longTaskTotalDuration: -78%
  • onboardingNewWallet/longTaskMaxDuration: -49%
  • onboardingNewWallet/tbt: -96%
  • solanaAssetDetails/assetClickToPriceChart: +282%
  • solanaAssetDetails/longTaskCount: -100%
  • solanaAssetDetails/longTaskTotalDuration: -100%
  • solanaAssetDetails/longTaskMaxDuration: -100%
  • solanaAssetDetails/tbt: -100%
  • solanaAssetDetails/total: +282%
  • solanaAssetDetails/inp: +11%
  • solanaAssetDetails/fcp: +16%
  • sendTransactions/openSendPageFromHome: +16%
  • sendTransactions/selectTokenToSendFormLoaded: -19%
  • sendTransactions/reviewTransactionToConfirmationPage: -98%
  • sendTransactions/longTaskCount: -100%
  • sendTransactions/longTaskTotalDuration: -100%
  • sendTransactions/longTaskMaxDuration: -100%
  • sendTransactions/tbt: -100%
  • sendTransactions/total: -95%
  • sendTransactions/inp: -48%
  • sendTransactions/fcp: +12%
  • sendTransactions/lcp: -62%
  • sendTransactions/cls: +171%
  • swap/fetchAndDisplaySwapQuotes: +91%
  • swap/longTaskCount: -100%
  • swap/longTaskTotalDuration: -100%
  • swap/longTaskMaxDuration: -100%
  • swap/tbt: -100%
  • swap/total: +91%
  • swap/lcp: -73%
  • swap/cls: -92%

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

  • 🟡 solanaAssetDetails/FCP: p75 1.8s
  • 🟡 sendTransactions/FCP: p75 1.8s
  • 🟡 swap/FCP: p75 1.8s
  • 🟡 importSrpHome/FCP: p75 1.9s
  • 🔴 swap/INP: p75 560ms
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: -58%
  • dappPageLoad/firstPaint: -46%
  • dappPageLoad/firstContentfulPaint: -46%
Bundle size diffs
  • background: 105 Bytes (0%)
  • ui: 50 Bytes (0%)
  • common: 0 Bytes (0%)
  • other: 0 Bytes (0%)
  • contentScripts: 0 Bytes (0%)
  • zip: 38 Bytes (0%)

@gantunesr
gantunesr added this pull request to the merge queue Aug 20, 2026
Merged via the queue into main with commit c9bcd4e Aug 20, 2026
138 of 139 checks passed
@gantunesr
gantunesr deleted the gar/feat/dmk/dmk-handler branch August 20, 2026 00:51
@github-actions github-actions Bot locked and limited conversation to collaborators Aug 20, 2026
@metamaskbot metamaskbot added the release-13.46.0 Issue or pull request that will be included in release 13.46.0 label Aug 20, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

no-changelog no-changelog Indicates no external facing user changes, therefore no changelog documentation needed release-13.46.0 Issue or pull request that will be included in release 13.46.0 risk:low size-XL team-accounts-framework Accounts team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants