Skip to content

fix(perps): update perps/tutorial skip button#40174

Merged
geositta merged 6 commits intomainfrom
perps/tutorial-skip-button
Feb 25, 2026
Merged

fix(perps): update perps/tutorial skip button#40174
geositta merged 6 commits intomainfrom
perps/tutorial-skip-button

Conversation

@geositta
Copy link
Contributor

@geositta geositta commented Feb 17, 2026

Description

Refactors the Perps tutorial modal to align with the mobile implementation pattern and improves the Skip button styling.
Reason for change:

  • Skip button was using ButtonLink which is semantically incorrect (Skip is an action, not a navigation link) and had unwanted blue hover styling
  • Footer buttons (Continue/Skip) were duplicated across all 6 step components, making styling changes require edits to multiple files

Solution:

  • Created shared TutorialFooter component with Continue and Skip buttons, matching mobile's single-footer architecture
  • Changed Skip button from ButtonLink to Button with ButtonVariant.Tertiary for correct semantics
  • Applied text-default class to Skip button for white text (per designer request)
  • Moved ProgressIndicator and footer to parent PerpsTutorialModal, simplifying step components to content-only
  • Added comprehensive test coverage for TutorialFooter and PerpsTutorialModal navigation logic
  • Updated mobile Skip button to use TextColor.Default for consistency

Open in GitHub Codespaces

Changelog

CHANGELOG entry: Refactors the Perps tutorial modal to align with the mobile implementation pattern

Related issues

Fixes:

Manual testing steps

  1. Open MetaMask extension and navigate to a page that triggers the Perps tutorial modal
  2. Verify the Skip button appears with white text (not blue) on steps 1-5
  3. Hover over the Skip button and confirm it does NOT turn blue
  4. Click Continue to advance through all 6 steps, verifying:
  5. Progress indicator updates correctly
  6. Skip button is hidden on step 6 (Ready to Trade)
  7. Button text changes from "Continue" to "Let's Go" on step 6
  8. Restart tutorial and click Skip - verify modal closes
  9. Test in all three view modes: popup, side panel, and fullscreen
  10. Verify no visual regressions to animations or layout

Screenshots/Recordings

Before

After

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

Low Risk
UI refactor consolidating tutorial navigation into the modal and adjusting button styling; main risk is minor UX/regression in step progression/closing, mitigated by added tests.

Overview
Refactors the Perps tutorial modal so navigation is controlled centrally: ProgressIndicator and a new shared TutorialFooter now live in PerpsTutorialModal, with step components reduced to content-only.

Updates the Skip action to be a proper Button (Tertiary) with text-default styling, hides Skip on the last step, and changes the primary CTA to "Let’s Go" on the final step while continuing to advance steps using TUTORIAL_STEPS_ORDER.

Adds new unit tests for PerpsTutorialModal and TutorialFooter, and trims step tests to remove per-step button/dispatch assertions now handled by the modal.

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

@github-actions
Copy link
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.

@metamaskbot metamaskbot added the team-perps Perps team label Feb 17, 2026
@metamaskbotv2
Copy link
Contributor

metamaskbotv2 bot commented Feb 17, 2026

✨ Files requiring CODEOWNER review ✨

👨‍🔧 @MetaMask/perps (12 files, +644 -592)
  • 📁 ui/
    • 📁 components/
      • 📁 app/
        • 📁 perps/
          • 📁 perps-tutorial-modal/
            • 📁 steps/
              • 📄 ChooseLeverageStep.tsx +19 -74
              • 📄 CloseAnytimeStep.tsx +19 -74
              • 📄 GoLongShortStep.test.tsx +1 -69
              • 📄 GoLongShortStep.tsx +25 -80
              • 📄 ReadyToTradeStep.tsx +19 -54
              • 📄 WatchLiquidationStep.tsx +19 -74
              • 📄 WhatArePerpsStep.test.tsx +6 -74
              • 📄 WhatArePerpsStep.tsx +37 -92
              • 📄 PerpsTutorialModal.test.tsx +308 -0
              • 📄 PerpsTutorialModal.tsx +40 -1
              • 📄 TutorialFooter.test.tsx +98 -0
              • 📄 TutorialFooter.tsx +53 -0

@geositta geositta force-pushed the perps/tutorial-skip-button branch from f9a5ef7 to e4a8d50 Compare February 17, 2026 18:41
@geositta geositta marked this pull request as ready for review February 17, 2026 18:45
@geositta geositta requested a review from a team as a code owner February 17, 2026 18:45
@geositta geositta changed the title Perps/tutorial skip button Fix: Perps/tutorial skip button Feb 17, 2026
@geositta geositta marked this pull request as draft February 17, 2026 18:48
@geositta geositta changed the title Fix: Perps/tutorial skip button fix: update perps/tutorial skip button style Feb 17, 2026
@geositta geositta changed the title fix: update perps/tutorial skip button style fix: update perps/tutorial skip button Feb 17, 2026
@metamaskbotv2
Copy link
Contributor

metamaskbotv2 bot commented Feb 17, 2026

Builds ready [d79177b]
UI Startup Metrics (1396 ± 104 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard HomeuiStartup13961210166410414381587
load12011006146010012431377
domContentLoaded1195100214519912391373
domInteractive2716110182475
firstPaint171711303173198333
backgroundConnect25423242425255283
firstReactRender2010205241829
initialActions107113
loadScripts95976712039710081131
setupStore1362741520
numNetworkReqs231588201584
BrowserifyPower User HomeuiStartup2353136411150168221435188
load12331071190318012501714
domContentLoaded12171059189617712381681
domInteractive38191672936116
firstPaint1847746588254342
backgroundConnect67930748399533763354
firstReactRender22163752432
initialActions105112
loadScripts95481116171729831411
setupStore1674371731
numNetworkReqs1064926248133203
WebpackStandard HomeuiStartup86672013361049391065
load7556331255101818895
domContentLoaded7506261246100813889
domInteractive271592192484
firstPaint1276639066154231
backgroundConnect26195173040
firstReactRender15113851824
initialActions103112
loadScripts746624124498811881
setupStore1264461222
numNetworkReqs231597211583
WebpackPower User HomeuiStartup1252864199818613411541
load73063313161167261013
domContentLoaded7196261307116710998
domInteractive39191482739104
firstPaint1426750177172265
backgroundConnect16913263072163306
firstReactRender22184132328
initialActions102111
loadScripts7176241297114708987
setupStore1254051418
numNetworkReqs1294726749154217
FirefoxBrowserifyStandard HomeuiStartup15711358222118015861999
load13521157197113713911633
domContentLoaded13511157196613713901627
domInteractive65331613488128
firstPaint------
backgroundConnect5729208275895
firstReactRender13102421317
initialActions103112
loadScripts13251135194513313661594
setupStore156169221331
numNetworkReqs241295211886
BrowserifyPower User HomeuiStartup27332070377536128963445
load15471298246923415752084
domContentLoaded15461297246923415752084
domInteractive14034567115129417
firstPaint------
backgroundConnect3621181406310484895
firstReactRender211568121958
initialActions203122
loadScripts15071271243822315411917
setupStore1448706184141576
numNetworkReqs79351873693139
WebpackStandard HomeuiStartup16591445216413417121890
load14421219168910415061628
domContentLoaded14421218168810515041627
domInteractive933123547131166
firstPaint------
backgroundConnect57262693463119
firstReactRender16116581524
initialActions103122
loadScripts1415119816399714871584
setupStore12792101230
numNetworkReqs231289191782
WebpackPower User HomeuiStartup27832116403838330143443
load16071389262523316972088
domContentLoaded16061389262423416972087
domInteractive15432986169133576
firstPaint------
backgroundConnect3371381191251347896
firstReactRender24167392636
initialActions203123
loadScripts15701365258222616622057
setupStore18713787209247686
numNetworkReqs77352083793147
📊 Page Load Benchmark Results

Current Commit: d79177b | Date: 2/17/2026

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.06s (±46ms) 🟡 | historical mean value: 1.04s ⬆️ (historical data)
  • domContentLoaded-> current mean value: 744ms (±41ms) 🟢 | historical mean value: 730ms ⬆️ (historical data)
  • firstContentfulPaint-> current mean value: 82ms (±11ms) 🟢 | historical mean value: 83ms ⬇️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.06s 46ms 1.03s 1.37s 1.12s 1.37s
domContentLoaded 744ms 41ms 719ms 1.04s 781ms 1.04s
firstPaint 82ms 11ms 64ms 180ms 92ms 180ms
firstContentfulPaint 82ms 11ms 64ms 180ms 92ms 180ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚀 Bundle size reduced!]
  • background: 58 Bytes (0%)
  • ui: -9.14 KiB (-0.11%)
  • common: 20 Bytes (0%)

@metamaskbotv2
Copy link
Contributor

metamaskbotv2 bot commented Feb 17, 2026

Builds ready [6879a5b]
UI Startup Metrics (1406 ± 87 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard HomeuiStartup1406121616768714531569
load1225104614198212731367
domContentLoaded1213104414118312551359
domInteractive2817104182578
firstPaint154701242129207268
backgroundConnect26624045537262339
firstReactRender1692231720
initialActions104113
loadScripts96780011638510161118
setupStore1372841620
numNetworkReqs221586201580
BrowserifyPower User HomeuiStartup17921462240616718562112
load12111068194216911921681
domContentLoaded11951059192816511731633
domInteractive37191662537106
firstPaint1917649385254330
backgroundConnect34631345025359396
firstReactRender25175182743
initialActions107113
loadScripts92880515901639061363
setupStore1663761929
numNetworkReqs1174624943136220
WebpackStandard HomeuiStartup952746128911610091203
load81866711201069021001
domContentLoaded8126611112105896990
domInteractive3219119232796
firstPaint14274987109167239
backgroundConnect31196393549
firstReactRender18114562227
initialActions103112
loadScripts8096591104103892988
setupStore1477681523
numNetworkReqs231586201580
WebpackPower User HomeuiStartup1237983186915513161564
load72463311501147251054
domContentLoaded71562511381137111040
domInteractive36191762735101
firstPaint146681100125144309
backgroundConnect16213033742164230
firstReactRender23183942530
initialActions104111
loadScripts71262311281117091031
setupStore1243041417
numNetworkReqs93472654499181
FirefoxBrowserifyStandard HomeuiStartup15291323215518315702037
load13261141177813613781670
domContentLoaded13251135177713613781670
domInteractive68312384191148
firstPaint------
backgroundConnect5225189245394
firstReactRender11101711213
initialActions103112
loadScripts13021116170713113561642
setupStore156169241129
numNetworkReqs241289211783
BrowserifyPower User HomeuiStartup27322180362935329253538
load15801324228825416752193
domContentLoaded15791323228825316692193
domInteractive12036720121112428
firstPaint------
backgroundConnect3081121175270252925
firstReactRender19156862027
initialActions2076722
loadScripts15421258226924816172138
setupStore131977319691649
numNetworkReqs67351473390135
WebpackStandard HomeuiStartup17031468223013417501950
load1479126116918615271621
domContentLoaded1479126116918715271621
domInteractive1013319136134150
firstPaint------
backgroundConnect62292484066150
firstReactRender16127061620
initialActions103122
loadScripts1450124516447914981577
setupStore2161513113121
numNetworkReqs241296211883
WebpackPower User HomeuiStartup27181973422847027973694
load15911275246031016992322
domContentLoaded15911275246031016992321
domInteractive11431779116112424
firstPaint------
backgroundConnect3021081270251255910
firstReactRender241573102636
initialActions203122
loadScripts15361235241427716642201
setupStore1538745213135680
numNetworkReqs64341563292130
📊 Page Load Benchmark Results

Current Commit: 6879a5b | Date: 2/17/2026

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 966ms (±40ms) 🟢 | historical mean value: 1.04s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 678ms (±36ms) 🟢 | historical mean value: 730ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 76ms (±10ms) 🟢 | historical mean value: 83ms ⬇️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 966ms 40ms 934ms 1.23s 997ms 1.23s
domContentLoaded 678ms 36ms 655ms 929ms 715ms 929ms
firstPaint 76ms 10ms 64ms 164ms 84ms 164ms
firstContentfulPaint 76ms 10ms 64ms 164ms 84ms 164ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚀 Bundle size reduced!]
  • background: 58 Bytes (0%)
  • ui: -9.14 KiB (-0.11%)
  • common: 20 Bytes (0%)

@metamaskbotv2
Copy link
Contributor

metamaskbotv2 bot commented Feb 19, 2026

Builds ready [e984f67]
UI Startup Metrics (1445 ± 98 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard HomeuiStartup1445122717359814921634
load1224102915189012601414
domContentLoaded1216102515098712561403
domInteractive2816119192481
firstPaint168691207130209311
backgroundConnect26023644327263301
firstReactRender18133741925
initialActions106113
loadScripts97678812718610061164
setupStore1363041521
numNetworkReqs312295192283
BrowserifyPower User HomeuiStartup2991155310824188535156170
load12581073189514112811544
domContentLoaded12441066185613812581533
domInteractive3421183243395
firstPaint210801244167263335
backgroundConnect9403074858106410583496
firstReactRender23164762531
initialActions104112
loadScripts98382214261229981263
setupStore1567291731
numNetworkReqs77401192095109
WebpackStandard HomeuiStartup89371612931069411091
load7556191180100804921
domContentLoaded748614116699798914
domInteractive3016123212481
firstPaint1266451971137253
backgroundConnect30206583444
firstReactRender19113862131
initialActions104112
loadScripts745612115898796904
setupStore1364261325
numNetworkReqs312291192582
WebpackPower User HomeuiStartup1256882266723313341565
load7406421126104727993
domContentLoaded7306371120105721985
domInteractive41191653238122
firstPaint1476641975180295
backgroundConnect1797688693170298
firstReactRender22173732326
initialActions101011
loadScripts7276351109102719976
setupStore1254251518
numNetworkReqs82421622890152
FirefoxBrowserifyStandard HomeuiStartup18351440294431319162605
load15431221253826416102236
domContentLoaded15411216253826516032236
domInteractive943553477122150
firstPaint------
backgroundConnect66291912469122
firstReactRender15122821618
initialActions103122
loadScripts15131199249526015682206
setupStore2682253717135
numNetworkReqs312094192779
BrowserifyPower User HomeuiStartup28382094801763930093555
load16331338659756116692059
domContentLoaded16321337659756116682058
domInteractive161521759189175370
firstPaint------
backgroundConnect3851101250269513927
firstReactRender201570111928
initialActions206122
loadScripts15881311655855616152017
setupStore12217720151122514
numNetworkReqs83311863597161
WebpackStandard HomeuiStartup17571400327731817522094
load14801264305626714991645
domContentLoaded14801263305626714991645
domInteractive131301684209133239
firstPaint------
backgroundConnect7227145514265126
firstReactRender16124541622
initialActions102122
loadScripts14561242303326614761627
setupStore217164251763
numNetworkReqs311993172771
WebpackPower User HomeuiStartup26582074806665427553525
load15421288678555115601850
domContentLoaded15411288678455115601850
domInteractive12933642109123310
firstPaint------
backgroundConnect3101091015219347844
firstReactRender21146072328
initialActions207123
loadScripts14961211675255015301772
setupStore15110722170184546
numNetworkReqs79292403788146
📊 Page Load Benchmark Results

Current Commit: e984f67 | Date: 2/19/2026

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.00s (±38ms) 🟡 | historical mean value: 1.04s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 704ms (±36ms) 🟢 | historical mean value: 734ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 81ms (±11ms) 🟢 | historical mean value: 84ms ⬇️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.00s 38ms 973ms 1.26s 1.05s 1.26s
domContentLoaded 704ms 36ms 678ms 951ms 749ms 951ms
firstPaint 81ms 11ms 68ms 180ms 88ms 180ms
firstContentfulPaint 81ms 11ms 68ms 180ms 88ms 180ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚀 Bundle size reduced!]
  • background: 58 Bytes (0%)
  • ui: -9.14 KiB (-0.11%)
  • common: 20 Bytes (0%)

@geositta geositta marked this pull request as ready for review February 19, 2026 16:25
@geositta geositta force-pushed the perps/tutorial-skip-button branch from e984f67 to b0629f1 Compare February 23, 2026 16:44
Copy link

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

@metamaskbotv2
Copy link
Contributor

metamaskbotv2 bot commented Feb 23, 2026

Builds ready [b0629f1]
⚡ Performance Benchmarks (1361 ± 106 ms)
👆 Interaction Benchmarks
ActionMetricMean (ms)Std Dev (ms)P75 (ms)P95 (ms)
Load New Accountload_new_account27614285297
total27614285297
Confirm Txconfirm_tx6025760306033
total6025760306033
Bridge User Actionsbridge_load_page21439258263
bridge_load_asset_picker1824187187
bridge_search_token6931693693
total1070710731079
🔌 Startup Benchmarks
BuildMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
Chrome Browserify Startup Standard HomeuiStartup13611156183610613891557
load115896014849211901343
domContentLoaded114995814729011751319
domInteractive2916141222479
firstPaint171631229164210287
backgroundConnect20118637520202215
firstReactRender19134752024
initialActions107123
loadScripts9647791285909961131
setupStore1363761527
numNetworkReqs312291192581
Chrome Browserify Startup Power User HomeuiStartup3165147210685224135949402
load11941052155910412361430
domContentLoaded11761035155110212141422
domInteractive3219131173359
firstPaint1958343678258308
backgroundConnect1144257807416329494579
firstReactRender24174452534
initialActions105112
loadScripts974837131810010101226
setupStore1564481633
numNetworkReqs78271452395116
Chrome Webpack Startup Standard HomeuiStartup85068611621049031086
load7306081082101794897
domContentLoaded7246041077100790892
domInteractive271595202380
firstPaint1205933954155208
backgroundConnect28197793244
firstReactRender18123752030
initialActions103112
loadScripts721602107599788886
setupStore1253351323
numNetworkReqs312296212589
Chrome Webpack Startup Power User HomeuiStartup1372956328036314512063
load77765811731067711015
domContentLoaded76564611561067601000
domInteractive42212193140110
firstPaint1627553088192340
backgroundConnect2021371069145169449
firstReactRender24174242531
initialActions103111
loadScripts7626441142103758991
setupStore1443661724
numNetworkReqs90521652295139
Firefox Browserify Startup Standard HomeuiStartup16591392273825816972258
load14021178238123314451878
domContentLoaded14011173238123314451878
domInteractive75322374291147
firstPaint------
backgroundConnect61293063559120
firstReactRender13112321416
initialActions102012
loadScripts13741156234422314161731
setupStore207183301539
numNetworkReqs312097202587
Firefox Browserify Startup Power User HomeuiStartup27732198392534129633372
load15201305226117215761869
domContentLoaded15201304226117215751868
domInteractive15149794117164335
firstPaint------
backgroundConnect3931011025236580818
firstReactRender19145971929
initialActions2038422
loadScripts14761280211415915321813
setupStore183161587252216661
numNetworkReqs862920339109184
Firefox Webpack Startup Standard HomeuiStartup16891426339722717292046
load14241192302518914781578
domContentLoaded14231187302518914781578
domInteractive108291667164130175
firstPaint------
backgroundConnect62232214066177
firstReactRender16122841525
initialActions103122
loadScripts14001178299418714461528
setupStore2472283615105
numNetworkReqs311997182786
Firefox Webpack Startup Power User HomeuiStartup29162141816168730003695
load17141363702763217052138
domContentLoaded17141363702663217052138
domInteractive177551080167173572
firstPaint------
backgroundConnect46513426273706441109
firstReactRender23167072531
initialActions207123
loadScripts16551337699458116612068
setupStore14917647157190519
numNetworkReqs84282434784209
🧭 User Journey Benchmarks
BenchmarkMetricMean (ms)Std Dev (ms)P75 (ms)P95 (ms)
Onboarding Import WalletimportWalletToSocialScreen2191220220
srpButtonToSrpForm9619597
confirmSrpToPwForm2202222
pwFormToMetricsScreen1601617
metricsToWalletReadyScreen1811820
doneButtonToHomeScreen103323712211251
openAccountMenuToAccountListLoaded721930374617678
total86288986958724
Onboarding New WalletcreateWalletToSocialScreen2201221222
srpButtonToPwForm1093111113
createPwToRecoveryScreen9099
skipBackupToMetricsScreen3713838
agreeButtonToOnboardingSuccess1701717
doneButtonToAssetList85424310901203
total124524214871584
Asset DetailsassetClickToPriceChart55177478
total55177478
Solana Asset DetailsassetClickToPriceChart4734852
total4734852
Import Srp HomeloginToHomeScreen19057419302011
openAccountMenuAfterLogin4134345
homeAfterImportWithNewWallet25369425412678
total479045951805493
Send TransactionsopenSendPageFromHome1931824
selectTokenToSendFormLoaded2002121
reviewTransactionToConfirmationPage85712863879
total90014915918
SwapopenSwapPageFromHome1119120122
fetchAndDisplaySwapQuotes46735547274727
total47815648254847
🌐 Dapp Page Load Benchmarks

Current Commit: b0629f1 | Date: 2/23/2026

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.05s (±39ms) 🟡 | historical mean value: 1.05s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 733ms (±36ms) 🟢 | historical mean value: 735ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 79ms (±12ms) 🟢 | historical mean value: 79ms ⬆️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.05s 39ms 1.03s 1.34s 1.09s 1.34s
domContentLoaded 733ms 36ms 711ms 1.00s 748ms 1.00s
firstPaint 79ms 12ms 60ms 188ms 88ms 188ms
firstContentfulPaint 79ms 12ms 60ms 188ms 88ms 188ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚀 Bundle size reduced!]
  • background: 58 Bytes (0%)
  • ui: -9.14 KiB (-0.11%)
  • common: 20 Bytes (0%)

@geositta geositta force-pushed the perps/tutorial-skip-button branch from 358f995 to 0a7499f Compare February 24, 2026 16:30
@geositta geositta changed the title fix: update perps/tutorial skip button fix(perps): update perps/tutorial skip button Feb 24, 2026
@sonarqubecloud
Copy link

@metamaskbotv2
Copy link
Contributor

metamaskbotv2 bot commented Feb 24, 2026

Builds ready [0a7499f]
⚡ Performance Benchmarks (1496 ± 128 ms)
👆 Interaction Benchmarks
ActionMetricMean (ms)Std Dev (ms)P75 (ms)P95 (ms)
Load New Accountload_new_account2605258268
total2605258268
Confirm Txconfirm_tx6025360266028
total6025360266028
Bridge User Actionsbridge_load_page2049209214
bridge_load_asset_picker24870312339
bridge_search_token72829746767
total118610112601314
🔌 Startup Benchmarks
BuildMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
Chrome Browserify Startup Standard HomeuiStartup14961211179612815791695
load12721012152511813631455
domContentLoaded12641001148311813541449
domInteractive3016107222588
firstPaint208661503208233373
backgroundConnect22420327615228254
firstReactRender19133742127
initialActions107113
loadScripts1059798128411811531250
setupStore1473551626
numNetworkReqs312291202287
Chrome Browserify Startup Power User HomeuiStartup2248141010013143320524679
load11511010174214211641494
domContentLoaded11341003159613311511484
domInteractive3318155233245
firstPaint197721610235220319
backgroundConnect63625646869003202931
firstReactRender23154562737
initialActions107112
loadScripts92980913791319481289
setupStore1676891632
numNetworkReqs70401582582117
Chrome Webpack Startup Standard HomeuiStartup88869613911139521080
load7536131138100834898
domContentLoaded746609112998820891
domInteractive2816153232482
firstPaint1186145665158222
backgroundConnect291967103247
firstReactRender19124762131
initialActions106112
loadScripts744607112098818889
setupStore1172131218
numNetworkReqs312297212591
Chrome Webpack Startup Power User HomeuiStartup1225920229523612851678
load7086121330116686961
domContentLoaded6986071322116676952
domInteractive36171753132115
firstPaint1506550091178378
backgroundConnect19114582384175327
firstReactRender22173542429
initialActions105112
loadScripts6956051315115674945
setupStore1255171422
numNetworkReqs1124426647143200
Firefox Browserify Startup Standard HomeuiStartup15851344255621516052005
load13341144230217313811626
domContentLoaded13331143230117313811626
domInteractive72332834590140
firstPaint------
backgroundConnect59252584358158
firstReactRender13101811315
initialActions102012
loadScripts13071122219416113581557
setupStore167167211241
numNetworkReqs311998212691
Firefox Browserify Startup Power User HomeuiStartup27262145446541328203576
load15441296288226616301954
domContentLoaded15431296288226616291953
domInteractive154351486187123496
firstPaint------
backgroundConnect3071161189247368810
firstReactRender2213125161962
initialActions2111122
loadScripts14971185277025515751918
setupStore1667792222180679
numNetworkReqs70341823391124
Firefox Webpack Startup Standard HomeuiStartup18231488372339717752404
load15321195317436215171930
domContentLoaded15311195317436215161929
domInteractive114311693167136195
firstPaint------
backgroundConnect9132157616075226
firstReactRender16136561626
initialActions103122
loadScripts14861161314532314841699
setupStore189144171646
numNetworkReqs311895172775
Firefox Webpack Startup Power User HomeuiStartup26431905356839428263453
load15181246246127116472113
domContentLoaded15171245246127116472112
domInteractive15239801175130607
firstPaint------
backgroundConnect3301091289248465855
firstReactRender21156362228
initialActions203123
loadScripts14821228244426816212087
setupStore14071236191135524
numNetworkReqs73252264091150
🧭 User Journey Benchmarks
BenchmarkMetricMean (ms)Std Dev (ms)P75 (ms)P95 (ms)
Onboarding Import WalletimportWalletToSocialScreen2182219221
srpButtonToSrpForm9119293
confirmSrpToPwForm2102122
pwFormToMetricsScreen1511617
metricsToWalletReadyScreen1611617
doneButtonToHomeScreen100425812301376
openAccountMenuToAccountListLoaded69159670487048
total832440086458942
Onboarding New WalletcreateWalletToSocialScreen2171217219
srpButtonToPwForm1052105109
createPwToRecoveryScreen8088
skipBackupToMetricsScreen3613637
agreeButtonToOnboardingSuccess1601616
doneButtonToAssetList657121606865
total10441239881255
Asset DetailsassetClickToPriceChart3833943
total3833943
Solana Asset DetailsassetClickToPriceChart4624649
total4624649
Import Srp HomeloginToHomeScreen19025119451956
openAccountMenuAfterLogin3813940
homeAfterImportWithNewWallet227718823532540
total428925244104624
Send TransactionsopenSendPageFromHome3813839
selectTokenToSendFormLoaded2112122
reviewTransactionToConfirmationPage86311872878
total92112929935
SwapopenSwapPageFromHome13117137155
fetchAndDisplaySwapQuotes4759947694769
total48981449174917
🌐 Dapp Page Load Benchmarks

Current Commit: 0a7499f | Date: 2/24/2026

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.03s (±38ms) 🟡 | historical mean value: 1.04s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 715ms (±35ms) 🟢 | historical mean value: 725ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 74ms (±11ms) 🟢 | historical mean value: 77ms ⬇️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.03s 38ms 1.01s 1.31s 1.04s 1.31s
domContentLoaded 715ms 35ms 698ms 973ms 726ms 973ms
firstPaint 74ms 11ms 56ms 164ms 84ms 164ms
firstContentfulPaint 74ms 11ms 56ms 164ms 84ms 164ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚀 Bundle size reduced!]
  • background: 58 Bytes (0%)
  • ui: -9.14 KiB (-0.11%)
  • common: 20 Bytes (0%)

@metamaskbotv2
Copy link
Contributor

metamaskbotv2 bot commented Feb 25, 2026

Builds ready [b09b22f]
⚡ Performance Benchmarks (1431 ± 116 ms)
👆 Interaction Benchmarks
ActionMetricMean (ms)Std Dev (ms)P75 (ms)P95 (ms)
Load New Accountload_new_account30931337352
total30931337352
Confirm Txconfirm_tx61342461416175
total61342461416175
Bridge User Actionsbridge_load_page29242311357
bridge_load_asset_picker22060241317
bridge_search_token75120767782
total12636413321345
🔌 Startup Benchmarks
BuildMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
Chrome Browserify Startup Standard HomeuiStartup14311194203811614831628
load12061004172210612621367
domContentLoaded11981000165210112531360
domInteractive2817122202479
firstPaint175721255143217365
backgroundConnect21519527414217242
firstReactRender20144762130
initialActions105113
loadScripts1000805144410110591165
setupStore1262851421
numNetworkReqs312286192281
Chrome Browserify Startup Power User HomeuiStartup2540148410420165323394682
load12261061181516112381592
domContentLoaded12091049169615212311583
domInteractive38211982935103
firstPaint1987753095256367
backgroundConnect731271758811004272706
firstReactRender26175072841
initialActions106112
loadScripts993833148514610081361
setupStore1865392036
numNetworkReqs75421622688126
Chrome Webpack Startup Standard HomeuiStartup88171012141049371060
load75263197892823908
domContentLoaded74762697391817901
domInteractive2816105212588
firstPaint1166336662124247
backgroundConnect28186793344
firstReactRender19123872335
initialActions104112
loadScripts74462496490815898
setupStore1272541320
numNetworkReqs312295202587
Chrome Webpack Startup Power User HomeuiStartup13351029303327814171691
load77965311871057751052
domContentLoaded76664811771057581045
domInteractive42191713239136
firstPaint1537350386163352
backgroundConnect18013770472175255
firstReactRender25185962833
initialActions105111
loadScripts76364611671037561035
setupStore1566571622
numNetworkReqs1084424839136167
Firefox Browserify Startup Standard HomeuiStartup17271431275121417692089
load14531216239018615021700
domContentLoaded14521216239018615011700
domInteractive982142058127197
firstPaint------
backgroundConnect64323163361120
firstReactRender14121911417
initialActions103122
loadScripts14221192234918014771670
setupStore208154261645
numNetworkReqs321994202791
Firefox Browserify Startup Power User HomeuiStartup27271970779963428613461
load15741288624352715402082
domContentLoaded15741288624352715392082
domInteractive14538678132127477
firstPaint------
backgroundConnect2881051108225329873
firstReactRender19156381828
initialActions213122
loadScripts15341262620552315052005
setupStore1328799164145453
numNetworkReqs75311953389139
Firefox Webpack Startup Standard HomeuiStartup17031445312827017332082
load14311231275324614661618
domContentLoaded14301231275224614661617
domInteractive106301481148131186
firstPaint------
backgroundConnect64291983665133
firstReactRender16126761623
initialActions102022
loadScripts14051209272324314301575
setupStore197153231648
numNetworkReqs311990172778
Firefox Webpack Startup Power User HomeuiStartup27352084427442528793682
load15281257288727016221934
domContentLoaded15281257288627016211934
domInteractive163321492195151551
firstPaint------
backgroundConnect3591171537321429994
firstReactRender22147282429
initialActions207122
loadScripts14901237286426515801904
setupStore1949895229263676
numNetworkReqs74321983889159
🧭 User Journey Benchmarks
BenchmarkMetricMean (ms)Std Dev (ms)P75 (ms)P95 (ms)
Onboarding Import WalletimportWalletToSocialScreen2213222225
srpButtonToSrpForm98499105
confirmSrpToPwForm2312425
pwFormToMetricsScreen1611717
metricsToWalletReadyScreen1801818
doneButtonToHomeScreen113432312681590
openAccountMenuToAccountListLoaded733335976477878
total884312889358985
Onboarding New WalletcreateWalletToSocialScreen2172218219
srpButtonToPwForm1051106107
createPwToRecoveryScreen8088
skipBackupToMetricsScreen3503535
agreeButtonToOnboardingSuccess1601616
doneButtonToAssetList91137511141533
total129837314971910
Asset DetailsassetClickToPriceChart59238588
total59238588
Solana Asset DetailsassetClickToPriceChart6026263
total6026263
Import Srp HomeloginToHomeScreen20352320362070
openAccountMenuAfterLogin61136981
homeAfterImportWithNewWallet238011023902540
total441416545144657
Send TransactionsopenSendPageFromHome2793838
selectTokenToSendFormLoaded2022222
reviewTransactionToConfirmationPage8586860868
total90512915924
SwapopenSwapPageFromHome10717120133
fetchAndDisplaySwapQuotes46276146424735
total47091647074736
🌐 Dapp Page Load Benchmarks

Current Commit: b09b22f | Date: 2/25/2026

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

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

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.03s 36ms 1.01s 1.31s 1.05s 1.31s
domContentLoaded 718ms 35ms 698ms 983ms 731ms 983ms
firstPaint 75ms 10ms 64ms 164ms 84ms 164ms
firstContentfulPaint 75ms 10ms 64ms 164ms 84ms 164ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚀 Bundle size reduced!]
  • background: 58 Bytes (0%)
  • ui: -9.13 KiB (-0.11%)
  • common: 20 Bytes (0%)

@geositta geositta added this pull request to the merge queue Feb 25, 2026
Merged via the queue into main with commit ef2aa78 Feb 25, 2026
178 of 179 checks passed
@geositta geositta deleted the perps/tutorial-skip-button branch February 25, 2026 18:17
@github-actions github-actions bot locked and limited conversation to collaborators Feb 25, 2026
@metamaskbot metamaskbot added the release-13.21.0 Issue or pull request that will be included in release 13.21.0 label Feb 25, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

release-13.21.0 Issue or pull request that will be included in release 13.21.0 size-XL team-perps Perps team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants