Skip to content

feat: tat 3737 persist orderbook open state - #45587

Merged
Bigshmow merged 4 commits into
mainfrom
feat/TAT-3737-persist-orderbook-open-state
Aug 18, 2026
Merged

feat: tat 3737 persist orderbook open state#45587
Bigshmow merged 4 commits into
mainfrom
feat/TAT-3737-persist-orderbook-open-state

Conversation

@Bigshmow

@Bigshmow Bigshmow commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

Description

The order book panel's open/closed state was local component state, so it reset to closed on every mount — navigating between markets or reloading the order entry page forced users who trade with the book open to re-open it each time.

This persists the panel state through the perps controller's existing proLayoutPreferences, alongside the already-persisted orderBookPosition:

  • Adds a selectOrderBookExpanded selector reading proLayoutPreferences?.orderBookExpanded, falling back to DEFAULT_PRO_LAYOUT_PREFERENCES.
  • Seeds isOrderBookOpen in perps-order-entry-page.tsx from that selector.
  • Persists on toggle via perpsSetProLayoutPreferences. The write is fire-and-forget — a failed preference save shouldn't block the UI toggle — and logs on rejection.

The preference is flat rather than per-market, so the panel opens in the same state on every symbol.

Also included: the order book config modal's layout pills had their selected and unselected styles inverted, so the unselected option appeared filled. Swaps PILL_SELECTED_CLASS / PILL_UNSELECTED_CLASS so the selected pill is the filled
one (bg-muted border-transparent).

Note for reviewers: the diff in perps-order-entry-page.tsx includes some incidental Prettier re-indentation of the existing TP/SL validation block — no logic change there.

Changelog

CHANGELOG entry: Added persistence for the perps order book panel, so it stays open or closed between visits

Related issues

Fixes: TAT-3737

Manual testing steps

  1. Enable perps and open the perps order entry page for any market (e.g. BTC).
  2. Toggle the order book panel open.
  3. Navigate away (e.g. to another market or back to the wallet home) and return to the order entry page — the order book should still be open.
  4. Reload the extension entirely and reopen the page — still open.
  5. Toggle the panel closed, navigate away and back — it should stay closed.
  6. Switch to a different market and confirm the panel state carries over (the preference is global, not per-market).
  7. Open the order book settings modal and confirm the currently selected layout pill is the filled one, and that changing the position still works and persists.

Screenshots/Recordings

Before

After

Loom video showing persistence across markets:
https://www.loom.com/share/ead2698863c34b7fa27d7937eb6cafe3

Pre-merge author checklist

Pre-merge reviewer checklist

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

Note

Low Risk
UI layout preference persistence and a cosmetic pill-style fix; no auth, payments, or trading logic changes.

Overview
Persists the order book panel so open/closed no longer resets on every visit. The order entry page seeds isOrderBookOpen from a new selectOrderBookExpanded selector (proLayoutPreferences.orderBookExpanded, default closed) and writes the value on toggle through perpsSetProLayoutPreferences (fire-and-forget with error logging). The preference is global across markets, matching existing layout prefs like orderBookPosition.

Fixes order book config modal pills by swapping PILL_SELECTED_CLASS / PILL_UNSELECTED_CLASS so the selected layout option shows as filled (bg-muted) instead of the unselected one.

Tests cover selector defaults, mounting with persisted expanded state, and persistence calls on toggle.

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

@Bigshmow
Bigshmow requested a review from a team as a code owner August 17, 2026 18:22
@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.

@Bigshmow
Bigshmow deployed to pr-comment August 17, 2026 18:22 — with GitHub Actions Active
@metamask-ci metamask-ci Bot added the team-perps Perps team label Aug 17, 2026
@metamask-ci

metamask-ci Bot commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

✨ Files requiring CODEOWNER review ✨

👨‍🔧 @MetaMask/perps (3 files, +50 -3)
  • 📁 ui/
    • 📁 components/
      • 📁 app/
        • 📁 perps/
          • 📁 order-book/
            • 📄 order-book-config-modal.tsx +3 -2
    • 📁 pages/
      • 📁 perps/
        • 📄 perps-order-entry-page.test.tsx +37 -0
        • 📄 perps-order-entry-page.tsx +10 -1

@Bigshmow Bigshmow changed the title Feat/tat 3737 persist orderbook open state feat: tat 3737 persist orderbook open state Aug 17, 2026
@metamask-ci

metamask-ci Bot commented Aug 17, 2026

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

Baseline (latest main): 171ed20 | Date: 7/28/2026 | Pipeline: 32055538870 | 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]

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: +191%
  • loadNewAccount/total: +191%
  • loadNewAccount/inp: +21%
  • confirmTx/longTaskTotalDuration: -10%
  • confirmTx/longTaskMaxDuration: +42%
  • confirmTx/tbt: -18%
  • confirmTx/fcp: +10%
  • bridgeUserActions/bridge_load_page: +13%
  • bridgeUserActions/bridge_load_asset_picker: +186%
  • bridgeUserActions/longTaskCount: +11%
  • bridgeUserActions/longTaskTotalDuration: +21%
  • bridgeUserActions/tbt: -14%
  • bridgeUserActions/total: +21%
  • loadNewAccount/load_new_account: +192%
  • loadNewAccount/total: +192%
  • loadNewAccount/inp: -17%
  • loadNewAccount/fcp: +12%
  • loadNewAccount/lcp: +1155%
  • confirmTx/longTaskCount: -100%
  • confirmTx/longTaskTotalDuration: -100%
  • confirmTx/longTaskMaxDuration: -100%
  • confirmTx/tbt: -100%
  • confirmTx/inp: -24%
  • confirmTx/lcp: +1169%
  • bridgeUserActions/bridge_load_page: +228%
  • bridgeUserActions/bridge_load_asset_picker: +85%
  • bridgeUserActions/longTaskCount: -100%
  • bridgeUserActions/longTaskTotalDuration: -100%
  • bridgeUserActions/longTaskMaxDuration: -100%
  • bridgeUserActions/tbt: -100%
  • bridgeUserActions/total: +39%
  • bridgeUserActions/inp: -15%
  • bridgeUserActions/fcp: -43%
  • bridgeUserActions/lcp: +1180%

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

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

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

✅ No regressions detected

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

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

Benchmarkchrome-webpackfirefox-webpack
onboardingImportWallet
[Sentry log · main/release]
🟡 [CI log]
🟡 total
🟢 [CI log]
importSrpHome
[Sentry log · main/release]
🟡 [CI log]
sendTransactions
[Sentry log · main/release]
🟡 [CI log]🟡 [CI log]
swap
[Sentry log · main/release]
🟡 [CI log]🟡 [CI log]
onboardingNewWallet
[Sentry log · main/release]
🔴 [CI log]
🔴 total

📈 Results compared to the previous 5 runs on main

  • onboardingImportWallet/srpButtonToSrpForm: +28%
  • onboardingImportWallet/confirmSrpToPwForm: +17%
  • onboardingImportWallet/pwFormToMetricsScreen: +21%
  • onboardingImportWallet/doneButtonToHomeScreen: -77%
  • onboardingImportWallet/openAccountMenuToAccountListLoaded: -92%
  • onboardingImportWallet/longTaskCount: -86%
  • onboardingImportWallet/longTaskTotalDuration: -94%
  • onboardingImportWallet/longTaskMaxDuration: -91%
  • onboardingImportWallet/tbt: -98%
  • onboardingImportWallet/total: -80%
  • importSrpHome/homeAfterImportWithNewWallet: -11%
  • importSrpHome/longTaskCount: -23%
  • importSrpHome/longTaskTotalDuration: -28%
  • importSrpHome/tbt: -28%
  • importSrpHome/inp: -38%
  • importSrpHome/fcp: +18%
  • importSrpHome/cls: +484%
  • sendTransactions/openSendPageFromHome: +44%
  • sendTransactions/selectTokenToSendFormLoaded: +14%
  • sendTransactions/reviewTransactionToConfirmationPage: -98%
  • sendTransactions/longTaskCount: -100%
  • sendTransactions/longTaskTotalDuration: -100%
  • sendTransactions/longTaskMaxDuration: -100%
  • sendTransactions/tbt: -100%
  • sendTransactions/total: -95%
  • sendTransactions/inp: -33%
  • sendTransactions/fcp: +15%
  • sendTransactions/lcp: -62%
  • sendTransactions/cls: +171%
  • swap/openSwapPageFromHome: +628%
  • swap/fetchAndDisplaySwapQuotes: +82%
  • swap/longTaskCount: -100%
  • swap/longTaskTotalDuration: -100%
  • swap/longTaskMaxDuration: -100%
  • swap/tbt: -100%
  • swap/total: +99%
  • swap/lcp: -72%
  • swap/cls: -92%

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

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

⚠️ Missing data: chrome/webpack/pageLoadBenchmark

✅ No regressions detected

Bundle size diffs
  • background: 105 Bytes (0%)
  • ui: 299 Bytes (0%)
  • common: 0 Bytes (0%)
  • other: 0 Bytes (0%)
  • contentScripts: 0 Bytes (0%)
  • zip: 168 Bytes (0%)

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

metamask-ci Bot commented Aug 17, 2026

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

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

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

Regressions (🔴 3 failures)

Interaction Benchmarks · Samples: 5 🔴 2
Benchmarkchrome-webpackfirefox-webpack
loadNewAccount
[Sentry log · main/release]
🔴 [CI log]
🔴 load_new_account
🔴 [CI log]
🔴 load_new_account
confirmTx
[Sentry log · main/release]
🟡 [CI log]🟡 [CI log]
bridgeUserActions
[Sentry log · main/release]
🟡 [CI log]🟢 [CI log]

📈 Results compared to the previous 5 runs on main

  • loadNewAccount/load_new_account: +191%
  • loadNewAccount/total: +191%
  • loadNewAccount/inp: +21%
  • confirmTx/longTaskTotalDuration: -10%
  • confirmTx/longTaskMaxDuration: +42%
  • confirmTx/tbt: -18%
  • confirmTx/fcp: +10%
  • bridgeUserActions/bridge_load_page: +13%
  • bridgeUserActions/bridge_load_asset_picker: +186%
  • bridgeUserActions/longTaskCount: +11%
  • bridgeUserActions/longTaskTotalDuration: +21%
  • bridgeUserActions/tbt: -14%
  • bridgeUserActions/total: +21%
  • loadNewAccount/load_new_account: +192%
  • loadNewAccount/total: +192%
  • loadNewAccount/inp: -17%
  • loadNewAccount/fcp: +12%
  • loadNewAccount/lcp: +1155%
  • confirmTx/longTaskCount: -100%
  • confirmTx/longTaskTotalDuration: -100%
  • confirmTx/longTaskMaxDuration: -100%
  • confirmTx/tbt: -100%
  • confirmTx/inp: -24%
  • confirmTx/lcp: +1169%
  • bridgeUserActions/bridge_load_page: +228%
  • bridgeUserActions/bridge_load_asset_picker: +85%
  • bridgeUserActions/longTaskCount: -100%
  • bridgeUserActions/longTaskTotalDuration: -100%
  • bridgeUserActions/longTaskMaxDuration: -100%
  • bridgeUserActions/tbt: -100%
  • bridgeUserActions/total: +39%
  • bridgeUserActions/inp: -15%
  • bridgeUserActions/fcp: -43%
  • bridgeUserActions/lcp: +1180%

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

  • 🟡 loadNewAccount/FCP: p75 1.9s
  • 🟡 confirmTx/FCP: p75 1.9s
  • 🟡 bridgeUserActions/FCP: p75 1.9s
  • 🟡 loadNewAccount/FCP: p75 1.9s
  • 🟡 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/backgroundConnect: +18%
  • startupStandardHome/firstReactRender: -99%
  • startupStandardHome/numNetworkReqs: -14%
  • startupStandardHome/domInteractive: -13%
  • startupStandardHome/firstReactRender: -98%
  • startupStandardHome/setupStore: +13%
  • startupStandardHome/numNetworkReqs: -20%
  • startupPowerUserHome/uiStartup: -12%
  • startupPowerUserHome/domInteractive: -41%
  • startupPowerUserHome/backgroundConnect: -23%
  • startupPowerUserHome/firstReactRender: -99%
  • startupPowerUserHome/initialActions: +11%
  • startupPowerUserHome/setupStore: -73%
  • startupPowerUserHome/numNetworkReqs: -39%
  • startupPowerUserHome/fcp: -36%

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

  • 🟡 startupPowerUserHome/LCP: p75 2.8s
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: +28%
  • onboardingImportWallet/confirmSrpToPwForm: +17%
  • onboardingImportWallet/pwFormToMetricsScreen: +21%
  • onboardingImportWallet/doneButtonToHomeScreen: -77%
  • onboardingImportWallet/openAccountMenuToAccountListLoaded: -92%
  • onboardingImportWallet/longTaskCount: -86%
  • onboardingImportWallet/longTaskTotalDuration: -94%
  • onboardingImportWallet/longTaskMaxDuration: -91%
  • onboardingImportWallet/tbt: -98%
  • onboardingImportWallet/total: -80%
  • onboardingNewWallet/skipBackupToMetricsScreen: -13%
  • onboardingNewWallet/agreeButtonToOnboardingSuccess: -15%
  • onboardingNewWallet/doneButtonToAssetList: -81%
  • onboardingNewWallet/longTaskCount: -69%
  • onboardingNewWallet/longTaskTotalDuration: -79%
  • onboardingNewWallet/longTaskMaxDuration: -51%
  • onboardingNewWallet/tbt: -99%
  • onboardingNewWallet/total: -78%
  • solanaAssetDetails/assetClickToPriceChart: +252%
  • solanaAssetDetails/longTaskCount: -100%
  • solanaAssetDetails/longTaskTotalDuration: -100%
  • solanaAssetDetails/longTaskMaxDuration: -100%
  • solanaAssetDetails/tbt: -100%
  • solanaAssetDetails/total: +252%
  • solanaAssetDetails/inp: +11%
  • solanaAssetDetails/fcp: +19%
  • solanaAssetDetails/lcp: +15%
  • importSrpHome/homeAfterImportWithNewWallet: -11%
  • importSrpHome/longTaskCount: -23%
  • importSrpHome/longTaskTotalDuration: -28%
  • importSrpHome/tbt: -28%
  • importSrpHome/inp: -38%
  • importSrpHome/fcp: +18%
  • importSrpHome/cls: +484%
  • sendTransactions/openSendPageFromHome: +44%
  • sendTransactions/selectTokenToSendFormLoaded: +14%
  • sendTransactions/reviewTransactionToConfirmationPage: -98%
  • sendTransactions/longTaskCount: -100%
  • sendTransactions/longTaskTotalDuration: -100%
  • sendTransactions/longTaskMaxDuration: -100%
  • sendTransactions/tbt: -100%
  • sendTransactions/total: -95%
  • sendTransactions/inp: -33%
  • sendTransactions/fcp: +15%
  • sendTransactions/lcp: -62%
  • sendTransactions/cls: +171%
  • swap/openSwapPageFromHome: +628%
  • swap/fetchAndDisplaySwapQuotes: +82%
  • swap/longTaskCount: -100%
  • swap/longTaskTotalDuration: -100%
  • swap/longTaskMaxDuration: -100%
  • swap/tbt: -100%
  • swap/total: +99%
  • swap/lcp: -72%
  • swap/cls: -92%

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

  • 🟡 solanaAssetDetails/FCP: p75 1.9s
  • 🟡 importSrpHome/FCP: p75 2.0s
  • 🟡 sendTransactions/FCP: p75 1.9s
  • 🟡 swap/FCP: p75 1.9s
  • 🟡 solanaAssetDetails/FCP: p75 1.9s
  • 🟡 importSrpHome/FCP: p75 1.9s
  • 🟡 sendTransactions/FCP: p75 1.8s
  • 🟡 swap/FCP: p75 1.8s
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
  • background: 105 Bytes (0%)
  • ui: 299 Bytes (0%)
  • common: 0 Bytes (0%)
  • other: 0 Bytes (0%)
  • contentScripts: 0 Bytes (0%)
  • zip: 168 Bytes (0%)

@Bigshmow
Bigshmow deployed to pr-comment August 17, 2026 21:29 — with GitHub Actions Active
@github-actions github-actions Bot added size-S and removed size-M labels Aug 17, 2026
@sonarqubecloud

Copy link
Copy Markdown

@Bigshmow
Bigshmow deployed to pr-comment August 17, 2026 21:52 — with GitHub Actions Active
@metamask-ci

metamask-ci Bot commented Aug 17, 2026

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

Baseline (latest main): 171ed20 | Date: 7/28/2026 | Pipeline: 32071410823 | 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: +188%
  • loadNewAccount/total: +188%
  • loadNewAccount/fcp: -16%
  • confirmTx/longTaskCount: -33%
  • confirmTx/longTaskTotalDuration: -43%
  • confirmTx/longTaskMaxDuration: +11%
  • confirmTx/tbt: -50%
  • confirmTx/fcp: -18%
  • confirmTx/lcp: -11%
  • bridgeUserActions/bridge_load_page: -11%
  • bridgeUserActions/bridge_load_asset_picker: +40%
  • bridgeUserActions/longTaskCount: -44%
  • bridgeUserActions/longTaskTotalDuration: -59%
  • bridgeUserActions/longTaskMaxDuration: -37%
  • bridgeUserActions/tbt: -91%
  • bridgeUserActions/fcp: -19%
  • bridgeUserActions/lcp: -15%
  • loadNewAccount/load_new_account: +191%
  • loadNewAccount/total: +191%
  • loadNewAccount/inp: -24%
  • loadNewAccount/fcp: -49%
  • loadNewAccount/lcp: +1434%
  • confirmTx/longTaskCount: -100%
  • confirmTx/longTaskTotalDuration: -100%
  • confirmTx/longTaskMaxDuration: -100%
  • confirmTx/tbt: -100%
  • confirmTx/inp: -24%
  • confirmTx/fcp: -43%
  • confirmTx/lcp: +1204%
  • bridgeUserActions/bridge_load_page: +168%
  • bridgeUserActions/bridge_load_asset_picker: +161%
  • bridgeUserActions/bridge_search_token: +21%
  • bridgeUserActions/longTaskCount: -100%
  • bridgeUserActions/longTaskTotalDuration: -100%
  • bridgeUserActions/longTaskMaxDuration: -100%
  • bridgeUserActions/tbt: -100%
  • bridgeUserActions/total: +33%
  • bridgeUserActions/lcp: +1067%

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

  • 🟡 loadNewAccount/LCP: p75 2.7s
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: +14%
  • startupStandardHome/firstReactRender: -99%
  • startupStandardHome/numNetworkReqs: -14%
  • startupStandardHome/backgroundConnect: +14%
  • startupStandardHome/firstReactRender: -98%
  • startupStandardHome/setupStore: +18%
  • startupStandardHome/numNetworkReqs: -20%
  • startupPowerUserHome/uiStartup: -30%
  • startupPowerUserHome/load: -16%
  • startupPowerUserHome/domContentLoaded: -16%
  • startupPowerUserHome/domInteractive: -55%
  • startupPowerUserHome/backgroundConnect: -35%
  • startupPowerUserHome/firstReactRender: -99%
  • startupPowerUserHome/initialActions: +11%
  • startupPowerUserHome/loadScripts: -16%
  • startupPowerUserHome/setupStore: -76%
  • startupPowerUserHome/numNetworkReqs: -35%
  • startupPowerUserHome/inp: -24%
  • startupPowerUserHome/fcp: -54%
  • startupPowerUserHome/lcp: -22%
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]🟡 [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: +22%
  • onboardingImportWallet/confirmSrpToPwForm: +10%
  • onboardingImportWallet/pwFormToMetricsScreen: +11%
  • onboardingImportWallet/doneButtonToHomeScreen: -91%
  • onboardingImportWallet/openAccountMenuToAccountListLoaded: -51%
  • onboardingImportWallet/longTaskCount: -86%
  • onboardingImportWallet/longTaskTotalDuration: -94%
  • onboardingImportWallet/longTaskMaxDuration: -88%
  • onboardingImportWallet/tbt: -97%
  • onboardingImportWallet/total: -81%
  • onboardingNewWallet/srpButtonToPwForm: -24%
  • onboardingNewWallet/createPwToRecoveryScreen: -22%
  • onboardingNewWallet/skipBackupToMetricsScreen: -31%
  • onboardingNewWallet/agreeButtonToOnboardingSuccess: -53%
  • onboardingNewWallet/doneButtonToAssetList: -80%
  • onboardingNewWallet/longTaskCount: -100%
  • onboardingNewWallet/longTaskTotalDuration: -100%
  • onboardingNewWallet/longTaskMaxDuration: -100%
  • onboardingNewWallet/tbt: -100%
  • onboardingNewWallet/total: -77%
  • solanaAssetDetails/assetClickToPriceChart: +211%
  • solanaAssetDetails/longTaskCount: -100%
  • solanaAssetDetails/longTaskTotalDuration: -100%
  • solanaAssetDetails/longTaskMaxDuration: -100%
  • solanaAssetDetails/tbt: -100%
  • solanaAssetDetails/total: +211%
  • solanaAssetDetails/fcp: -11%
  • solanaAssetDetails/lcp: -15%
  • importSrpHome/loginToHomeScreen: -34%
  • importSrpHome/homeAfterImportWithNewWallet: -25%
  • importSrpHome/longTaskCount: -51%
  • importSrpHome/longTaskTotalDuration: -59%
  • importSrpHome/longTaskMaxDuration: -45%
  • importSrpHome/tbt: -65%
  • importSrpHome/total: -25%
  • importSrpHome/inp: -53%
  • importSrpHome/fcp: -12%
  • importSrpHome/cls: +484%
  • sendTransactions/reviewTransactionToConfirmationPage: -98%
  • sendTransactions/longTaskCount: -100%
  • sendTransactions/longTaskTotalDuration: -100%
  • sendTransactions/longTaskMaxDuration: -100%
  • sendTransactions/tbt: -100%
  • sendTransactions/total: -96%
  • sendTransactions/inp: -37%
  • sendTransactions/fcp: +21%
  • sendTransactions/lcp: -58%
  • sendTransactions/cls: +171%
  • swap/openSwapPageFromHome: +847%
  • swap/fetchAndDisplaySwapQuotes: +90%
  • swap/longTaskCount: +167%
  • swap/longTaskTotalDuration: +124%
  • swap/longTaskMaxDuration: +52%
  • swap/tbt: +89%
  • swap/total: +103%
  • swap/fcp: +12%
  • swap/lcp: -67%
  • swap/cls: -92%

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

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

⚠️ Missing data: chrome/webpack/pageLoadBenchmark

✅ No regressions detected

Bundle size diffs
  • background: 105 Bytes (0%)
  • ui: 299 Bytes (0%)
  • common: 0 Bytes (0%)
  • other: 0 Bytes (0%)
  • contentScripts: 0 Bytes (0%)
  • zip: 159 Bytes (0%)

@Bigshmow
Bigshmow deployed to pr-comment August 17, 2026 22:05 — with GitHub Actions Active
@metamask-ci

metamask-ci Bot commented Aug 17, 2026

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

Baseline (latest main): 171ed20 | Date: 7/28/2026 | Pipeline: 32071410823 | 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: +188%
  • loadNewAccount/total: +188%
  • loadNewAccount/fcp: -16%
  • confirmTx/longTaskCount: -33%
  • confirmTx/longTaskTotalDuration: -43%
  • confirmTx/longTaskMaxDuration: +11%
  • confirmTx/tbt: -50%
  • confirmTx/fcp: -18%
  • confirmTx/lcp: -11%
  • bridgeUserActions/bridge_load_page: -11%
  • bridgeUserActions/bridge_load_asset_picker: +40%
  • bridgeUserActions/longTaskCount: -44%
  • bridgeUserActions/longTaskTotalDuration: -59%
  • bridgeUserActions/longTaskMaxDuration: -37%
  • bridgeUserActions/tbt: -91%
  • bridgeUserActions/fcp: -19%
  • bridgeUserActions/lcp: -15%
  • loadNewAccount/load_new_account: +191%
  • loadNewAccount/total: +191%
  • loadNewAccount/inp: -24%
  • loadNewAccount/fcp: -49%
  • loadNewAccount/lcp: +1434%
  • confirmTx/longTaskCount: -100%
  • confirmTx/longTaskTotalDuration: -100%
  • confirmTx/longTaskMaxDuration: -100%
  • confirmTx/tbt: -100%
  • confirmTx/inp: -24%
  • confirmTx/fcp: -43%
  • confirmTx/lcp: +1204%
  • bridgeUserActions/bridge_load_page: +168%
  • bridgeUserActions/bridge_load_asset_picker: +161%
  • bridgeUserActions/bridge_search_token: +21%
  • bridgeUserActions/longTaskCount: -100%
  • bridgeUserActions/longTaskTotalDuration: -100%
  • bridgeUserActions/longTaskMaxDuration: -100%
  • bridgeUserActions/tbt: -100%
  • bridgeUserActions/total: +33%
  • bridgeUserActions/lcp: +1067%

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

  • 🟡 loadNewAccount/LCP: p75 2.7s
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: +14%
  • startupStandardHome/firstReactRender: -99%
  • startupStandardHome/numNetworkReqs: -14%
  • startupStandardHome/backgroundConnect: +14%
  • startupStandardHome/firstReactRender: -98%
  • startupStandardHome/setupStore: +18%
  • startupStandardHome/numNetworkReqs: -20%
  • startupPowerUserHome/uiStartup: -30%
  • startupPowerUserHome/load: -16%
  • startupPowerUserHome/domContentLoaded: -16%
  • startupPowerUserHome/domInteractive: -55%
  • startupPowerUserHome/backgroundConnect: -35%
  • startupPowerUserHome/firstReactRender: -99%
  • startupPowerUserHome/initialActions: +11%
  • startupPowerUserHome/loadScripts: -16%
  • startupPowerUserHome/setupStore: -76%
  • startupPowerUserHome/numNetworkReqs: -35%
  • startupPowerUserHome/inp: -24%
  • startupPowerUserHome/fcp: -54%
  • startupPowerUserHome/lcp: -22%
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]🟡 [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: +22%
  • onboardingImportWallet/confirmSrpToPwForm: +10%
  • onboardingImportWallet/pwFormToMetricsScreen: +11%
  • onboardingImportWallet/doneButtonToHomeScreen: -91%
  • onboardingImportWallet/openAccountMenuToAccountListLoaded: -51%
  • onboardingImportWallet/longTaskCount: -86%
  • onboardingImportWallet/longTaskTotalDuration: -94%
  • onboardingImportWallet/longTaskMaxDuration: -88%
  • onboardingImportWallet/tbt: -97%
  • onboardingImportWallet/total: -81%
  • onboardingNewWallet/srpButtonToPwForm: -24%
  • onboardingNewWallet/createPwToRecoveryScreen: -22%
  • onboardingNewWallet/skipBackupToMetricsScreen: -31%
  • onboardingNewWallet/agreeButtonToOnboardingSuccess: -53%
  • onboardingNewWallet/doneButtonToAssetList: -80%
  • onboardingNewWallet/longTaskCount: -100%
  • onboardingNewWallet/longTaskTotalDuration: -100%
  • onboardingNewWallet/longTaskMaxDuration: -100%
  • onboardingNewWallet/tbt: -100%
  • onboardingNewWallet/total: -77%
  • solanaAssetDetails/assetClickToPriceChart: +211%
  • solanaAssetDetails/longTaskCount: -100%
  • solanaAssetDetails/longTaskTotalDuration: -100%
  • solanaAssetDetails/longTaskMaxDuration: -100%
  • solanaAssetDetails/tbt: -100%
  • solanaAssetDetails/total: +211%
  • solanaAssetDetails/fcp: -11%
  • solanaAssetDetails/lcp: -15%
  • importSrpHome/loginToHomeScreen: -34%
  • importSrpHome/homeAfterImportWithNewWallet: -25%
  • importSrpHome/longTaskCount: -51%
  • importSrpHome/longTaskTotalDuration: -59%
  • importSrpHome/longTaskMaxDuration: -45%
  • importSrpHome/tbt: -65%
  • importSrpHome/total: -25%
  • importSrpHome/inp: -53%
  • importSrpHome/fcp: -12%
  • importSrpHome/cls: +484%
  • sendTransactions/reviewTransactionToConfirmationPage: -98%
  • sendTransactions/longTaskCount: -100%
  • sendTransactions/longTaskTotalDuration: -100%
  • sendTransactions/longTaskMaxDuration: -100%
  • sendTransactions/tbt: -100%
  • sendTransactions/total: -96%
  • sendTransactions/inp: -37%
  • sendTransactions/fcp: +21%
  • sendTransactions/lcp: -58%
  • sendTransactions/cls: +171%
  • swap/openSwapPageFromHome: +847%
  • swap/fetchAndDisplaySwapQuotes: +90%
  • swap/longTaskCount: +167%
  • swap/longTaskTotalDuration: +124%
  • swap/longTaskMaxDuration: +52%
  • swap/tbt: +89%
  • swap/total: +103%
  • swap/fcp: +12%
  • swap/lcp: -67%
  • swap/cls: -92%

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

  • 🟡 sendTransactions/FCP: p75 2.0s
  • 🟡 swap/FCP: p75 2.0s
  • 🟡 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]

📈 Results compared to the previous 5 runs on main

  • dappPageLoad/pageLoadTime: -57%
  • dappPageLoad/firstPaint: -46%
  • dappPageLoad/firstContentfulPaint: -46%
Bundle size diffs
  • background: 105 Bytes (0%)
  • ui: 299 Bytes (0%)
  • common: 0 Bytes (0%)
  • other: 0 Bytes (0%)
  • contentScripts: 0 Bytes (0%)
  • zip: 159 Bytes (0%)

@aganglada aganglada 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.

@Bigshmow next time please if you can include videos/screenshots of the feature working 🙏

@Bigshmow
Bigshmow added this pull request to the merge queue Aug 18, 2026
Merged via the queue into main with commit c4ad69a Aug 18, 2026
259 of 262 checks passed
@Bigshmow
Bigshmow deleted the feat/TAT-3737-persist-orderbook-open-state branch August 18, 2026 15:14
@metamaskbot metamaskbot added the release-13.46.0 Issue or pull request that will be included in release 13.46.0 label Aug 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release-13.46.0 Issue or pull request that will be included in release 13.46.0 risk:medium size-S team-perps Perps team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants