Skip to content

Conversation

@n3ps
Copy link
Contributor

@n3ps n3ps commented Jan 29, 2026

Description

Reduce selector based re-render by encapsulating the useSelector usage into the component

Open in GitHub Codespaces

Changelog

CHANGELOG entry: null

Related issues

Fixes:

Manual testing steps

  1. Go to this 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

Low Risk
Low risk UI refactor that removes a prop and relies on an existing selector for the selected internal account; primary risk is runtime issues if state shape differs in edge cases or tests/stories not providing required Redux state.

Overview
TransactionActivityEmptyState no longer accepts an account prop and instead selects the active internal account via getSelectedInternalAccount, encapsulating the swap-enable logic inside the component.

All call sites in transaction-list and unified-transaction-list are updated to render the empty state without passing selectedAccount, and Storybook/tests are adjusted to remove the mock account prop and to set up internalAccounts.selectedAccount/accounts in mocked Redux state.

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

@n3ps n3ps requested a review from a team as a code owner January 29, 2026 14:25
@metamaskbot metamaskbot added the team-core-extension-ux Core Extension UX team label Jan 29, 2026
@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.

@metamaskbotv2
Copy link
Contributor

metamaskbotv2 bot commented Jan 29, 2026

✨ Files requiring CODEOWNER review ✨

👨‍🔧 @MetaMask/core-extension-ux (2 files, +3 -12)
  • 📁 ui/
    • 📁 components/
      • 📁 app/
        • 📁 transaction-list/
          • 📄 transaction-list.component.js +2 -8
          • 📄 unified-transaction-list.component.js +1 -4

@metamaskbotv2
Copy link
Contributor

metamaskbotv2 bot commented Jan 29, 2026

Builds ready [6849c02]
UI Startup Metrics (1340 ± 122 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--13401086164812214121564
load--1143930141211212081359
domContentLoaded--1135926140411212001354
domInteractive--271793182283
firstPaint--147681138116184309
backgroundConnect--23721331114242263
firstReactRender--18104762232
initialActions--1010214
loadScripts--91371311761119671122
setupStore--1463261727
numNetworkReqs--221576171570
19--------
BrowserifyPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--300915926761127837305908
load--1186975169313812951399
domContentLoaded--1166961168013512671389
domInteractive--3518145233695
firstPaint--220801413177244347
backgroundConnect--915280412583311042748
firstReactRender--26185382847
initialActions--106113
loadScripts--927734141912810211148
setupStore--1353961526
numNetworkReqs--1055522739120193
19--------
WebpackStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--82965112711189121043
load--6985861197117762957
domContentLoaded--6935821192116757952
domInteractive--251588182277
firstPaint--1005927245119188
backgroundConnect--40171172648107
firstReactRender--14103351528
initialActions--105112
loadScripts--6905801190116750950
setupStore--1062941120
numNetworkReqs--221591191574
19--------
WebpackPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--1296898228727014901713
load--73061612501087411000
domContentLoaded--7186101244109719990
domInteractive--3819193253996
firstPaint--15469948107195273
backgroundConnect--16512460675156398
firstReactRender--23174042430
initialActions--103111
loadScripts--7156081234108716981
setupStore--1242841520
numNetworkReqs--1656432654182290
19--------
FirefoxBrowserifyStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--15031159228622016481888
load--1212990190416713151544
domContentLoaded--1212990190316713151544
domInteractive--753325346107150
firstPaint--------
backgroundConnect--812736162122193
firstReactRender--14104851421
initialActions--103122
loadScripts--1165968186814312471424
setupStore--1942053012102
numNetworkReqs--231284191978
19--------
BrowserifyPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--29761941824780832543794
load--13741031237120114371763
domContentLoaded--13731031237120114371763
domInteractive--15552840115169365
firstPaint--------
backgroundConnect--53012050775837271325
firstReactRender--23153242630
initialActions--2059623
loadScripts--13061010195714813691601
setupStore--14514848155157494
numNetworkReqs--93412334597217
19--------
WebpackStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--17251459222115918182061
load--14711267171810615471665
domContentLoaded--14701266171810615471665
domInteractive--973128853132209
firstPaint--------
backgroundConnect--782823049106190
firstReactRender--15116151520
initialActions--103122
loadScripts--1428123816318915101583
setupStore--165271301346
numNetworkReqs--231281171976
19--------
WebpackPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--31142160935392832944669
load--16841292744979116522637
domContentLoaded--16841291744979116522637
domInteractive--145461332147154342
firstPaint--------
backgroundConnect--4819713023387881126
firstReactRender--22153442529
initialActions--203122
loadScripts--16441270739978916122562
setupStore--15718797191210656
numNetworkReqs--94382975097214
19--------
📊 Page Load Benchmark Results

Current Commit: 6849c02 | Date: 1/29/2026

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.04s (±39ms) 🟡 | historical mean value: 1.03s ⬆️ (historical data)
  • domContentLoaded-> current mean value: 724ms (±35ms) 🟢 | historical mean value: 719ms ⬆️ (historical data)
  • firstContentfulPaint-> current mean value: 78ms (±13ms) 🟢 | historical mean value: 77ms ⬆️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.04s 39ms 1.01s 1.31s 1.07s 1.31s
domContentLoaded 724ms 35ms 696ms 973ms 746ms 973ms
firstPaint 78ms 13ms 60ms 188ms 88ms 188ms
firstContentfulPaint 78ms 13ms 60ms 188ms 88ms 188ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs
  • background: 58 Bytes (0%)
  • ui: 42 Bytes (0%)
  • common: 20 Bytes (0%)

groupedCompletedTransactions.length === 0 ? (
<TransactionActivityEmptyState
className="mx-auto mt-5 mb-6"
account={selectedAccount}
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove the need to pass account to an Empty state component

@metamaskbotv2
Copy link
Contributor

metamaskbotv2 bot commented Jan 29, 2026

Builds ready [a514667]
UI Startup Metrics (1258 ± 119 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--12581008164911913271442
load--1074861138811011351273
domContentLoaded--1067855137910911261263
domInteractive--241590172173
firstPaint--173591398189183282
backgroundConnect--21319530615220237
firstReactRender--1784661928
initialActions--103113
loadScripts--87064111651099271074
setupStore--1263951424
numNetworkReqs--221590181575
19--------
BrowserifyPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--297516178207146033155850
load--1211992166516013331530
domContentLoaded--1193985165715712961513
domInteractive--37201762736107
firstPaint--1978152996265356
backgroundConnect--84228840359586573326
firstReactRender--26166283043
initialActions--108113
loadScripts--941742140114610381225
setupStore--1676291733
numNetworkReqs--1275527753163230
19--------
WebpackStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--86166411841119521058
load--7265971105109781956
domContentLoaded--7215941099109775951
domInteractive--251693162271
firstPaint--1086230954135214
backgroundConnect--41181953147109
firstReactRender--15102951627
initialActions--106112
loadScripts--7185921097109773949
setupStore--1153251224
numNetworkReqs--221580171573
19--------
WebpackPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--1322918226923215021636
load--72861312721177301016
domContentLoaded--71760812631177161009
domInteractive--40181552841119
firstPaint--1556859293177351
backgroundConnect--17313360688160416
firstReactRender--22183732428
initialActions--102111
loadScripts--71460612531167141000
setupStore--1242041419
numNetworkReqs--1365429759166274
19--------
FirefoxBrowserifyStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--14431146196515915511732
load--1163962176312912411396
domContentLoaded--1162962176312912401396
domInteractive--783224844108138
firstPaint--------
backgroundConnect--752524855104190
firstReactRender--14104671336
initialActions--103112
loadScripts--1123946173511211981280
setupStore--144101141335
numNetworkReqs--241287201880
19--------
BrowserifyPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--26571962722261928253686
load--12561098221913912791497
domContentLoaded--12561097221813912791497
domInteractive--1305442379150328
firstPaint--------
backgroundConnect--37311119523554581110
firstReactRender--22155462430
initialActions--218123
loadScripts--1208107515639412461425
setupStore--12415686148143477
numNetworkReqs--86392344696209
19--------
WebpackStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--16731369327926617832226
load--14301181306422814891777
domContentLoaded--14291177306322914891777
domInteractive--823022544114162
firstPaint--------
backgroundConnect--71262785185174
firstReactRender--14112521519
initialActions--103122
loadScripts--13921168303721714541757
setupStore--174222301184
numNetworkReqs--231286181875
19--------
WebpackPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--28272175446139130183493
load--15251304290923516011871
domContentLoaded--15241303290823516011871
domInteractive--13555983111159323
firstPaint--------
backgroundConnect--327881046234390951
firstReactRender--22155552430
initialActions--203123
loadScripts--14841283288123215401835
setupStore--1478751175172551
numNetworkReqs--88382765092210
19--------
📊 Page Load Benchmark Results

Current Commit: a514667 | Date: 1/29/2026

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.02s (±89ms) 🟡 | historical mean value: 1.03s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 708ms (±114ms) 🟢 | historical mean value: 719ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 87ms (±96ms) 🟢 | historical mean value: 77ms ⬆️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.02s 89ms 985ms 1.86s 1.04s 1.86s
domContentLoaded 708ms 114ms 673ms 1.82s 718ms 1.82s
firstPaint 87ms 96ms 64ms 1.04s 88ms 1.04s
firstContentfulPaint 87ms 96ms 64ms 1.04s 88ms 1.04s
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs
  • background: 58 Bytes (0%)
  • ui: 42 Bytes (0%)
  • common: 20 Bytes (0%)

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 Jan 29, 2026

Builds ready [09a5a06]
UI Startup Metrics (1323 ± 131 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--13231066169013113861580
load--1128900140712211891367
domContentLoaded--1121893140012211811361
domInteractive--2616104182380
firstPaint--156661193152188248
backgroundConnect--23321328813237266
firstReactRender--17104161928
initialActions--106112
loadScripts--90368611951219651139
setupStore--1363451623
numNetworkReqs--221583181573
19--------
BrowserifyPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--243816307970112822935239
load--1139975171716211691531
domContentLoaded--1122964170615711361503
domInteractive--43203994539116
firstPaint--200751400156239447
backgroundConnect--62228535467603822797
firstReactRender--25165482845
initialActions--1011112
loadScripts--87773014231459041241
setupStore--17663101941
numNetworkReqs--925024642111178
19--------
WebpackStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--807645103780860954
load--67658194376732816
domContentLoaded--67157893675727808
domInteractive--241590172177
firstPaint--1026132754112226
backgroundConnect--40171472747108
firstReactRender--1694461728
initialActions--103112
loadScripts--66857693475725799
setupStore--1164051121
numNetworkReqs--221582181575
19--------
WebpackPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--1298877215324114601739
load--73060814261307491035
domContentLoaded--71960114191317371030
domInteractive--36181642635107
firstPaint--1496542378200318
backgroundConnect--15813234139159259
firstReactRender--23173632529
initialActions--103112
loadScripts--71659914091297351021
setupStore--1253641419
numNetworkReqs--1415336462164271
19--------
FirefoxBrowserifyStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--14741157256020615981809
load--1173992146310612401398
domContentLoaded--1172992146210612401398
domInteractive--78362223899141
firstPaint--------
backgroundConnect--68242314888187
firstReactRender--13102421417
initialActions--113122
loadScripts--113497514228811891304
setupStore--29610481091290
numNetworkReqs--241289211883
19--------
BrowserifyPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--27951942822077729154012
load--12921045238025713141874
domContentLoaded--12921045238025713141873
domInteractive--1274457490126361
firstPaint--------
backgroundConnect--43311930544495401170
firstReactRender--21145752328
initialActions--203123
loadScripts--12271023224120912511680
setupStore--17994265442144641
numNetworkReqs--82372344793206
19--------
WebpackStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--16761347228818717652021
load--14401178203612914971651
domContentLoaded--14391177203612914971651
domInteractive--893024045129158
firstPaint--------
backgroundConnect--752526948110162
firstReactRender--14112521517
initialActions--102112
loadScripts--13921164192611114471619
setupStore--185314361279
numNetworkReqs--231285171878
19--------
WebpackPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--29652154428443031413906
load--15611245267628416662230
domContentLoaded--15611245267628416662230
domInteractive--158341307192156658
firstPaint--------
backgroundConnect--3521271074239500930
firstReactRender--2516181182532
initialActions--203123
loadScripts--15201226263227316412184
setupStore--1898817230276771
numNetworkReqs--82392834992195
19--------
📊 Page Load Benchmark Results

Current Commit: 09a5a06 | Date: 1/29/2026

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.05s (±51ms) 🟡 | historical mean value: 1.04s ⬆️ (historical data)
  • domContentLoaded-> current mean value: 732ms (±49ms) 🟢 | historical mean value: 724ms ⬆️ (historical data)
  • firstContentfulPaint-> current mean value: 78ms (±13ms) 🟢 | historical mean value: 77ms ⬆️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.05s 51ms 1.02s 1.32s 1.12s 1.32s
domContentLoaded 732ms 49ms 702ms 1.01s 779ms 1.01s
firstPaint 78ms 13ms 60ms 188ms 88ms 188ms
firstContentfulPaint 78ms 13ms 60ms 188ms 88ms 188ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 4.85 KiB (0.09%)
  • ui: 45 Bytes (0%)
  • common: 3.69 KiB (0.04%)

@metamaskbotv2
Copy link
Contributor

metamaskbotv2 bot commented Jan 29, 2026

Builds ready [7801794]
UI Startup Metrics (1335 ± 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--13351093168911614141558
load--1138916142011712031384
domContentLoaded--1131908141811611951376
domInteractive--271695182483
firstPaint--173681396162199291
backgroundConnect--23821533816243266
firstReactRender--17104651824
initialActions--105113
loadScripts--90969811881159731153
setupStore--1262641520
numNetworkReqs--221586181571
19--------
BrowserifyPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--320716158511147543945662
load--1136933150112411681406
domContentLoaded--1115923147611711481397
domInteractive--3418136243297
firstPaint--251731407217258508
backgroundConnect--1047277300292018772927
firstReactRender--24164862636
initialActions--103112
loadScripts--89372012401149201165
setupStore--1464671629
numNetworkReqs--1086025541112220
19--------
WebpackStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--84567310731009091051
load--70059396395764942
domContentLoaded--69559095393761921
domInteractive--2516116192281
firstPaint--1016128847114199
backgroundConnect--3918140224692
firstReactRender--15103141724
initialActions--105112
loadScripts--69258895092758919
setupStore--1255271226
numNetworkReqs--221583181577
19--------
WebpackPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--1329911217027015271836
load--74462111361167411030
domContentLoaded--73261611251167291023
domInteractive--3819200263797
firstPaint--175661001129222377
backgroundConnect--15613237736158193
firstReactRender--22183532428
initialActions--105111
loadScripts--72961411151147271016
setupStore--1242551520
numNetworkReqs--1576534557171303
19--------
FirefoxBrowserifyStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--15071163360627515781865
load--1204988186715212601556
domContentLoaded--1204982186715212591556
domInteractive--69341683491136
firstPaint--------
backgroundConnect--742531856100202
firstReactRender--13105461418
initialActions--103122
loadScripts--1165967184013712151400
setupStore--13372131045
numNetworkReqs--231286191880
19--------
BrowserifyPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--307219117862109631696447
load--13381071209122114411877
domContentLoaded--13381070209022114411876
domInteractive--1535160997182333
firstPaint--------
backgroundConnect--59812539065088161397
firstReactRender--21143542327
initialActions--207123
loadScripts--12271046195314512911484
setupStore--185214107426211635
numNetworkReqs--96402514697220
19--------
WebpackStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--16931382229719218462101
load--14451196200514315481692
domContentLoaded--14441195200414415481692
domInteractive--912923354132212
firstPaint--------
backgroundConnect--742823146101159
firstReactRender--15115651521
initialActions--103122
loadScripts--14021174198712614891591
setupStore--165240301259
numNetworkReqs--231288191977
19--------
WebpackPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--29482146767460931363708
load--15691290580946716041989
domContentLoaded--15681290580946716041989
domInteractive--14543826112180324
firstPaint--------
backgroundConnect--4571201257293736989
firstReactRender--21157572329
initialActions--203122
loadScripts--15251270571446215461957
setupStore--11917746146119543
numNetworkReqs--94412324299199
19--------
📊 Page Load Benchmark Results

Current Commit: 7801794 | Date: 1/29/2026

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.04s (±39ms) 🟡 | historical mean value: 1.04s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 722ms (±37ms) 🟢 | historical mean value: 725ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 76ms (±11ms) 🟢 | historical mean value: 79ms ⬇️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.04s 39ms 1.01s 1.31s 1.07s 1.31s
domContentLoaded 722ms 37ms 695ms 990ms 753ms 990ms
firstPaint 76ms 11ms 60ms 160ms 84ms 160ms
firstContentfulPaint 76ms 11ms 60ms 160ms 84ms 160ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 5.26 KiB (0.1%)
  • ui: 451 Bytes (0.01%)
  • common: 3.73 KiB (0.04%)

@n3ps n3ps added this pull request to the merge queue Jan 29, 2026
github-merge-queue bot pushed a commit that referenced this pull request Jan 29, 2026
<!--
Please submit this PR as a draft initially.
Do not mark it as "Ready for review" until the template has been
completely filled out, and PR status checks have passed at least once.
-->

## **Description**

Reduce selector based re-render by encapsulating the useSelector usage
into the component

[![Open in GitHub
Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/39637?quickstart=1)

## **Changelog**

<!--
If this PR is not End-User-Facing and should not show up in the
CHANGELOG, you can choose to either:
1. Write `CHANGELOG entry: null`
2. Label with `no-changelog`

If this PR is End-User-Facing, please write a short User-Facing
description in the past tense like:
`CHANGELOG entry: Added a new tab for users to see their NFTs`
`CHANGELOG entry: Fixed a bug that was causing some NFTs to flicker`

(This helps the Release Engineer do their job more quickly and
accurately)
-->

CHANGELOG entry: null

## **Related issues**

Fixes:

## **Manual testing steps**

1. Go to this page...
2.
3.

## **Screenshots/Recordings**

<!-- If applicable, add screenshots and/or recordings to visualize the
before and after of your change. -->

### **Before**

<!-- [screenshots/recordings] -->

### **After**

<!-- [screenshots/recordings] -->

## **Pre-merge author checklist**

- [ ] I've followed [MetaMask Contributor
Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask
Extension Coding
Standards](https://github.com/MetaMask/metamask-extension/blob/main/.github/guidelines/CODING_GUIDELINES.md).
- [ ] I've completed the PR template to the best of my ability
- [ ] I’ve included tests if applicable
- [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [ ] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-extension/blob/main/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.

## **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.


<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Low Risk**
> Low risk UI refactor that removes a prop and relies on an existing
selector for the selected internal account; primary risk is runtime
issues if state shape differs in edge cases or tests/stories not
providing required Redux state.
> 
> **Overview**
> `TransactionActivityEmptyState` no longer accepts an `account` prop
and instead selects the active internal account via
`getSelectedInternalAccount`, encapsulating the swap-enable logic inside
the component.
> 
> All call sites in `transaction-list` and `unified-transaction-list`
are updated to render the empty state without passing `selectedAccount`,
and Storybook/tests are adjusted to remove the mock account prop and to
set up `internalAccounts.selectedAccount`/`accounts` in mocked Redux
state.
> 
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
7801794. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Jan 29, 2026
@n3ps n3ps added this pull request to the merge queue Jan 29, 2026
Merged via the queue into main with commit 3818965 Jan 30, 2026
187 checks passed
@n3ps n3ps deleted the n3ps/empty-state-tweak branch January 30, 2026 01:11
@github-actions github-actions bot locked and limited conversation to collaborators Jan 30, 2026
@metamaskbot metamaskbot added the release-13.18.0 Issue or pull request that will be included in release 13.18.0 label Jan 30, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

release-13.18.0 Issue or pull request that will be included in release 13.18.0 size-M team-core-extension-ux Core Extension UX team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants