metamask-extension icon indicating copy to clipboard operation
metamask-extension copied to clipboard

fix: Ensure that Settings are available if there is a pending approval

Open dan437 opened this issue 2 weeks ago • 2 comments

Description

This issue shouldn't happen anymore since the STX status page is not displayed anymore, but just in case it would be displayed again I've added this fix.

Open in GitHub Codespaces

Changelog

CHANGELOG entry: Ensure that Settings are available if there is a pending approval

Related issues

Fixes: https://github.com/MetaMask/metamask-extension/issues/38477

Manual testing steps

  1. Follow steps here: https://github.com/MetaMask/metamask-extension/issues/38477
  2. Settings should be available now

Screenshots/Recordings

Before

After

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] Exempts SETTINGS_ROUTE from confirmation redirects so Settings remains accessible even with pending approvals.

  • Routing/Confirmation Handler (ui/pages/routes/confirmation-handler.tsx):
    • Import and add SETTINGS_ROUTE to EXEMPTED_ROUTES to prevent auto-redirects, ensuring Settings stays accessible when approvals are pending.

Written by Cursor Bugbot for commit edc89ab08d32f98477667eef055187d728fa2a9f. This will update automatically on new commits. Configure here.

dan437 avatar Dec 10 '25 14:12 dan437

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[bot] avatar Dec 10 '25 14:12 github-actions[bot]

Builds ready [edc89ab]
UI Startup Metrics (1260 ± 101 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard HomeuiStartup12601031147710113311418
load103186212518610801194
domContentLoaded102485812448510701181
domInteractive2516127202183
firstPaint51095125739010221123
backgroundConnect21519526113222244
firstReactRender4431145154771
getState3817132224180
initialActions1010112
loadScripts816657101582855980
setupStore1162841219
numNetworkReqs1368018667
BrowserifyPower User HomeuiStartup19161584250515919902216
load1087879160412211561273
domContentLoaded1077870159712211491259
domInteractive3218244292894
firstPaint529114127539610011227
backgroundConnect24120164380236533
firstReactRender47386254958
getState215143745111218305
initialActions103112
loadScripts86567313521199341044
setupStore16114281537
numNetworkReqs71582062367136
WebpackStandard HomeuiStartup810676121786853966
load65656685774707808
domContentLoaded65056284374702801
domInteractive2615114202286
firstPaint24287817178220704
backgroundConnect1255381429
firstReactRender50321372650125
getState281463113647
initialActions103112
loadScripts64756083773700795
setupStore1152941220
numNetworkReqs1368019674
WebpackPower User HomeuiStartup14071080202519415851724
load7395981130109833931
domContentLoaded7325911121108822924
domInteractive32171422827115
firstPaint31697986228385760
backgroundConnect85860415182554
firstReactRender49406955158
getState19214579887189262
initialActions102112
loadScripts7285881112107820916
setupStore1775291537
numNetworkReqs70581562166133
FirefoxBrowserifyStandard HomeuiStartup13721109241021814451742
load109791014779911491284
domContentLoaded109790914729911431284
domInteractive69311603686138
firstPaint------
backgroundConnect7622104313473213
firstReactRender38307373951
getState157222261030
initialActions102122
loadScripts106789314169211111235
setupStore13688131142
numNetworkReqs1567921775
BrowserifyPower User HomeuiStartup26041595374053730083364
load1614989254847520512324
domContentLoaded1614989254247520512324
domInteractive187301027291149966
firstPaint------
backgroundConnect2182511582901991073
firstReactRender5634108145892
getState1307032547160225
initialActions2037423
loadScripts1495974230543419492247
setupStore575100012348265
numNetworkReqs74471352181119
WebpackStandard HomeuiStartup16441275321631117372213
load13501105284224713851607
domContentLoaded13491105284124713851607
domInteractive74282134199142
firstPaint------
backgroundConnect65182314791173
firstReactRender42338474354
getState2071622915111
initialActions107112
loadScripts13161089273923513521563
setupStore215205321595
numNetworkReqs1568421878
WebpackPower User HomeuiStartup27301728422856130893597
load19251117287750423552574
domContentLoaded19251117287750423542573
domInteractive263291100366241987
firstPaint------
backgroundConnect1232640379180262
firstReactRender5537122145987
getState144711060107172236
initialActions2038526
loadScripts18621099285548022632531
setupStore4144337536223
numNetworkReqs70471272169121
📊 Page Load Benchmark Results

Current Commit: edc89ab | Date: 12/10/2025

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 981ms (±40ms) 🟢 | historical mean value: 1.04s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 679ms (±37ms) 🟢 | historical mean value: 724ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 75ms (±12ms) 🟢 | historical mean value: 78ms ⬇️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 981ms 40ms 954ms 1.27s 1.03s 1.27s
domContentLoaded 679ms 37ms 661ms 949ms 720ms 949ms
firstPaint 75ms 12ms 60ms 180ms 84ms 180ms
firstContentfulPaint 75ms 12ms 60ms 180ms 84ms 180ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 58 Bytes (0%)
  • ui: 17 Bytes (0%)
  • common: 20 Bytes (0%)

metamaskbot avatar Dec 10 '25 15:12 metamaskbot

For some reason Settings are disabled when there is at least one unapproved transaction: https://github.com/MetaMask/metamask-extension/blob/main/ui/components/multichain/global-menu/global-menu.tsx#L535

It was added in this PR: https://github.com/MetaMask/metamask-extension/pull/19522/files#diff-2d29e8cea9f9d45ebb08ac4907e62eaf8b5212123d41473872b5759be8d68626R206

dan437 avatar Dec 12 '25 12:12 dan437

A fix should be implemented by the team that owns the menu. Designers should decide if we should either highlight a currently disabled Settings menu item and explain why it's disabled (unapproved transactions) or just enable it.

dan437 avatar Dec 12 '25 12:12 dan437