Skip to content

feat: subscription-state-exit-modal#39899

Merged
tuna1207 merged 44 commits intomainfrom
feat/subscription-state-exit-modal
Mar 3, 2026
Merged

feat: subscription-state-exit-modal#39899
tuna1207 merged 44 commits intomainfrom
feat/subscription-state-exit-modal

Conversation

@tuna1207
Copy link
Copy Markdown
Member

@tuna1207 tuna1207 commented Feb 9, 2026

Description

When a user initiates a card payment flow for the Shield subscription, MetaMask opens an external Stripe checkout tab. If the user is in the popup, the popup closes. Previously, there was no mechanism to return the user to the Shield plan page when they reopened the extension after abandoning checkout.

This PR introduces a generic pendingRedirectRoute field in AppStateController that persists across popup closes and extension restarts. Any feature can set this field so the user is redirected back to the appropriate page on next open.

Details:

  • Generic, the pendingRedirectRoute state shape ({ path, search?, environmentType? }) can be reused by any feature that needs cross-session redirect
  • Bridge pattern with history duck - the home page hydrates the existing redirectAfterDefaultPage (Redux, session-only) from the persisted pendingRedirectRoute on mount, then clears the persisted state. This reuses existing navigation logic
  • Environment-type gating - callers can optionally set environmentType (e.g. 'popup') so the redirect only fires when the extension is reopened in that specific mode. If omitted, the redirect fires in any environment
  • Cleanup on unmount - the Shield plan page clears the pending redirect via a useEffect cleanup if it points to the Shield route, preventing stale redirects

Open in GitHub Codespaces

Changelog

CHANGELOG entry: Fixed an issue where abandoning the Shield card payment checkout would not return users to the Shield plan page on next extension open

Related issues

Fixes:

Manual testing steps

  1. Open the extension and navigate to the Shield plan page
  2. Select a plan and choose "Card" as the payment method
  3. Click "Continue" to initiate the Stripe checkout flow
  4. Once the Stripe checkout tab opens (and the popup closes), abandon the checkout by either closing the Stripe tab or clicking "Back" on the Stripe page
  5. Reopen the extension popup
  6. Verify you are automatically redirected to the Shield plan page
  7. Navigate away from the Shield plan page (click the back button)
  8. Reopen the extension popup
  9. Verify you are no longer redirected to the Shield plan page (flag was cleared)

Screenshots/Recordings

Before

After

Screen.Recording.2026-02-11.at.12.30.30.mov

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
Introduces a new cross-session redirect mechanism wired through background state, Redux, and Home navigation, which could affect startup routing if mis-set or not cleared. Scope is contained by environment-type gating and immediate clearing, but touches core home-page navigation flow.

Overview
Adds a new pendingRedirectRoute field on AppStateController (non-persisted across extension restarts) and exposes setPendingRedirectRoute through background/UI messaging so features can request a one-time redirect on next open.

Home now hydrates the existing history-duck redirect (redirectAfterDefaultPage) from pendingRedirectRoute on mount (and only once when it transitions from null), optionally gated by environmentType, then clears it to prevent stale/looping redirects.

Updates the Shield card checkout flow to set pendingRedirectRoute to /shield-plan before opening the Stripe tab and clear it after successful completion; the Shield plan back navigation also clears the pending redirect when the user intentionally leaves. Includes selectors/actions/tests and fixture/snapshot updates to cover the new state.

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

@metamaskbot metamaskbot added the team-onboarding Onboarding team label Feb 9, 2026
@metamaskbotv2
Copy link
Copy Markdown
Contributor

metamaskbotv2 bot commented Feb 9, 2026

✨ Files requiring CODEOWNER review ✨

👨‍🔧 @MetaMask/core-extension-ux (3 files, +255 -4)
  • 📁 ui/
    • 📁 pages/
      • 📁 home/
        • 📄 home.component.js +35 -4
        • 📄 home.component.test.tsx +212 -0
        • 📄 home.container.js +8 -0

🕵️ @MetaMask/extension-privacy-reviewers (1 files, +1 -0)
  • 📁 test/
    • 📁 e2e/
      • 📁 tests/
        • 📁 settings/
          • 📄 state-logs.json +1 -0

🧪 @MetaMask/qa (1 files, +1 -0)
  • 📁 test/
    • 📁 e2e/
      • 📁 tests/
        • 📁 settings/
          • 📄 state-logs.json +1 -0

🔐 @MetaMask/web3auth (1 files, +23 -2)
  • 📁 ui/
    • 📁 pages/
      • 📁 shield-plan/
        • 📄 shield-plan.tsx +23 -2

@github-actions github-actions bot added the size-M label Feb 9, 2026
@tuna1207 tuna1207 added area-shield team-shield Shield team and removed team-onboarding Onboarding team labels Feb 9, 2026
@tuna1207 tuna1207 marked this pull request as ready for review February 9, 2026 04:21
@tuna1207 tuna1207 requested review from a team as code owners February 9, 2026 04:21
@metamaskbotv2
Copy link
Copy Markdown
Contributor

metamaskbotv2 bot commented Feb 9, 2026

Builds ready [0b612dd]
UI Startup Metrics (1402 ± 98 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard HomeuiStartup1402119217109814561574
load1200100514909712611367
domContentLoaded1194100114859812551362
domInteractive271793192482
firstPaint167671280168202251
backgroundConnect23822028815239273
firstReactRender18103762031
initialActions1012213
loadScripts97177912469710351144
setupStore1364761624
numNetworkReqs231591211582
BrowserifyPower User HomeuiStartup16791355248018917092137
load1103983180617310771560
domContentLoaded1088975178616910671546
domInteractive3218160262997
firstPaint214631612220229414
backgroundConnect31126145335323365
firstReactRender22144262336
initialActions105111
loadScripts86575315641618401282
setupStore1464361626
numNetworkReqs94482914696210
WebpackStandard HomeuiStartup831671102078877963
load69760593378757829
domContentLoaded69260191077752822
domInteractive251593182075
firstPaint1136122648155192
backgroundConnect3819140234485
firstReactRender15103551726
initialActions103112
loadScripts68959990176750813
setupStore1162541121
numNetworkReqs2315100211584
WebpackPower User HomeuiStartup1305971197319613761685
load73764112431337191116
domContentLoaded72763512281337071106
domInteractive40192183637115
firstPaint15169598108172311
backgroundConnect19013337272205356
firstReactRender23183442631
initialActions102011
loadScripts72463312181307051096
setupStore1354151519
numNetworkReqs1194730355146265
FirefoxBrowserifyStandard HomeuiStartup16151343219518816832055
load13631178190715614111690
domContentLoaded13621174190715614081689
domInteractive74322394291147
firstPaint------
backgroundConnect62282033757144
firstReactRender1392321315
initialActions102122
loadScripts13271162179513513581605
setupStore144187211334
numNetworkReqs2512102221886
BrowserifyPower User HomeuiStartup28041987676767728073895
load15951232543947716722286
domContentLoaded15941232543847716662286
domInteractive11734779116109404
firstPaint------
backgroundConnect2971181104240313873
firstReactRender18146761922
initialActions207122
loadScripts15451212540646615852204
setupStore98971514081444
numNetworkReqs67381483392132
WebpackStandard HomeuiStartup16071304208117917181954
load13711179164111714471605
domContentLoaded13701173164111814461605
domInteractive862826748117161
firstPaint------
backgroundConnect70242644983162
firstReactRender14112931420
initialActions103122
loadScripts13361155162611014001526
setupStore2342534513113
numNetworkReqs231297191874
WebpackPower User HomeuiStartup27121990463343828673536
load15441227330931517131999
domContentLoaded15431227330831517131999
domInteractive12131642139101501
firstPaint------
backgroundConnect3241271390275315893
firstReactRender22156572432
initialActions203123
loadScripts14911194322029416111947
setupStore1919782231284686
numNetworkReqs63341393189127
📊 Page Load Benchmark Results

Current Commit: 0b612dd | Date: 2/9/2026

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.03s (±35ms) 🟡 | historical mean value: 1.05s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 717ms (±34ms) 🟢 | historical mean value: 731ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 75ms (±11ms) 🟢 | historical mean value: 78ms ⬇️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.03s 35ms 1.01s 1.29s 1.04s 1.29s
domContentLoaded 717ms 34ms 699ms 968ms 730ms 968ms
firstPaint 75ms 11ms 56ms 156ms 88ms 156ms
firstContentfulPaint 75ms 11ms 56ms 156ms 88ms 156ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 688 Bytes (0.02%)
  • ui: 569 Bytes (0.01%)
  • common: 402 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.

Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.

@metamaskbotv2
Copy link
Copy Markdown
Contributor

metamaskbotv2 bot commented Feb 27, 2026

Builds ready [8a17e97]
⚡ Performance Benchmarks
👆 Interaction Benchmarks
BenchmarkMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P75 (ms)P95 (ms)
Load New Accountload_new_account29726832017307320
total29726832017307320
Confirm Txconfirm_tx6042602960571060476057
total6042602960571060476057
Bridge User Actionsbridge_load_page24419528730256287
bridge_load_asset_picker2031902159209215
bridge_search_token72170375522739755
total1168110712414511911241
🔌 Startup Benchmarks
BenchmarkMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P75 (ms)P95 (ms)
Standard HomeuiStartup14811237192811515351683
load12591038170511013031466
domContentLoaded12511033169610712981429
domInteractive2816106192579
firstPaint190701395147250307
backgroundConnect21619627813218242
firstReactRender18124861928
initialActions107113
loadScripts1053835148810811061227
setupStore1373651523
numNetworkReqs322293203182
Power User HomeuiStartup17641462220212818072054
load11551023177914611381578
domContentLoaded11411014172214211231571
domInteractive3519120193588
firstPaint1697348679221297
backgroundConnect29225836919300327
firstReactRender23154662535
initialActions104113
loadScripts92880815131439081354
setupStore1664871731
numNetworkReqs60401562658131
🧭 User Journey Benchmarks
BenchmarkMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P75 (ms)P95 (ms)
Onboarding Import WalletimportWalletToSocialScreen2222192262224226
srpButtonToSrpForm97969819798
confirmSrpToPwForm22222202222
pwFormToMetricsScreen16151701617
metricsToWalletReadyScreen17162011820
doneButtonToHomeScreen1365122314278314061427
openAccountMenuToAccountListLoaded7238722672521172527252
total89028612905417790489054
Onboarding New WalletcreateWalletToSocialScreen2192182222220222
srpButtonToPwForm1061051071107107
createPwToRecoveryScreen989099
skipBackupToMetricsScreen38354123841
agreeButtonToOnboardingSuccess16161601616
doneButtonToAssetList896487142238712981422
total1285874181038716831810
Asset DetailsassetClickToPriceChart38373813838
total38373813838
Solana Asset DetailsassetClickToPriceChart47465024750
total47465024750
Import Srp HomeloginToHomeScreen21201954230313622572303
openAccountMenuAfterLogin46386095460
homeAfterImportWithNewWallet22082011235314023092353
total4362430244255044254425
Send TransactionsopenSendPageFromHome251238103638
selectTokenToSendFormLoaded21212102121
reviewTransactionToConfirmationPage87885392026879920
total92589995322938953
SwapopenSwapPageFromHome104951136107113
fetchAndDisplaySwapQuotes53634614642681262826426
total54664714653381763956533
🌐 Dapp Page Load Benchmarks

Current Commit: 8a17e97 | Date: 2/27/2026

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.06s (±39ms) 🟡 | historical mean value: 1.04s ⬆️ (historical data)
  • domContentLoaded-> current mean value: 742ms (±37ms) 🟢 | historical mean value: 735ms ⬆️ (historical data)
  • firstContentfulPaint-> current mean value: 83ms (±10ms) 🟢 | historical mean value: 84ms ⬇️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.06s 39ms 1.02s 1.33s 1.09s 1.33s
domContentLoaded 742ms 37ms 712ms 1.01s 773ms 1.01s
firstPaint 83ms 10ms 64ms 164ms 92ms 164ms
firstContentfulPaint 83ms 10ms 64ms 164ms 92ms 164ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 623 Bytes (0.01%)
  • ui: 1.13 KiB (0.01%)
  • common: 364 Bytes (0%)

@metamaskbotv2
Copy link
Copy Markdown
Contributor

metamaskbotv2 bot commented Feb 27, 2026

Builds ready [ad1004b]
⚡ Performance Benchmarks
👆 Interaction Benchmarks
BenchmarkMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P75 (ms)P95 (ms)
Load New Accountload_new_account27726829410272294
total27726829410272294
Confirm Txconfirm_tx607760736080360786080
total607760736080360786080
Bridge User Actionsbridge_load_page2021892129206212
bridge_load_asset_picker20919022312215223
bridge_search_token71870374115732741
total1126110511622211241162
🔌 Startup Benchmarks
BenchmarkMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P75 (ms)P95 (ms)
Standard HomeuiStartup14511210190611114911642
load1223103216089812621399
domContentLoaded1214100116029812531392
domInteractive3017125202684
firstPaint1487442368207256
backgroundConnect21719640524217247
firstReactRender20114862133
initialActions106124
loadScripts101682114019710491190
setupStore1474261623
numNetworkReqs312293202385
Power User HomeuiStartup17581488233314118022029
load11631057175615211481571
domContentLoaded11491047174615211361560
domInteractive3519147213591
firstPaint1607436568214282
backgroundConnect29026540823293338
firstReactRender23165372539
initialActions108113
loadScripts94083115081519231346
setupStore1673251727
numNetworkReqs60381562557121
🧭 User Journey Benchmarks
BenchmarkMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P75 (ms)P95 (ms)
Onboarding Import WalletimportWalletToSocialScreen2192182190219219
srpButtonToSrpForm94939519595
confirmSrpToPwForm21212202222
pwFormToMetricsScreen15151501515
metricsToWalletReadyScreen16161601616
doneButtonToHomeScreen6035916148604614
openAccountMenuToAccountListLoaded78427645803713978508037
total8890880290067689059006
Onboarding New WalletcreateWalletToSocialScreen2202182232220223
srpButtonToPwForm1061021093108109
createPwToRecoveryScreen999099
skipBackupToMetricsScreen39364224242
agreeButtonToOnboardingSuccess16161601616
doneButtonToAssetList1173113812072812071207
total1580153716083116081608
Asset DetailsassetClickToPriceChart513574156474
total513574156474
Solana Asset DetailsassetClickToPriceChart50465335053
total50465335053
Import Srp HomeloginToHomeScreen2010195820644520472064
openAccountMenuAfterLogin44434404444
homeAfterImportWithNewWallet22792105245013924382450
total43914190455612944554556
Send TransactionsopenSendPageFromHome19171911919
selectTokenToSendFormLoaded21192322123
reviewTransactionToConfirmationPage86885589217892892
total91589695226952952
SwapopenSwapPageFromHome1118614219118142
fetchAndDisplaySwapQuotes4606457046392546144639
total4720468747502747424750
🌐 Dapp Page Load Benchmarks

Current Commit: ad1004b | Date: 2/27/2026

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.04s (±50ms) 🟡 | historical mean value: 1.04s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 734ms (±69ms) 🟢 | historical mean value: 735ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 92ms (±135ms) 🟢 | historical mean value: 84ms ⬆️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.04s 50ms 1.01s 1.46s 1.07s 1.46s
domContentLoaded 734ms 69ms 709ms 1.37s 757ms 1.37s
firstPaint 92ms 135ms 68ms 1.44s 88ms 1.44s
firstContentfulPaint 92ms 135ms 68ms 1.44s 88ms 1.44s
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 623 Bytes (0.01%)
  • ui: 1.13 KiB (0.01%)
  • common: 364 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.

Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.

@metamaskbotv2
Copy link
Copy Markdown
Contributor

metamaskbotv2 bot commented Feb 27, 2026

Builds ready [2f11bca]
⚡ Performance Benchmarks
👆 Interaction Benchmarks
BenchmarkMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P75 (ms)P95 (ms)
Load New Accountload_new_account28626033228305332
total28626033228305332
Confirm Txconfirm_tx6053602260822160656082
total6053602260822160656082
Bridge User Actionsbridge_load_page23420328231260282
bridge_load_asset_picker25720333751260337
bridge_search_token71570274416720744
total1178110112997812401299
🔌 Startup Benchmarks
BenchmarkMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P75 (ms)P95 (ms)
Standard HomeuiStartup13721156190612114091614
load1159984161710411871343
domContentLoaded1151966158710311761338
domInteractive2816117182576
firstPaint163691142120218258
backgroundConnect20518627415209237
firstReactRender18124351926
initialActions209225
loadScripts96478213871039931139
setupStore1263751420
numNetworkReqs312293202285
Power User HomeuiStartup17481388236615617772103
load11691023171814611471540
domContentLoaded11521012171014311371496
domInteractive39191762740112
firstPaint1818047681234301
backgroundConnect29425952132300347
firstReactRender24155372440
initialActions108114
loadScripts93981514981409231288
setupStore1675071732
numNetworkReqs60381522560134
🧭 User Journey Benchmarks
BenchmarkMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P75 (ms)P95 (ms)
Onboarding Import WalletimportWalletToSocialScreen2222182253224225
srpButtonToSrpForm100971043101104
confirmSrpToPwForm23222412424
pwFormToMetricsScreen17151911719
metricsToWalletReadyScreen17171801818
doneButtonToHomeScreen992591138527311001385
openAccountMenuToAccountListLoaded75417277791424677377914
total8908888489251789258925
Onboarding New WalletcreateWalletToSocialScreen2212182232223223
srpButtonToPwForm1121051217120121
createPwToRecoveryScreen999099
skipBackupToMetricsScreen37363913839
agreeButtonToOnboardingSuccess16161701717
doneButtonToAssetList919480143434210921434
total1314887183734214821837
Asset DetailsassetClickToPriceChart43434514545
total43434514545
Solana Asset DetailsassetClickToPriceChart48465235152
total48465235152
Import Srp HomeloginToHomeScreen2009192121478720762147
openAccountMenuAfterLogin46405864958
homeAfterImportWithNewWallet2153213321701521702170
total4149403042578141564257
Send TransactionsopenSendPageFromHome39383913939
selectTokenToSendFormLoaded23203042430
reviewTransactionToConfirmationPage86284787611866876
total92891196319935963
SwapopenSwapPageFromHome1321231427135142
fetchAndDisplaySwapQuotes56664617637980763686379
total57934759651479964706514
🌐 Dapp Page Load Benchmarks

Current Commit: 2f11bca | Date: 2/27/2026

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 965ms (±39ms) 🟢 | historical mean value: 1.04s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 677ms (±36ms) 🟢 | historical mean value: 735ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 75ms (±12ms) 🟢 | historical mean value: 84ms ⬇️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 965ms 39ms 938ms 1.24s 987ms 1.24s
domContentLoaded 677ms 36ms 654ms 932ms 691ms 932ms
firstPaint 75ms 12ms 64ms 184ms 84ms 184ms
firstContentfulPaint 75ms 12ms 64ms 184ms 84ms 184ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 623 Bytes (0.01%)
  • ui: 1.13 KiB (0.01%)
  • common: 364 Bytes (0%)

@metamaskbotv2
Copy link
Copy Markdown
Contributor

metamaskbotv2 bot commented Feb 27, 2026

Builds ready [bc78c9c]
⚡ Performance Benchmarks
👆 Interaction Benchmarks
BenchmarkMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P75 (ms)P95 (ms)
Load New Accountload_new_account28926433827298338
total28926433827298338
Confirm Txconfirm_tx6044603260651260506065
total6044603260651260506065
Bridge User Actionsbridge_load_page25022027923269279
bridge_load_asset_picker17713324241205242
bridge_search_token7057007104708710
total1111108911332011281133
🔌 Startup Benchmarks
BenchmarkMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P75 (ms)P95 (ms)
Standard HomeuiStartup14611198196412015021666
load12301010165610212621432
domContentLoaded12221005163010012591394
domInteractive291898182678
firstPaint1597241677224282
backgroundConnect21419838220215235
firstReactRender20124872235
initialActions106124
loadScripts1025809142410010631209
setupStore1473961727
numNetworkReqs312291192283
Power User HomeuiStartup255214359648179621424617
load11961020178915712231581
domContentLoaded11811012177515412091567
domInteractive40191642939116
firstPaint223771739203276325
backgroundConnect806261702111873653231
firstReactRender25156472736
initialActions105113
loadScripts97181215511509911349
setupStore1663761825
numNetworkReqs73411532583124
🧭 User Journey Benchmarks
BenchmarkMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P75 (ms)P95 (ms)
Onboarding Import WalletimportWalletToSocialScreen2212202211221221
srpButtonToSrpForm96949829698
confirmSrpToPwForm24232402424
pwFormToMetricsScreen18171911819
metricsToWalletReadyScreen17171701717
doneButtonToHomeScreen1340124014379014211437
openAccountMenuToAccountListLoaded7235722172451072427245
total8938886390418390389041
Onboarding New WalletcreateWalletToSocialScreen2192162222221222
srpButtonToPwForm1121121120112112
createPwToRecoveryScreen989099
skipBackupToMetricsScreen38354023840
agreeButtonToOnboardingSuccess17161811818
doneButtonToAssetList670479967183664967
total1065876136518510581365
Asset DetailsassetClickToPriceChart44434724547
total44434724547
Solana Asset DetailsassetClickToPriceChart50475435254
total50475435254
Import Srp HomeloginToHomeScreen21301959237916422492379
openAccountMenuAfterLogin44414834848
homeAfterImportWithNewWallet2160212921982821762198
total43954130475325146184753
Send TransactionsopenSendPageFromHome20202102121
selectTokenToSendFormLoaded27183673336
reviewTransactionToConfirmationPage86785288813875888
total91789594016931940
SwapopenSwapPageFromHome1139413314117133
fetchAndDisplaySwapQuotes4607456846382946314638
total4708466247643747384764
🌐 Dapp Page Load Benchmarks

Current Commit: bc78c9c | Date: 2/27/2026

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 971ms (±42ms) 🟢 | historical mean value: 1.04s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 684ms (±39ms) 🟢 | historical mean value: 735ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 77ms (±15ms) 🟢 | historical mean value: 84ms ⬇️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 971ms 42ms 936ms 1.28s 1.01s 1.28s
domContentLoaded 684ms 39ms 657ms 966ms 714ms 966ms
firstPaint 77ms 15ms 64ms 208ms 92ms 208ms
firstContentfulPaint 77ms 15ms 64ms 208ms 92ms 208ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 623 Bytes (0.01%)
  • ui: 1.13 KiB (0.01%)
  • common: 364 Bytes (0%)

chaitanyapotti
chaitanyapotti previously approved these changes Feb 27, 2026
@Gudahtt
Copy link
Copy Markdown
Member

Gudahtt commented Feb 27, 2026

Looks good! Looks like CI is still failing though, this needs a branch update then a fixture update

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

@HowardBraham
Copy link
Copy Markdown
Contributor

@metamaskbot update-e2e-fixture

@metamaskbotv2
Copy link
Copy Markdown
Contributor

metamaskbotv2 bot commented Feb 27, 2026

E2E fixtures update failed. You can review the logs or retry the fixture update here

@metamaskbotv2
Copy link
Copy Markdown
Contributor

metamaskbotv2 bot commented Feb 27, 2026

Builds ready [d78e606]
⚡ Performance Benchmarks
👆 Interaction Benchmarks
BenchmarkMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P75 (ms)P95 (ms)
Load New Accountload_new_account401266699170482699
total401266699170482699
Confirm Txconfirm_tx605160476056460526056
total605160476056460526056
Bridge User Actionsbridge_load_page2152102183217218
bridge_load_asset_picker1931891983194198
bridge_search_token7066957219711721
total1117109411451811221145
🔌 Startup Benchmarks
BenchmarkMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P75 (ms)P95 (ms)
Standard HomeuiStartup14151184181911114441605
load1187101114599312331348
domContentLoaded1181100414539412301341
domInteractive281885172578
firstPaint155711021109210249
backgroundConnect21119525413215240
firstReactRender20136972032
initialActions2011225
loadScripts98681612569210271151
setupStore1374971524
numNetworkReqs312290192282
Power User HomeuiStartup19861429660186318443499
load11821041177515911851592
domContentLoaded11661024172215611781582
domInteractive3719188303497
firstPaint195701622184246328
backgroundConnect4162524164523316754
firstReactRender23155962534
initialActions104112
loadScripts95381314821559501368
setupStore1684961724
numNetworkReqs64371442675122
🧭 User Journey Benchmarks
BenchmarkMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P75 (ms)P95 (ms)
Onboarding Import WalletimportWalletToSocialScreen2192172222221222
srpButtonToSrpForm94949409494
confirmSrpToPwForm22212202222
pwFormToMetricsScreen15151601616
metricsToWalletReadyScreen17161911819
doneButtonToHomeScreen1048686125725312511257
openAccountMenuToAccountListLoaded73827037766724676627667
total8799865489029788948902
Onboarding New WalletcreateWalletToSocialScreen2202182243223224
srpButtonToPwForm1061051071106107
createPwToRecoveryScreen888088
skipBackupToMetricsScreen34343503435
agreeButtonToOnboardingSuccess16161601616
doneButtonToAssetList591477809121621809
total975861119612210021196
Asset DetailsassetClickToPriceChart34293733437
total34293733437
Solana Asset DetailsassetClickToPriceChart452458145758
total452458145758
Import Srp HomeloginToHomeScreen2157209222084421842208
openAccountMenuAfterLogin42394424444
homeAfterImportWithNewWallet2184213122243422022224
total4388436044252544104425
Send TransactionsopenSendPageFromHome301740103840
selectTokenToSendFormLoaded20182112021
reviewTransactionToConfirmationPage8618528729867872
total91389093016926930
SwapopenSwapPageFromHome1271151337133133
fetchAndDisplaySwapQuotes4641457047246847214724
total4768469948576648374857
🌐 Dapp Page Load Benchmarks

Current Commit: d78e606 | Date: 2/27/2026

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.04s (±38ms) 🟡 | historical mean value: 1.05s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 735ms (±36ms) 🟢 | historical mean value: 740ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 79ms (±12ms) 🟢 | historical mean value: 83ms ⬇️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.04s 38ms 1.02s 1.33s 1.07s 1.33s
domContentLoaded 735ms 36ms 715ms 1.00s 760ms 1.00s
firstPaint 79ms 12ms 64ms 184ms 84ms 184ms
firstContentfulPaint 79ms 12ms 64ms 184ms 84ms 184ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 623 Bytes (0.01%)
  • ui: 1.13 KiB (0.01%)
  • common: 364 Bytes (0%)

@metamaskbotv2
Copy link
Copy Markdown
Contributor

metamaskbotv2 bot commented Feb 27, 2026

E2E fixtures updated.

@metamaskbotv2
Copy link
Copy Markdown
Contributor

metamaskbotv2 bot commented Feb 27, 2026

Builds ready [3d36328]
⚡ Performance Benchmarks
👆 Interaction Benchmarks
BenchmarkMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P75 (ms)P95 (ms)
Load New Accountload_new_account2762612879279287
total2762612879279287
Confirm Txconfirm_tx601060016024860136024
total601060016024860136024
Bridge User Actionsbridge_load_page1971872077200207
bridge_load_asset_picker1921901942194194
bridge_search_token7016997031702703
total109510861101610971101
🔌 Startup Benchmarks
BenchmarkMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P75 (ms)P95 (ms)
Standard HomeuiStartup14451220173610014861630
load1218102114628912571381
domContentLoaded1211101514368712511371
domInteractive291795172573
firstPaint172701241137221366
backgroundConnect21519425612220239
firstReactRender18124952027
initialActions108113
loadScripts101381912408710531170
setupStore1473351721
numNetworkReqs312296192284
Power User HomeuiStartup2496140411429190321694295
load12051039167213212501551
domContentLoaded11891034166113112301542
domInteractive38202143136108
firstPaint1877345685252336
backgroundConnect926258960016893782677
firstReactRender23164572539
initialActions109113
loadScripts973808141912710051314
setupStore1675981827
numNetworkReqs71371462686124
🧭 User Journey Benchmarks
BenchmarkMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P75 (ms)P95 (ms)
Onboarding Import WalletimportWalletToSocialScreen2202182232221223
srpButtonToSrpForm94949509595
confirmSrpToPwForm22212312323
pwFormToMetricsScreen16151811618
metricsToWalletReadyScreen16151911719
doneButtonToHomeScreen1076595145838814101458
openAccountMenuToAccountListLoaded74156848802545978748025
total88638673898611289678986
Onboarding New WalletcreateWalletToSocialScreen2222182273225227
srpButtonToPwForm1201131358122135
createPwToRecoveryScreen99100910
skipBackupToMetricsScreen40354534245
agreeButtonToOnboardingSuccess19172122121
doneButtonToAssetList1171115311901511901190
total1587156216071916071607
Asset DetailsassetClickToPriceChart41394634046
total41394634046
Solana Asset DetailsassetClickToPriceChart47455234752
total47455234752
Import Srp HomeloginToHomeScreen1955190220084919992008
openAccountMenuAfterLogin42394524345
homeAfterImportWithNewWallet22702044252619624842526
total43263998457120544434571
Send TransactionsopenSendPageFromHome321753143953
selectTokenToSendFormLoaded19182011920
reviewTransactionToConfirmationPage8548438637859863
total90989092211916922
SwapopenSwapPageFromHome12411114113139141
fetchAndDisplaySwapQuotes4675457247347247344734
total4799471348505848464850
🌐 Dapp Page Load Benchmarks

Current Commit: 3d36328 | Date: 2/27/2026

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.07s (±58ms) 🟡 | historical mean value: 1.05s ⬆️ (historical data)
  • domContentLoaded-> current mean value: 752ms (±56ms) 🟢 | historical mean value: 740ms ⬆️ (historical data)
  • firstContentfulPaint-> current mean value: 84ms (±13ms) 🟢 | historical mean value: 83ms ⬆️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.07s 58ms 1.03s 1.41s 1.13s 1.41s
domContentLoaded 752ms 56ms 717ms 1.09s 796ms 1.09s
firstPaint 84ms 13ms 68ms 196ms 96ms 196ms
firstContentfulPaint 84ms 13ms 68ms 196ms 96ms 196ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 623 Bytes (0.01%)
  • ui: 1.13 KiB (0.01%)
  • common: 253 Bytes (0%)

@metamaskbotv2
Copy link
Copy Markdown
Contributor

metamaskbotv2 bot commented Mar 2, 2026

Builds ready [a39609e]
⚡ Performance Benchmarks
👆 Interaction Benchmarks
BenchmarkMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P75 (ms)P95 (ms)
Load New Accountload_new_account29427331416308314
total29427331416308314
Confirm Txconfirm_tx602860136038960336038
total602860136038960336038
Bridge User Actionsbridge_load_page21717725330236253
bridge_load_asset_picker23611031882306318
bridge_search_token72570475719729757
total1178106712717712241271
🔌 Startup Benchmarks
BenchmarkMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P75 (ms)P95 (ms)
Standard HomeuiStartup14991259192511615411688
load1259105915309913031435
domContentLoaded1252105415219812981421
domInteractive3018108192782
firstPaint1607542683226284
backgroundConnect22120030215225250
firstReactRender20134652028
initialActions107124
loadScripts104985113199710941228
setupStore1473051724
numNetworkReqs312292202284
Power User HomeuiStartup2671141310734205023467605
load12171038178614512721529
domContentLoaded11971025169213612431511
domInteractive3519127193666
firstPaint2087355691280349
backgroundConnect711263496010334503395
firstReactRender26176182741
initialActions105113
loadScripts984830146413210261304
setupStore1573851722
numNetworkReqs72361632889125
🧭 User Journey Benchmarks
BenchmarkMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P75 (ms)P95 (ms)
Onboarding Import WalletimportWalletToSocialScreen2182162201218220
srpButtonToSrpForm93919519495
confirmSrpToPwForm21212102121
pwFormToMetricsScreen15151601516
metricsToWalletReadyScreen16161601616
doneButtonToHomeScreen894594126028612121260
openAccountMenuToAccountListLoaded76207234808533678468085
total8844881288712188498871
Onboarding New WalletcreateWalletToSocialScreen2192192190219219
srpButtonToPwForm1061051081107108
createPwToRecoveryScreen888088
skipBackupToMetricsScreen35343713637
agreeButtonToOnboardingSuccess16161601616
doneButtonToAssetList64856973476713734
total103295511187510951118
Asset DetailsassetClickToPriceChart38354233942
total38354233942
Solana Asset DetailsassetClickToPriceChart48474814848
total48474814848
Import Srp HomeloginToHomeScreen20641954227211721042272
openAccountMenuAfterLogin43404624346
homeAfterImportWithNewWallet27112431314827028573148
total46574436486016247514860
Send TransactionsopenSendPageFromHome37344023740
selectTokenToSendFormLoaded20192002020
reviewTransactionToConfirmationPage8488438555853855
total9038989105906910
SwapopenSwapPageFromHome85691021189102
fetchAndDisplaySwapQuotes461546104621546214621
total4691466247232246994723
🌐 Dapp Page Load Benchmarks

Current Commit: a39609e | Date: 3/2/2026

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 953ms (±117ms) 🟢 | historical mean value: 1.05s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 678ms (±135ms) 🟢 | historical mean value: 739ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 94ms (±198ms) 🟢 | historical mean value: 82ms ⬆️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 953ms 117ms 920ms 2.09s 982ms 2.09s
domContentLoaded 678ms 135ms 642ms 2.00s 690ms 2.00s
firstPaint 94ms 198ms 64ms 2.06s 84ms 2.06s
firstContentfulPaint 94ms 198ms 64ms 2.06s 84ms 2.06s
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 623 Bytes (0.01%)
  • ui: 1.13 KiB (0.01%)
  • common: 364 Bytes (0%)

@sonarqubecloud
Copy link
Copy Markdown

sonarqubecloud bot commented Mar 3, 2026

@metamaskbotv2
Copy link
Copy Markdown
Contributor

metamaskbotv2 bot commented Mar 3, 2026

Builds ready [a8090fd]
⚡ Performance Benchmarks
👆 Interaction Benchmarks
BenchmarkMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P75 (ms)P95 (ms)
Load New Accountload_new_account29628331712300317
total29628331712300317
Confirm Txconfirm_tx6057604160781360636078
total6057604160781360636078
Bridge User Actionsbridge_load_page22919226325240263
bridge_load_asset_picker22816331263294312
bridge_search_token71969874216733742
total1176109312736812381273
🔌 Startup Benchmarks
BenchmarkMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P75 (ms)P95 (ms)
Standard HomeuiStartup14561224205711815141641
load12211021171210212591370
domContentLoaded12141005170110212551360
domInteractive3017113192680
firstPaint173721359145219302
backgroundConnect21820126814222250
firstReactRender21144972134
initialActions2010225
loadScripts1013806149210010521161
setupStore1465381526
numNetworkReqs312286192281
Power User HomeuiStartup19851528478358319003526
load12171086178815612281611
domContentLoaded11991079173614612111567
domInteractive3819175253770
firstPaint211851588165274371
backgroundConnect3822691918273330806
firstReactRender26184982843
initialActions106113
loadScripts97985814831429841349
setupStore1775782035
numNetworkReqs63371522371119
🧭 User Journey Benchmarks
BenchmarkMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P75 (ms)P95 (ms)
Onboarding Import WalletimportWalletToSocialScreen2192172222220222
srpButtonToSrpForm93919419494
confirmSrpToPwForm21212202122
pwFormToMetricsScreen15151601516
metricsToWalletReadyScreen17151811818
doneButtonToHomeScreen12551075147914512481479
openAccountMenuToAccountListLoaded70266811724015270377240
total83817910888236286218882
Onboarding New WalletcreateWalletToSocialScreen2182172191218219
srpButtonToPwForm1101061163112116
createPwToRecoveryScreen999099
skipBackupToMetricsScreen37373703737
agreeButtonToOnboardingSuccess16161701717
doneButtonToAssetList817475127032111351270
total1209864166732315261667
Asset DetailsassetClickToPriceChart40384324143
total40384324143
Solana Asset DetailsassetClickToPriceChart50465955259
total50465955259
Import Srp HomeloginToHomeScreen20621885224615121722246
openAccountMenuAfterLogin45405144651
homeAfterImportWithNewWallet27022516283111227812831
total4778467848546548094854
Send TransactionsopenSendPageFromHome17171911719
selectTokenToSendFormLoaded22202412224
reviewTransactionToConfirmationPage8578518707857870
total91689095423926954
SwapopenSwapPageFromHome1141031269122126
fetchAndDisplaySwapQuotes4602457846181546114618
total472247194727347274727
🌐 Dapp Page Load Benchmarks

Current Commit: a8090fd | Date: 3/3/2026

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.05s (±44ms) 🟡 | historical mean value: 1.03s ⬆️ (historical data)
  • domContentLoaded-> current mean value: 736ms (±40ms) 🟢 | historical mean value: 728ms ⬆️ (historical data)
  • firstContentfulPaint-> current mean value: 81ms (±10ms) 🟢 | historical mean value: 82ms ⬇️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.05s 44ms 1.02s 1.36s 1.11s 1.36s
domContentLoaded 736ms 40ms 709ms 1.03s 766ms 1.03s
firstPaint 81ms 10ms 64ms 160ms 88ms 160ms
firstContentfulPaint 81ms 10ms 64ms 160ms 88ms 160ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 623 Bytes (0.01%)
  • ui: 1.13 KiB (0.01%)
  • common: 364 Bytes (0%)

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-shield release-13.22.0 Issue or pull request that will be included in release 13.22.0 size-L team-shield Shield team

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

7 participants