Skip to content

feat: optimize update lavamoat policies#41479

Merged
itsyoboieltr merged 29 commits intomainfrom
feat/optimize-update-lavamoat-policies
Apr 21, 2026
Merged

feat: optimize update lavamoat policies#41479
itsyoboieltr merged 29 commits intomainfrom
feat/optimize-update-lavamoat-policies

Conversation

@itsyoboieltr
Copy link
Copy Markdown
Contributor

@itsyoboieltr itsyoboieltr commented Apr 3, 2026

Description

  • Instead of re-running all policy generation builds from scratch (~5 parallel build jobs), the @metamaskbot update-policies workflow now extracts the diffs directly from the failed validate-lavamoat-policies CI logs and applies them
  • Removes all build jobs, cache logic, and dummy env vars — replaces 7 jobs with 2 lightweight ones
  • Expected to reduce policy update time from minutes to seconds

How it works

  1. Finds the latest main.yml CI run for the PR's head commit
  2. Downloads logs from any failed "Validate LavaMoat" jobs
  3. Extracts the git diff output, applies the patches
  4. Commits and pushes

Changelog

CHANGELOG entry:

Related issues

Fixes: MetaMask/MetaMask-planning#7150

Manual testing steps

  1. Create a PR that introduces a LavaMoat policy change
  2. Wait for CI to run and the validate step to fail
  3. Comment @metamaskbot update-policies
  4. Verify policies are committed correctly and match what the old workflow would have produced

Screenshots/Recordings

Not applicable

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
Changes the automation that updates LavaMoat policies by relying on artifacts from an existing CI run instead of regenerating policies, so failures or mismatched CI artifacts could prevent updates or apply incomplete diffs. No runtime product code is changed, but it touches security-review tooling.

Overview
Reworks the @metamaskbot update-policies workflow to stop regenerating LavaMoat policies in dedicated jobs and instead locate the PR’s main.yml CI run, detect whether validate-lavamoat-policies is pending/skipped/failed, and act accordingly.

When validation fails, the bot now downloads uploaded .patch artifacts, applies them, commits/pushes the updated policy files, and posts more specific PR comments (including listing failed validation jobs); it also adds workflow concurrency and reduces job timeouts.

Updates validate-lavamoat-policies.yml to capture git diff output into patch files and upload those diffs as artifacts on failure, enabling the new update flow.

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

@itsyoboieltr itsyoboieltr self-assigned this Apr 3, 2026
@itsyoboieltr itsyoboieltr added team-extension-platform Extension Platform team no-changelog no-changelog Indicates no external facing user changes, therefore no changelog documentation needed skip-release-validation labels Apr 3, 2026
@github-project-automation github-project-automation Bot moved this to Needs dev review in PR review queue Apr 3, 2026
@itsyoboieltr itsyoboieltr requested review from a team and HowardBraham as code owners April 3, 2026 11:48
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 3, 2026

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.

@github-actions github-actions Bot added the size-M label Apr 3, 2026
Comment thread .github/workflows/update-lavamoat-policies.yml Outdated
Comment thread .github/workflows/update-lavamoat-policies.yml Outdated
Comment thread .github/workflows/update-lavamoat-policies.yml Outdated
Comment thread .github/workflows/update-lavamoat-policies.yml Outdated
Comment thread .github/workflows/update-lavamoat-policies.yml Outdated
@metamaskbotv2
Copy link
Copy Markdown
Contributor

metamaskbotv2 Bot commented Apr 3, 2026

Builds ready [39b66d1]
⚡ Performance Benchmarks (Total: 🟢 6 pass · 🟡 12 warn · 🔴 0 fail)

Baseline (latest main): f34f804 | Date: 9/10/58222 | Pipeline: 23946200193 | Baseline logs

Interaction Benchmarks
Benchmarkchrome-browserify
loadNewAccount🟡 [Show logs]
confirmTx🟡 [Show logs]
bridgeUserActions🟡 [Show logs]

📈 Results compared to the previous 5 runs on main

  • bridgeUserActions/bridge_load_asset_picker: +12%

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

  • 🟡 loadNewAccount/FCP: p75 2.5s
  • 🟡 confirmTx/FCP: p75 2.5s
  • 🟡 bridgeUserActions/INP: p75 208ms
  • 🟡 bridgeUserActions/FCP: p75 2.5s
Startup Benchmarks
Benchmarkchrome-browserifychrome-webpackfirefox-browserifyfirefox-webpack
startupStandardHome🟢 [Show logs]🟢 [Show logs]🟢 [Show logs]🟢 [Show logs]
startupPowerUserHome🟡 [Show logs]🟡 [Show logs]🟡 [Show logs]🟡 [Show logs]

📈 Results compared to the previous 5 runs on main

  • startupStandardHome/domContentLoaded: -12%
  • startupStandardHome/domInteractive: +13%
  • startupStandardHome/backgroundConnect: +15%
  • startupStandardHome/initialActions: -38%
  • startupStandardHome/loadScripts: -16%
  • startupStandardHome/setupStore: +14%
  • startupPowerUserHome/uiStartup: -10%
  • startupPowerUserHome/domInteractive: -18%
  • startupPowerUserHome/backgroundConnect: +153%
  • startupPowerUserHome/setupStore: +17%
  • startupStandardHome/uiStartup: -13%
  • startupStandardHome/load: -13%
  • startupStandardHome/domContentLoaded: -13%
  • startupStandardHome/backgroundConnect: -33%
  • startupStandardHome/firstReactRender: -24%
  • startupStandardHome/loadScripts: -13%
  • startupStandardHome/numNetworkReqs: -29%
  • startupPowerUserHome/domInteractive: -18%
  • startupStandardHome/domInteractive: -59%
  • startupStandardHome/initialActions: +25%
  • startupStandardHome/numNetworkReqs: -18%
  • startupPowerUserHome/uiStartup: -11%
  • startupPowerUserHome/backgroundConnect: -36%
  • startupPowerUserHome/setupStore: +46%
  • startupStandardHome/domInteractive: -35%
  • startupStandardHome/backgroundConnect: -12%
  • startupStandardHome/initialActions: -44%
  • startupStandardHome/setupStore: -63%
  • startupStandardHome/numNetworkReqs: -16%
  • startupPowerUserHome/backgroundConnect: -18%
  • startupPowerUserHome/setupStore: +12%
  • startupPowerUserHome/numNetworkReqs: -43%

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

  • 🔴 startupPowerUserHome/INP: p75 624ms
  • 🔴 startupPowerUserHome/INP: p75 656ms
  • 🟡 startupPowerUserHome/LCP: p75 3.5s
  • 🟡 startupPowerUserHome/INP: p75 248ms
  • 🟡 startupPowerUserHome/LCP: p75 3.7s
User Journey Benchmarks
Benchmarkchrome-browserify
onboardingImportWallet🟢 [Show logs]
onboardingNewWallet🟢 [Show logs]
assetDetails🟡 [Show logs]
solanaAssetDetails🟡 [Show logs]
importSrpHome🟡 [Show logs]
sendTransactions🟡 [Show logs]
swap🟡 [Show logs]

📈 Results compared to the previous 5 runs on main

  • onboardingImportWallet/srpButtonToSrpForm: -11%
  • onboardingImportWallet/metricsToWalletReadyScreen: -33%
  • onboardingImportWallet/doneButtonToHomeScreen: -75%
  • onboardingImportWallet/openAccountMenuToAccountListLoaded: +32%
  • onboardingImportWallet/total: -41%
  • onboardingNewWallet/skipBackupToMetricsScreen: -17%
  • onboardingNewWallet/doneButtonToAssetList: -36%
  • onboardingNewWallet/total: -30%
  • assetDetails/assetClickToPriceChart: -71%
  • assetDetails/total: -71%
  • solanaAssetDetails/assetClickToPriceChart: -64%
  • solanaAssetDetails/total: -64%
  • importSrpHome/openAccountMenuAfterLogin: -67%
  • importSrpHome/homeAfterImportWithNewWallet: -38%
  • importSrpHome/total: -32%
  • sendTransactions/openSendPageFromHome: +55%
  • sendTransactions/reviewTransactionToConfirmationPage: +17%
  • sendTransactions/total: +17%
  • swap/openSwapPageFromHome: -87%
  • swap/fetchAndDisplaySwapQuotes: +32%
  • swap/total: +14%

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

  • 🟡 assetDetails/INP: p75 208ms
  • 🟡 assetDetails/FCP: p75 2.4s
  • 🟡 solanaAssetDetails/FCP: p75 2.3s
  • 🟡 importSrpHome/INP: p75 216ms
  • 🟡 importSrpHome/FCP: p75 2.5s
  • 🟡 sendTransactions/FCP: p75 2.5s
  • 🟡 swap/FCP: p75 2.5s
🌐 Dapp Page Load Benchmarks

Current Commit: 39b66d1 | Date: 4/3/2026

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.05s (±41ms) 🟡 | historical mean value: 1.03s ⬆️ (historical data)
  • domContentLoaded-> current mean value: 735ms (±39ms) 🟢 | historical mean value: 723ms ⬆️ (historical data)
  • firstContentfulPaint-> current mean value: 87ms (±10ms) 🟢 | historical mean value: 86ms ⬆️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.05s 41ms 1.01s 1.35s 1.08s 1.35s
domContentLoaded 735ms 39ms 707ms 1.02s 768ms 1.02s
firstPaint 87ms 10ms 72ms 164ms 96ms 164ms
firstContentfulPaint 87ms 10ms 72ms 164ms 96ms 164ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs
  • background: 58 Bytes (0%)
  • ui: 5 Bytes (0%)
  • common: 20 Bytes (0%)

Comment thread .github/workflows/update-lavamoat-policies.yml
@metamaskbotv2
Copy link
Copy Markdown
Contributor

metamaskbotv2 Bot commented Apr 15, 2026

Builds ready [deb0e22] [reused from a07a331]
⚡ Performance Benchmarks (Total: 🟢 7 pass · 🟡 8 warn · 🔴 0 fail)

Baseline (latest main): 71bd826 | Date: 10/14/58243 | Pipeline: 24455075634 | Baseline logs

Interaction Benchmarks · Samples: 5
Benchmarkchrome-browserify
loadNewAccount🟡 [Show logs]
confirmTx🟡 [Show logs]
bridgeUserActions🟡 [Show logs]

📈 Results compared to the previous 5 runs on main

  • bridgeUserActions/bridge_load_page: -17%
  • bridgeUserActions/bridge_load_asset_picker: -32%
  • bridgeUserActions/bridge_search_token: -17%
  • bridgeUserActions/total: -18%

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

  • 🟡 loadNewAccount/FCP: p75 2.5s
  • 🟡 confirmTx/FCP: p75 2.5s
  • 🟡 bridgeUserActions/FCP: p75 2.6s
Startup Benchmarks · Samples: 100

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

Benchmarkchrome-browserifychrome-webpackfirefox-browserifyfirefox-webpack
startupStandardHome🟢 [Show logs]🟢 [Show logs]🟢 [Show logs]🟢 [Show logs]

📈 Results compared to the previous 5 runs on main

  • startupStandardHome/uiStartup: -19%
  • startupStandardHome/domInteractive: +18%
  • startupStandardHome/backgroundConnect: +18%
  • startupStandardHome/initialActions: -33%
  • startupStandardHome/loadScripts: -13%
  • startupStandardHome/uiStartup: -16%
  • startupStandardHome/load: -12%
  • startupStandardHome/domContentLoaded: -12%
  • startupStandardHome/firstPaint: +15%
  • startupStandardHome/backgroundConnect: -35%
  • startupStandardHome/firstReactRender: -19%
  • startupStandardHome/loadScripts: -12%
  • startupStandardHome/numNetworkReqs: -29%
  • startupStandardHome/domInteractive: -16%
  • startupStandardHome/backgroundConnect: +25%
  • startupStandardHome/initialActions: -33%
  • startupStandardHome/numNetworkReqs: -18%
  • startupStandardHome/uiStartup: -16%
  • startupStandardHome/domInteractive: -37%
  • startupStandardHome/initialActions: +14%
  • startupStandardHome/setupStore: -60%
  • startupStandardHome/numNetworkReqs: -18%
User Journey Benchmarks · Samples: 5 · mock API
Benchmarkchrome-browserify
onboardingImportWallet🟢 [Show logs]
onboardingNewWallet🟢 [Show logs]
assetDetails🟡 [Show logs]
solanaAssetDetails🟡 [Show logs]
importSrpHome🟡 [Show logs]
sendTransactions🟡 [Show logs]
swap🟡 [Show logs]

📈 Results compared to the previous 5 runs on main

  • onboardingImportWallet/srpButtonToSrpForm: -85%
  • onboardingImportWallet/metricsToWalletReadyScreen: -35%
  • onboardingImportWallet/doneButtonToHomeScreen: -74%
  • onboardingImportWallet/openAccountMenuToAccountListLoaded: +27%
  • onboardingImportWallet/total: -44%
  • onboardingNewWallet/srpButtonToPwForm: -78%
  • onboardingNewWallet/skipBackupToMetricsScreen: -68%
  • onboardingNewWallet/doneButtonToAssetList: -22%
  • onboardingNewWallet/total: -24%
  • assetDetails/assetClickToPriceChart: -40%
  • assetDetails/total: -40%
  • solanaAssetDetails/assetClickToPriceChart: -71%
  • solanaAssetDetails/total: -71%
  • importSrpHome/openAccountMenuAfterLogin: -82%
  • importSrpHome/homeAfterImportWithNewWallet: -75%
  • importSrpHome/total: -67%
  • sendTransactions/openSendPageFromHome: -20%
  • sendTransactions/selectTokenToSendFormLoaded: -35%
  • sendTransactions/reviewTransactionToConfirmationPage: +34%
  • sendTransactions/total: +30%
  • swap/openSwapPageFromHome: -96%
  • swap/fetchAndDisplaySwapQuotes: +31%
  • swap/total: +11%

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

  • 🟡 assetDetails/INP: p75 224ms
  • 🟡 assetDetails/FCP: p75 2.5s
  • 🟡 solanaAssetDetails/FCP: p75 2.5s
  • 🟡 importSrpHome/FCP: p75 2.1s
  • 🟡 sendTransactions/INP: p75 216ms
  • 🟡 sendTransactions/FCP: p75 2.5s
  • 🟡 swap/FCP: p75 2.6s
Dapp Page Load Benchmarks · Samples: 100
Benchmarkchrome-browserify
dappPageLoad🟢 [Show logs]
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 2.33 KiB (0.04%)
  • ui: 5.69 KiB (0.07%)
  • common: 135 Bytes (0%)

Comment thread .github/workflows/update-lavamoat-policies.yml Outdated
@metamaskbotv2
Copy link
Copy Markdown
Contributor

metamaskbotv2 Bot commented Apr 15, 2026

Builds ready [ccfd304] [reused from a07a331]
⚡ Performance Benchmarks (Total: 🟢 7 pass · 🟡 8 warn · 🔴 0 fail)

Baseline (latest main): 71bd826 | Date: 10/14/58243 | Pipeline: 24460560444 | Baseline logs

Interaction Benchmarks · Samples: 5
Benchmarkchrome-browserify
loadNewAccount🟡 [Show logs]
confirmTx🟡 [Show logs]
bridgeUserActions🟡 [Show logs]

📈 Results compared to the previous 5 runs on main

  • bridgeUserActions/bridge_load_page: -17%
  • bridgeUserActions/bridge_load_asset_picker: -32%
  • bridgeUserActions/bridge_search_token: -17%
  • bridgeUserActions/total: -18%

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

  • 🟡 loadNewAccount/FCP: p75 2.5s
  • 🟡 confirmTx/FCP: p75 2.5s
  • 🟡 bridgeUserActions/FCP: p75 2.6s
Startup Benchmarks · Samples: 100

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

Benchmarkchrome-browserifychrome-webpackfirefox-browserifyfirefox-webpack
startupStandardHome🟢 [Show logs]🟢 [Show logs]🟢 [Show logs]🟢 [Show logs]

📈 Results compared to the previous 5 runs on main

  • startupStandardHome/uiStartup: -19%
  • startupStandardHome/domInteractive: +18%
  • startupStandardHome/backgroundConnect: +18%
  • startupStandardHome/initialActions: -33%
  • startupStandardHome/loadScripts: -13%
  • startupStandardHome/uiStartup: -16%
  • startupStandardHome/load: -12%
  • startupStandardHome/domContentLoaded: -12%
  • startupStandardHome/firstPaint: +15%
  • startupStandardHome/backgroundConnect: -35%
  • startupStandardHome/firstReactRender: -19%
  • startupStandardHome/loadScripts: -12%
  • startupStandardHome/numNetworkReqs: -29%
  • startupStandardHome/domInteractive: -16%
  • startupStandardHome/backgroundConnect: +25%
  • startupStandardHome/initialActions: -33%
  • startupStandardHome/numNetworkReqs: -18%
  • startupStandardHome/uiStartup: -16%
  • startupStandardHome/domInteractive: -37%
  • startupStandardHome/initialActions: +14%
  • startupStandardHome/setupStore: -60%
  • startupStandardHome/numNetworkReqs: -18%
User Journey Benchmarks · Samples: 5 · mock API
Benchmarkchrome-browserify
onboardingImportWallet🟢 [Show logs]
onboardingNewWallet🟢 [Show logs]
assetDetails🟡 [Show logs]
solanaAssetDetails🟡 [Show logs]
importSrpHome🟡 [Show logs]
sendTransactions🟡 [Show logs]
swap🟡 [Show logs]

📈 Results compared to the previous 5 runs on main

  • onboardingImportWallet/srpButtonToSrpForm: -85%
  • onboardingImportWallet/metricsToWalletReadyScreen: -35%
  • onboardingImportWallet/doneButtonToHomeScreen: -74%
  • onboardingImportWallet/openAccountMenuToAccountListLoaded: +27%
  • onboardingImportWallet/total: -44%
  • onboardingNewWallet/srpButtonToPwForm: -78%
  • onboardingNewWallet/skipBackupToMetricsScreen: -68%
  • onboardingNewWallet/doneButtonToAssetList: -22%
  • onboardingNewWallet/total: -24%
  • assetDetails/assetClickToPriceChart: -40%
  • assetDetails/total: -40%
  • solanaAssetDetails/assetClickToPriceChart: -71%
  • solanaAssetDetails/total: -71%
  • importSrpHome/openAccountMenuAfterLogin: -82%
  • importSrpHome/homeAfterImportWithNewWallet: -75%
  • importSrpHome/total: -67%
  • sendTransactions/openSendPageFromHome: -20%
  • sendTransactions/selectTokenToSendFormLoaded: -35%
  • sendTransactions/reviewTransactionToConfirmationPage: +34%
  • sendTransactions/total: +30%
  • swap/openSwapPageFromHome: -96%
  • swap/fetchAndDisplaySwapQuotes: +31%
  • swap/total: +11%

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

  • 🟡 assetDetails/INP: p75 224ms
  • 🟡 assetDetails/FCP: p75 2.5s
  • 🟡 solanaAssetDetails/FCP: p75 2.5s
  • 🟡 importSrpHome/FCP: p75 2.1s
  • 🟡 sendTransactions/INP: p75 216ms
  • 🟡 sendTransactions/FCP: p75 2.5s
  • 🟡 swap/FCP: p75 2.6s
Dapp Page Load Benchmarks · Samples: 100
Benchmarkchrome-browserify
dappPageLoad🟢 [Show logs]
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 2.33 KiB (0.04%)
  • ui: 5.69 KiB (0.07%)
  • common: 135 Bytes (0%)

@github-actions github-actions Bot removed the retry-ci Tells GitHub Actions to retry failed jobs, label removed automatically before the retry label Apr 15, 2026
Comment thread .github/workflows/update-lavamoat-policies.yml
@metamaskbotv2
Copy link
Copy Markdown
Contributor

metamaskbotv2 Bot commented Apr 15, 2026

Builds ready [b956b7c] [reused from 93f8855]
⚡ Performance Benchmarks (Total: 🟢 7 pass · 🟡 12 warn · 🔴 0 fail)

Baseline (latest main): 71bd826 | Date: 10/14/58243 | Pipeline: 24461981418 | Baseline logs

Interaction Benchmarks · Samples: 5
Benchmarkchrome-browserify
loadNewAccount
🟡 load_new_account
[Show logs]
confirmTx🟡 [Show logs]
bridgeUserActions🟡 [Show logs]

📈 Results compared to the previous 5 runs on main

  • bridgeUserActions/bridge_load_asset_picker: -41%
  • bridgeUserActions/bridge_search_token: -18%

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

  • 🟡 loadNewAccount/FCP: p75 2.5s
  • 🟡 confirmTx/FCP: p75 2.6s
  • 🟡 bridgeUserActions/FCP: p75 2.6s
Startup Benchmarks · Samples: 100
Benchmarkchrome-browserifychrome-webpackfirefox-browserifyfirefox-webpack
startupStandardHome🟢 [Show logs]🟢 [Show logs]🟢 [Show logs]🟢 [Show logs]
startupPowerUserHome🟡 [Show logs]🟡 [Show logs]🟡 [Show logs]🟡 [Show logs]

📈 Results compared to the previous 5 runs on main

  • startupStandardHome/uiStartup: -21%
  • startupStandardHome/domContentLoaded: -11%
  • startupStandardHome/domInteractive: +11%
  • startupStandardHome/backgroundConnect: +13%
  • startupStandardHome/initialActions: -33%
  • startupStandardHome/loadScripts: -15%
  • startupPowerUserHome/uiStartup: -24%
  • startupPowerUserHome/domInteractive: -14%
  • startupPowerUserHome/backgroundConnect: +80%
  • startupPowerUserHome/numNetworkReqs: -53%
  • startupStandardHome/uiStartup: -16%
  • startupStandardHome/load: -11%
  • startupStandardHome/domContentLoaded: -10%
  • startupStandardHome/firstPaint: +16%
  • startupStandardHome/backgroundConnect: -30%
  • startupStandardHome/firstReactRender: -23%
  • startupStandardHome/loadScripts: -10%
  • startupStandardHome/numNetworkReqs: -29%
  • startupPowerUserHome/uiStartup: -23%
  • startupPowerUserHome/domInteractive: -23%
  • startupPowerUserHome/numNetworkReqs: +45%
  • startupStandardHome/uiStartup: -13%
  • startupStandardHome/domInteractive: -56%
  • startupStandardHome/initialActions: +33%
  • startupPowerUserHome/uiStartup: -36%
  • startupPowerUserHome/backgroundConnect: -38%
  • startupPowerUserHome/setupStore: +31%
  • startupStandardHome/uiStartup: -13%
  • startupStandardHome/domInteractive: -36%
  • startupStandardHome/initialActions: +14%
  • startupStandardHome/setupStore: -57%
  • startupStandardHome/numNetworkReqs: -11%
  • startupPowerUserHome/uiStartup: -33%
  • startupPowerUserHome/domInteractive: -23%
  • startupPowerUserHome/backgroundConnect: -42%

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

  • 🔴 startupPowerUserHome/INP: p75 712ms
  • 🔴 startupPowerUserHome/INP: p75 744ms
  • 🟡 startupPowerUserHome/LCP: p75 3.3s
  • 🟡 startupPowerUserHome/LCP: p75 3.3s
User Journey Benchmarks · Samples: 5 · mock API
Benchmarkchrome-browserify
onboardingImportWallet🟡 [Show logs]
onboardingNewWallet🟢 [Show logs]
assetDetails🟡 [Show logs]
solanaAssetDetails🟡 [Show logs]
importSrpHome
🟡 cls
[Show logs]
sendTransactions🟢 [Show logs]
swap🟡 [Show logs]

📈 Results compared to the previous 5 runs on main

  • onboardingImportWallet/srpButtonToSrpForm: -85%
  • onboardingImportWallet/confirmSrpToPwForm: -11%
  • onboardingImportWallet/metricsToWalletReadyScreen: -36%
  • onboardingImportWallet/openAccountMenuToAccountListLoaded: -24%
  • onboardingImportWallet/total: -29%
  • onboardingNewWallet/srpButtonToPwForm: -78%
  • onboardingNewWallet/skipBackupToMetricsScreen: -66%
  • onboardingNewWallet/agreeButtonToOnboardingSuccess: -17%
  • assetDetails/assetClickToPriceChart: +25%
  • assetDetails/total: +25%
  • solanaAssetDetails/assetClickToPriceChart: -38%
  • solanaAssetDetails/total: -38%
  • importSrpHome/openAccountMenuAfterLogin: -84%
  • importSrpHome/homeAfterImportWithNewWallet: +35%
  • importSrpHome/total: +31%
  • swap/openSwapPageFromHome: -94%
  • swap/total: -17%

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

  • 🟡 onboardingImportWallet/FCP: p75 2.1s
  • 🟡 assetDetails/INP: p75 304ms
  • 🟡 assetDetails/FCP: p75 2.6s
  • 🟡 solanaAssetDetails/FCP: p75 2.7s
  • 🟡 importSrpHome/INP: p75 280ms
  • 🟡 importSrpHome/FCP: p75 2.4s
  • 🟡 swap/FCP: p75 2.5s
Dapp Page Load Benchmarks · Samples: 100
Benchmarkchrome-browserify
dappPageLoad🟢 [Show logs]
Bundle size diffs
  • background: 0 Bytes (0%)
  • ui: 0 Bytes (0%)
  • common: 0 Bytes (0%)

Comment thread .github/workflows/update-lavamoat-policies.yml Outdated
Comment thread .github/workflows/update-lavamoat-policies.yml Outdated
@metamaskbotv2
Copy link
Copy Markdown
Contributor

metamaskbotv2 Bot commented Apr 15, 2026

Builds ready [6ed3c49] [reused from 93f8855]
⚡ Performance Benchmarks (Total: 🟢 7 pass · 🟡 12 warn · 🔴 0 fail)

Baseline (latest main): 71bd826 | Date: 10/14/58243 | Pipeline: 24464897700 | Baseline logs

Interaction Benchmarks · Samples: 5
Benchmarkchrome-browserify
loadNewAccount
🟡 load_new_account
[Show logs]
confirmTx🟡 [Show logs]
bridgeUserActions🟡 [Show logs]

📈 Results compared to the previous 5 runs on main

  • bridgeUserActions/bridge_load_asset_picker: -41%
  • bridgeUserActions/bridge_search_token: -18%

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

  • 🟡 loadNewAccount/FCP: p75 2.5s
  • 🟡 confirmTx/FCP: p75 2.6s
  • 🟡 bridgeUserActions/FCP: p75 2.6s
Startup Benchmarks · Samples: 100
Benchmarkchrome-browserifychrome-webpackfirefox-browserifyfirefox-webpack
startupStandardHome🟢 [Show logs]🟢 [Show logs]🟢 [Show logs]🟢 [Show logs]
startupPowerUserHome🟡 [Show logs]🟡 [Show logs]🟡 [Show logs]🟡 [Show logs]

📈 Results compared to the previous 5 runs on main

  • startupStandardHome/uiStartup: -21%
  • startupStandardHome/domContentLoaded: -11%
  • startupStandardHome/domInteractive: +11%
  • startupStandardHome/backgroundConnect: +13%
  • startupStandardHome/initialActions: -33%
  • startupStandardHome/loadScripts: -15%
  • startupPowerUserHome/uiStartup: -24%
  • startupPowerUserHome/domInteractive: -14%
  • startupPowerUserHome/backgroundConnect: +80%
  • startupPowerUserHome/numNetworkReqs: -53%
  • startupStandardHome/uiStartup: -16%
  • startupStandardHome/load: -11%
  • startupStandardHome/domContentLoaded: -10%
  • startupStandardHome/firstPaint: +16%
  • startupStandardHome/backgroundConnect: -30%
  • startupStandardHome/firstReactRender: -23%
  • startupStandardHome/loadScripts: -10%
  • startupStandardHome/numNetworkReqs: -29%
  • startupPowerUserHome/uiStartup: -23%
  • startupPowerUserHome/domInteractive: -23%
  • startupPowerUserHome/numNetworkReqs: +45%
  • startupStandardHome/uiStartup: -13%
  • startupStandardHome/domInteractive: -56%
  • startupStandardHome/initialActions: +33%
  • startupPowerUserHome/uiStartup: -36%
  • startupPowerUserHome/backgroundConnect: -38%
  • startupPowerUserHome/setupStore: +31%
  • startupStandardHome/uiStartup: -13%
  • startupStandardHome/domInteractive: -36%
  • startupStandardHome/initialActions: +14%
  • startupStandardHome/setupStore: -57%
  • startupStandardHome/numNetworkReqs: -11%
  • startupPowerUserHome/uiStartup: -33%
  • startupPowerUserHome/domInteractive: -23%
  • startupPowerUserHome/backgroundConnect: -42%

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

  • 🔴 startupPowerUserHome/INP: p75 712ms
  • 🔴 startupPowerUserHome/INP: p75 744ms
  • 🟡 startupPowerUserHome/LCP: p75 3.3s
  • 🟡 startupPowerUserHome/LCP: p75 3.3s
User Journey Benchmarks · Samples: 5 · mock API
Benchmarkchrome-browserify
onboardingImportWallet🟡 [Show logs]
onboardingNewWallet🟢 [Show logs]
assetDetails🟡 [Show logs]
solanaAssetDetails🟡 [Show logs]
importSrpHome
🟡 cls
[Show logs]
sendTransactions🟢 [Show logs]
swap🟡 [Show logs]

📈 Results compared to the previous 5 runs on main

  • onboardingImportWallet/srpButtonToSrpForm: -85%
  • onboardingImportWallet/confirmSrpToPwForm: -11%
  • onboardingImportWallet/metricsToWalletReadyScreen: -36%
  • onboardingImportWallet/openAccountMenuToAccountListLoaded: -24%
  • onboardingImportWallet/total: -29%
  • onboardingNewWallet/srpButtonToPwForm: -78%
  • onboardingNewWallet/skipBackupToMetricsScreen: -66%
  • onboardingNewWallet/agreeButtonToOnboardingSuccess: -17%
  • assetDetails/assetClickToPriceChart: +25%
  • assetDetails/total: +25%
  • solanaAssetDetails/assetClickToPriceChart: -38%
  • solanaAssetDetails/total: -38%
  • importSrpHome/openAccountMenuAfterLogin: -84%
  • importSrpHome/homeAfterImportWithNewWallet: +35%
  • importSrpHome/total: +31%
  • swap/openSwapPageFromHome: -94%
  • swap/total: -17%

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

  • 🟡 onboardingImportWallet/FCP: p75 2.1s
  • 🟡 assetDetails/INP: p75 304ms
  • 🟡 assetDetails/FCP: p75 2.6s
  • 🟡 solanaAssetDetails/FCP: p75 2.7s
  • 🟡 importSrpHome/INP: p75 280ms
  • 🟡 importSrpHome/FCP: p75 2.4s
  • 🟡 swap/FCP: p75 2.5s
Dapp Page Load Benchmarks · Samples: 100
Benchmarkchrome-browserify
dappPageLoad🟢 [Show logs]
Bundle size diffs
  • background: 0 Bytes (0%)
  • ui: 0 Bytes (0%)
  • common: 0 Bytes (0%)

Copy link
Copy Markdown

@cursor cursor Bot left a comment

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 6ed3c49. Configure here.

Comment thread .github/workflows/validate-lavamoat-policies.yml
@sonarqubecloud
Copy link
Copy Markdown

@itsyoboieltr itsyoboieltr added the retry-ci Tells GitHub Actions to retry failed jobs, label removed automatically before the retry label Apr 15, 2026
@HowardBraham HowardBraham dismissed a stale review April 15, 2026 18:17

spam

@github-project-automation github-project-automation Bot moved this from Needs dev review to Review finalised - Ready to be merged in PR review queue Apr 21, 2026
@itsyoboieltr itsyoboieltr added this pull request to the merge queue Apr 21, 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.29.0 Issue or pull request that will be included in release 13.29.0 size-L skip-release-validation team-extension-platform Extension Platform team

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

4 participants