Skip to content

Conversation

@geositta
Copy link
Contributor

@geositta geositta commented Jan 16, 2026

Description

Implements searchable, filterable market list view for Perps with global search access from the home tab.

New Page: /perps/market-list

  • Search across all markets (crypto + HIP-3 assets) with real-time filtering
  • Filter by market type: All, Crypto, Stocks & Commodities (with sub-filters)
  • Sort by: Volume, Price Change, Open Interest, Funding Rate
  • Search bypasses filters to match mobile behavior

Architecture

  • Extracted business logic into composable hooks (usePerpsMarkets, usePerpsSearch, usePerpsSorting, usePerpsMarketListView)
  • Reusable Dropdown component with mobile-aligned styling (borderRadius: 8, muted background, opacity press state)
  • Volume parsing utility handles magnitude suffixes ($1.2B, $850M, $500K)

Navigation

  • Added search icon to PerpsTabView header for global market search access
  • New route: PERPS_MARKET_LIST_ROUTE

Technical Notes

  • Uses mock data; ready for PerpsController integration
  • Feature-flagged under perpsEnabledVersion
  • Mobile parity with metamask-mobile PR #24456

Open in GitHub Codespaces

Changelog

CHANGELOG entry: Added searchable market list view for Perps with filtering and sorting capabilities

Related issues

Fixes:

Manual testing steps

Testing

  1. Navigate to Perps tab → tap search icon
  2. Verify search filters across all market types
  3. Verify filter/sort dropdowns function correctly
  4. Verify market row navigation to detail page

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

Adds a dedicated, feature-flagged markets list experience for Perps with search, filter, and sort, and integrates navigation from the Perps tab.

  • New PERPS_MARKET_LIST_ROUTE with lazy-loaded MarketListView and back navigation; updates routes and ROUTES
  • Header search button in PerpsTabView navigates to market list
  • Market list: search across all markets, filter (All/Crypto/Stocks with sub-filter), and sort (Volume/Price Change/Open Interest/Funding Rate)
  • New reusable UI components: Dropdown, FilterSelect, StockSubFilterSelect, SortDropdown, SearchInput, MarketRow, MarketRowSkeleton
  • Utilities/constants: filterMarketsByQuery, sortMarkets (with parseVolume), PERPS_CONSTANTS, MARKET_SORTING_CONFIG
  • i18n additions for labels (filters, sorts, markets, empty/search text)
  • Comprehensive tests for components, utils, and view; console baseline updated

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

@github-actions
Copy link
Contributor

github-actions bot commented Jan 16, 2026

CLA Signature Action: All authors have signed the CLA. You may need to manually re-run the blocking PR check if it doesn't pass in a few minutes.

@metamaskbotv2
Copy link
Contributor

metamaskbotv2 bot commented Jan 16, 2026

✨ Files requiring CODEOWNER review ✨

👨‍🔧 @MetaMask/perps (26 files, +1757 -11)
  • 📁 ui/
    • 📁 components/
      • 📁 app/
        • 📁 perps/
          • 📄 constants.ts +29 -0
          • 📄 index.ts +14 -1
          • 📄 perps-tab-view.tsx +36 -1
          • 📄 utils.test.ts +84 -0
          • 📄 utils.ts +30 -0
    • 📁 hooks/
      • 📁 perps/
        • 📄 index.ts +0 -9
    • 📁 pages/
      • 📁 perps/
        • 📁 market-list/
          • 📁 components/
            • 📁 dropdown/
              • 📄 dropdown.test.tsx +180 -0
              • 📄 dropdown.tsx +228 -0
              • 📄 index.ts +1 -0
            • 📁 filter-select/
              • 📄 filter-select.tsx +46 -0
              • 📄 index.ts +2 -0
            • 📁 market-row/
              • 📄 index.ts +2 -0
              • 📄 market-row.test.tsx +183 -0
              • 📄 market-row.tsx +153 -0
            • 📁 market-row-skeleton/
              • 📄 index.ts +1 -0
              • 📄 market-row-skeleton.tsx +64 -0
            • 📁 search-input/
              • 📄 index.ts +2 -0
              • 📄 search-input.test.tsx +136 -0
              • 📄 search-input.tsx +65 -0
            • 📁 sort-dropdown/
              • 📄 index.ts +6 -0
              • 📄 sort-dropdown.test.tsx +146 -0
              • 📄 sort-dropdown.tsx +102 -0
            • 📁 stock-sub-filter/
              • 📄 index.ts +5 -0
              • 📄 stock-sub-filter.tsx +46 -0
            • 📄 index.test.tsx +195 -0
          • 📄 index.ts +1 -0

@geositta
Copy link
Contributor Author

CLA Signature Action:
I have read the CLA Document and I hereby sign the CLA

@metamaskbotv2
Copy link
Contributor

metamaskbotv2 bot commented Jan 16, 2026

Builds ready [067ea55]
UI Startup Metrics (1302 ± 106 ms)
PlatformBuildTypePageMetricTest Title (ms)Persona (ms)Mean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--13021037161710613661528
load--108589113559611441201
domContentLoaded--107888613489611381196
domInteractive--2616117192382
firstPaint--186671175195200284
backgroundConnect--22019926812224246
firstReactRender--17103861934
getState--371682124361
initialActions--105112
loadScripts--866673112995928984
setupStore--1374361424
numNetworkReqs--171179151164
19--------
BrowserifyPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--18961584264720420002316
load--1027889181613510451328
domContentLoaded--1013882179613410261319
domInteractive--35171402733114
firstPaint--1716463691228334
backgroundConnect--274203645118243605
firstReactRender--21154142328
getState--17413072360187223
initialActions--104112
loadScripts--80167515771318111106
setupStore--19105182039
numNetworkReqs--59372082761126
19--------
WebpackStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--8066521143898351010
load--65057591174677798
domContentLoaded--64557090673672793
domInteractive--261693192383
firstPaint--1106132254143219
backgroundConnect--285127284295
firstReactRender--16106461723
getState--3415148194158
initialActions--107112
loadScripts--64256889672670785
setupStore--1264371329
numNetworkReqs--171173171168
19--------
WebpackPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--1343810219826515421852
load--663586117192669876
domContentLoaded--654581116292655865
domInteractive--34172043132101
firstPaint--13261849103146330
backgroundConnect--114663320330576
firstReactRender--23153942529
getState--14512219015154174
initialActions--104112
loadScripts--651578115290652862
setupStore--1664681739
numNetworkReqs--1044031952137229
19--------
FirefoxBrowserifyStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--13521028227520614551708
load--1090879210915711631347
domContentLoaded--1090879210815711621347
domInteractive--7929113611591138
firstPaint--------
backgroundConnect--60173205766181
firstReactRender--1293941217
getState--146150191036
initialActions--103122
loadScripts--1054865209214211061233
setupStore--134171171227
numNetworkReqs--19985191472
19--------
BrowserifyPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--26111947559864825884192
load--12991053273835912572236
domContentLoaded--12981053273735912572235
domInteractive--137351011146116506
firstPaint--------
backgroundConnect--135241089177121366
firstReactRender--261696132662
getState--30766855241466811
initialActions--207123
loadScripts--12511024271431812292033
setupStore--1446757182130584
numNetworkReqs--61301703883163
19--------
WebpackStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--16991402248821118042099
load--14071147169513015281632
domContentLoaded--14061146169513015281632
domInteractive--773116640102150
firstPaint--------
backgroundConnect--73233806687212
firstReactRender--16123031724
getState--2392543517111
initialActions--103122
loadScripts--13631132167311614511560
setupStore--2452774514125
numNetworkReqs--19980191476
19--------
WebpackPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--29052128764588829494558
load--16471196638673316323111
domContentLoaded--16461190638673316303111
domInteractive--124301233173102423
firstPaint--------
backgroundConnect--170301312230178988
firstReactRender--23155562732
getState--31281902254507826
initialActions--203123
loadScripts--15801174636368515672891
setupStore--87974113281473
numNetworkReqs--60281673968160
19--------
📊 Page Load Benchmark Results

Current Commit: 067ea55 | Date: 1/16/2026

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.03s (±37ms) 🟡 | historical mean value: 1.04s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 717ms (±35ms) 🟢 | historical mean value: 721ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 76ms (±11ms) 🟢 | historical mean value: 78ms ⬇️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.03s 37ms 1.00s 1.31s 1.06s 1.31s
domContentLoaded 717ms 35ms 695ms 985ms 741ms 985ms
firstPaint 76ms 11ms 60ms 164ms 84ms 164ms
firstContentfulPaint 76ms 11ms 60ms 164ms 84ms 164ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 58 Bytes (0%)
  • ui: 44.47 KiB (0.56%)
  • common: 236 Bytes (0%)

@metamaskbotv2
Copy link
Contributor

metamaskbotv2 bot commented Jan 16, 2026

Builds ready [7ace56c]
UI Startup Metrics (1231 ± 116 ms)
PlatformBuildTypePageMetricTest Title (ms)Persona (ms)Mean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--1231965164011613131425
load--1028824135710310911216
domContentLoaded--1020817132610210831208
domInteractive--2614113212089
firstPaint--186601056193181884
backgroundConnect--20018024214207231
firstReactRender--1693351727
getState--3816106144363
initialActions--105111
loadScripts--82864111151028951017
setupStore--1272941422
numNetworkReqs--181186191173
19--------
BrowserifyPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--18521550246617819332314
load--1022906158811810391308
domContentLoaded--1008898158011810221298
domInteractive--3417171253397
firstPaint--195681340178224385
backgroundConnect--260206686109234602
firstReactRender--21165052329
getState--17113326027190221
initialActions--105111
loadScripts--79868713371158091098
setupStore--1876881935
numNetworkReqs--59381452561127
19--------
WebpackStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--85267211301029061076
load--69659498395774907
domContentLoaded--69158997795767898
domInteractive--251494202085
firstPaint--13260866115172237
backgroundConnect--2651683226105
firstReactRender--16103541726
getState--301568123953
initialActions--104112
loadScripts--68758797593764896
setupStore--1265171227
numNetworkReqs--181182181171
19--------
WebpackPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--1374977205326115751939
load--68859096081703890
domContentLoaded--67858595481693881
domInteractive--33171482433103
firstPaint--1426635065186274
backgroundConnect--73864416520595
firstReactRender--23183842430
getState--15212723019161184
initialActions--103111
loadScripts--67558294579691873
setupStore--1895591842
numNetworkReqs--973723548132218
19--------
FirefoxBrowserifyStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--13551074171915614631620
load--1094923145011811541345
domContentLoaded--1093919145011811531344
domInteractive--773423546120148
firstPaint--------
backgroundConnect--56202574572150
firstReactRender--13103841319
getState--12684111225
initialActions--103122
loadScripts--1058908137710311161238
setupStore--13584131142
numNetworkReqs--20990201478
19--------
BrowserifyPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--25941788554377125264885
load--12921044292540812672537
domContentLoaded--12921044292440812672536
domInteractive--13834979148117458
firstPaint--------
backgroundConnect--128321131184107362
firstReactRender--22146382530
getState--29071891243440817
initialActions--213123
loadScripts--1243996272737911872500
setupStore--1377783172168623
numNetworkReqs--59291713586146
19--------
WebpackStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--16541299215319218072036
load--13601149167210614321552
domContentLoaded--13591149167210614321552
domInteractive--972924744129180
firstPaint--------
backgroundConnect--62182164369161
firstReactRender--17125961827
getState--3283055123141
initialActions--103122
loadScripts--1321113416499513731489
setupStore--245250381891
numNetworkReqs--19981191575
19--------
WebpackPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--28582010499370128244390
load--16291211318249117762793
domContentLoaded--16281211318149117762793
domInteractive--138301071181110574
firstPaint--------
backgroundConnect--150291160207131526
firstReactRender--23173752732
getState--31370900253509844
initialActions--208123
loadScripts--15541193298341417582634
setupStore--10911739153114572
numNetworkReqs--60301693986159
19--------
📊 Page Load Benchmark Results

Current Commit: 7ace56c | Date: 1/16/2026

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.04s (±43ms) 🟡 | historical mean value: 1.03s ⬆️ (historical data)
  • domContentLoaded-> current mean value: 727ms (±65ms) 🟢 | historical mean value: 719ms ⬆️ (historical data)
  • firstContentfulPaint-> current mean value: 81ms (±43ms) 🟢 | historical mean value: 77ms ⬆️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.04s 43ms 1.01s 1.37s 1.06s 1.37s
domContentLoaded 727ms 65ms 702ms 1.32s 742ms 1.32s
firstPaint 81ms 43ms 60ms 508ms 88ms 508ms
firstContentfulPaint 81ms 43ms 60ms 508ms 88ms 508ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: -5.75 KiB (-0.11%)
  • ui: 29.84 KiB (0.38%)
  • common: 89.21 KiB (1%)

@metamaskbotv2
Copy link
Contributor

metamaskbotv2 bot commented Jan 20, 2026

Builds ready [e9b8d22]
UI Startup Metrics (1291 ± 108 ms)
PlatformBuildTypePageMetricTest Title (ms)Persona (ms)Mean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--12911055162710813521487
load--109187413979911341285
domContentLoaded--108486913759911301280
domInteractive--2716116182479
firstPaint--161651124151188311
backgroundConnect--22020027512225245
firstReactRender--1793761931
getState--37216994254
initialActions--104113
loadScripts--8726571138989201067
setupStore--1383551424
numNetworkReqs--171168151161
19--------
BrowserifyPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--19121505263920219932411
load--1029920135810410511277
domContentLoaded--1016909134910410431268
domInteractive--35171742833107
firstPaint--1637142673221289
backgroundConnect--261204627106234589
firstReactRender--22165462431
getState--17913272762191232
initialActions--102011
loadScripts--80569511321038271059
setupStore--1884571841
numNetworkReqs--58371402261111
19--------
WebpackStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--782626101685832940
load--63355684773702778
domContentLoaded--62755184173695771
domInteractive--241488182175
firstPaint--1085458569147215
backgroundConnect--3561443654113
firstReactRender--16113341629
getState--2914153213352
initialActions--107112
loadScripts--62454883972690764
setupStore--1164361425
numNetworkReqs--181180181170
19--------
WebpackPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--13691001216727915421937
load--690587101489693915
domContentLoaded--680580100789683905
domInteractive--36161773134117
firstPaint--1386240068184259
backgroundConnect--76763116021529
firstReactRender--22163942431
getState--14912721517156181
initialActions--102011
loadScripts--67757899688681899
setupStore--1774781841
numNetworkReqs--853522043127158
19--------
FirefoxBrowserifyStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--13591079213716614341641
load--1093926164811411361314
domContentLoaded--1092926164811411361314
domInteractive--823426047111168
firstPaint--------
backgroundConnect--52214015056142
firstReactRender--1393231317
getState--136186201021
initialActions--103122
loadScripts--106191115229611071212
setupStore--165238281250
numNetworkReqs--19979191475
19--------
BrowserifyPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--25971818522276925414752
load--12861009312944511992595
domContentLoaded--12861008312844511992595
domInteractive--1073449072114269
firstPaint--------
backgroundConnect--125251144162113373
firstReactRender--2415119142433
getState--307831024253459827
initialActions--203123
loadScripts--1233987294539711672446
setupStore--13710784177119637
numNetworkReqs--5030106217491
19--------
WebpackStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--15741197216219116572054
load--13111091175411613741504
domContentLoaded--13111090175411613741504
domInteractive--852824648129141
firstPaint--------
backgroundConnect--61192184572163
firstReactRender--15112621619
getState--218222311667
initialActions--102122
loadScripts--12761076173610413401400
setupStore--2042433714111
numNetworkReqs--18978171370
19--------
WebpackPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--28751941491385133194678
load--16201192320359116073037
domContentLoaded--16201192320359116063037
domInteractive--130301262185106462
firstPaint--------
backgroundConnect--138251331205116428
firstReactRender--2516128162649
getState--28885852217426730
initialActions--216123
loadScripts--15371168305650515402929
setupStore--1235756178112594
numNetworkReqs--4929107196986
19--------
📊 Page Load Benchmark Results

Current Commit: e9b8d22 | Date: 1/20/2026

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.05s (±55ms) 🟡 | historical mean value: 1.05s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 733ms (±52ms) 🟢 | historical mean value: 732ms ⬆️ (historical data)
  • firstContentfulPaint-> current mean value: 77ms (±13ms) 🟢 | historical mean value: 80ms ⬇️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.05s 55ms 1.01s 1.37s 1.12s 1.37s
domContentLoaded 733ms 52ms 702ms 1.03s 786ms 1.03s
firstPaint 77ms 13ms 60ms 188ms 88ms 188ms
firstContentfulPaint 77ms 13ms 60ms 188ms 88ms 188ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 2.62 KiB (0.05%)
  • ui: 32.41 KiB (0.41%)
  • common: 87.96 KiB (0.98%)

@geositta
Copy link
Contributor Author

I have read the CLA Document and I hereby sign the CLA

@geositta geositta marked this pull request as ready for review January 20, 2026 16:04
@geositta geositta requested a review from a team as a code owner January 20, 2026 16:04
cursor[bot]

This comment was marked as outdated.

cursor[bot]

This comment was marked as outdated.

@metamaskbotv2
Copy link
Contributor

metamaskbotv2 bot commented Jan 22, 2026

Builds ready [8a52a6f]
UI Startup Metrics (1331 ± 117 ms)
PlatformBuildTypePageMetricTest Title (ms)Persona (ms)Mean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--13311031169211713971566
load--1114882145911511821342
domContentLoaded--1107871145411511761336
domInteractive--271788172380
firstPaint--181661178205190327
backgroundConnect--22120025611226246
firstReactRender--1684651725
getState--351899114057
initialActions--105112
loadScripts--89466412321129541108
setupStore--1383041422
numNetworkReqs--181272161267
19--------
BrowserifyPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--277416947904132734405827
load--1080909139012211731329
domContentLoaded--1064894138412111581303
domInteractive--3217116183485
firstPaint--191721284167225312
backgroundConnect--53920927515335831840
firstReactRender--23164552531
getState--2561291140212224862
initialActions--102111
loadScripts--84068911451099241051
setupStore--19657102141
numNetworkReqs--84392414194211
19--------
WebpackStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--799652107081855952
load--64257879460660777
domContentLoaded--63757379060655771
domInteractive--251696172177
firstPaint--1006025544124191
backgroundConnect--266155293593
firstReactRender--15102941723
getState--3415148214367
initialActions--104112
loadScripts--63457178759653763
setupStore--1375591436
numNetworkReqs--181276171268
19--------
WebpackPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--1302925274629613932013
load--706606102095733930
domContentLoaded--694601100094712921
domInteractive--38191502837114
firstPaint--1456639470179305
backgroundConnect--41662510919317
firstReactRender--22163232428
getState--14712325419157183
initialActions--103111
loadScripts--69259999893709917
setupStore--1984891945
numNetworkReqs--1355731647151242
19--------
FirefoxBrowserifyStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--13931145196614414701663
load--1130962152810712011322
domContentLoaded--1130962152810712011322
domInteractive--813517740109144
firstPaint--------
backgroundConnect--49211272764119
firstReactRender--15108791433
getState--136121151132
initialActions--102122
loadScripts--109694914129811601298
setupStore--13693131234
numNetworkReqs--201091191476
19--------
BrowserifyPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--27932041880780729134155
load--13241045283027814232027
domContentLoaded--13241045283027814232026
domInteractive--164371211149219409
firstPaint--------
backgroundConnect--4253857096716331235
firstReactRender--241669102458
getState--226821390197242688
initialActions--204123
loadScripts--12821028273026813881895
setupStore--1277733144139547
numNetworkReqs--69311812983132
19--------
WebpackStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--16271385207516917221990
load--13541193180611614141600
domContentLoaded--13541193180511614141599
domInteractive--962923744130165
firstPaint--------
backgroundConnect--58182073958153
firstReactRender--16115251624
getState--208159251790
initialActions--103122
loadScripts--13191163172610713751517
setupStore--2361713514113
numNetworkReqs--211081191678
19--------
WebpackPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--28082196732262029574053
load--15761253604454515912561
domContentLoaded--15751252604354515912561
domInteractive--154351338153195391
firstPaint--------
backgroundConnect--211391306240201798
firstReactRender--25176272834
getState--29791824231498771
initialActions--208123
loadScripts--15341196600253715342501
setupStore--10415606122108438
numNetworkReqs--66321762978130
19--------
📊 Page Load Benchmark Results

Current Commit: 8a52a6f | Date: 1/22/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: 720ms (±36ms) 🟢 | historical mean value: 723ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 77ms (±10ms) 🟢 | historical mean value: 79ms ⬇️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.03s 38ms 1.02s 1.32s 1.05s 1.32s
domContentLoaded 720ms 36ms 702ms 990ms 735ms 990ms
firstPaint 77ms 10ms 64ms 164ms 88ms 164ms
firstContentfulPaint 77ms 10ms 64ms 164ms 88ms 164ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 58 Bytes (0%)
  • ui: 32.47 KiB (0.41%)
  • common: 733 Bytes (0.01%)

@aganglada
Copy link
Contributor

I think the search should go in another place right? Like inside the start trade
Screenshot 2026-01-22 at 17 15 26

Then when searching we should have more categories right? Commodities...etc.
Screenshot 2026-01-22 at 17 15 11

Everything else looks 💅

@gambinish
Copy link
Contributor

I think the search should go in another place right? Like inside the start trade <img alt="Screenshot 2026-01-22 at 17 15

This is a temporary placeholder. We'll remove this link when rebasing with this PR: #39302

The entry point is from the Perps Home screen

@geositta geositta enabled auto-merge January 22, 2026 16:22
@metamaskbotv2
Copy link
Contributor

metamaskbotv2 bot commented Jan 22, 2026

Builds ready [e4edf37]
UI Startup Metrics (1228 ± 109 ms)
PlatformBuildTypePageMetricTest Title (ms)Persona (ms)Mean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--1228976157410913041415
load--1029815131110110781193
domContentLoaded--1022808130510010711186
domInteractive--241493191981
firstPaint--2255913062771791060
backgroundConnect--19817824413203223
firstReactRender--15104161728
getState--341768104052
initialActions--105113
loadScripts--834631110899885995
setupStore--1163141223
numNetworkReqs--191279171272
19--------
BrowserifyPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--305616177788150241086711
load--1102896168815112261410
domContentLoaded--1085883167915012001396
domInteractive--39173484633113
firstPaint--2557115182652421018
backgroundConnect--715193270672710992559
firstReactRender--21174042329
getState--36715321283883421608
initialActions--103111
loadScripts--87369514621429601190
setupStore--16672121940
numNetworkReqs--89472313596173
19--------
WebpackStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--819680105176860975
load--66059183563692794
domContentLoaded--65558683163688788
domInteractive--2617102182374
firstPaint--1076130751140217
backgroundConnect--2451532830102
firstReactRender--17113851928
getState--341678144761
initialActions--106112
loadScripts--65258482861685779
setupStore--146233231323
numNetworkReqs--181279171268
19--------
WebpackPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--1277890221822613791780
load--684606100370693845
domContentLoaded--67359999870676836
domInteractive--35191472433111
firstPaint--1386731360182271
backgroundConnect--387632992651
firstReactRender--21174232226
getState--14812729320152180
initialActions--102011
loadScripts--67059799069674827
setupStore--1764671834
numNetworkReqs--92402783695168
19--------
FirefoxBrowserifyStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--13781071195818014881769
load--1112923172714311811384
domContentLoaded--1111923172714311811384
domInteractive--68312914689146
firstPaint--------
backgroundConnect--52182174057140
firstReactRender--13104261321
getState--146190211232
initialActions--102122
loadScripts--1079909170212711491279
setupStore--144214241047
numNetworkReqs--191084171470
19--------
BrowserifyPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--27662024748272829723702
load--13361063237331414302287
domContentLoaded--13361062237331414302287
domInteractive--168521310155192417
firstPaint--------
backgroundConnect--5032847016318061479
firstReactRender--251473102453
getState--24364765183299669
initialActions--203123
loadScripts--1271991232727513492126
setupStore--1112249490151300
numNetworkReqs--78341552487123
19--------
WebpackStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--16331353219016217042009
load--1365117416119514131552
domContentLoaded--1365117316119514131552
domInteractive--982923040130149
firstPaint--------
backgroundConnect--64192384491140
firstReactRender--15115451520
getState--188154211651
initialActions--103112
loadScripts--1327116015598013781468
setupStore--194332391341
numNetworkReqs--191072161570
19--------
WebpackPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--27352076664052728643509
load--14551201528542315221702
domContentLoaded--14551200528442315221702
domInteractive--1514949399193383
firstPaint--------
backgroundConnect--3963213193316371079
firstReactRender--21153742329
getState--24767866193321745
initialActions--203122
loadScripts--14131177524141614671663
setupStore--10616709113131321
numNetworkReqs--78321722787141
19--------
📊 Page Load Benchmark Results

Current Commit: e4edf37 | Date: 1/22/2026

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.03s (±41ms) 🟡 | historical mean value: 1.04s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 721ms (±38ms) 🟢 | historical mean value: 723ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 76ms (±12ms) 🟢 | historical mean value: 79ms ⬇️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.03s 41ms 1.00s 1.31s 1.07s 1.31s
domContentLoaded 721ms 38ms 695ms 977ms 753ms 977ms
firstPaint 76ms 12ms 60ms 184ms 84ms 184ms
firstContentfulPaint 76ms 12ms 60ms 184ms 84ms 184ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 58 Bytes (0%)
  • ui: 32.47 KiB (0.41%)
  • common: 733 Bytes (0.01%)

@geositta geositta added this pull request to the merge queue Jan 22, 2026
Merged via the queue into main with commit 718abe4 Jan 22, 2026
353 of 357 checks passed
@geositta geositta deleted the perps/search-market-list branch January 22, 2026 18:32
@github-actions github-actions bot locked and limited conversation to collaborators Jan 22, 2026
@metamaskbot metamaskbot added the release-13.16.0 Issue or pull request that will be included in release 13.16.0 label Jan 22, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants