Skip to content

Conversation

gantunesr
Copy link
Member

@gantunesr gantunesr commented Sep 11, 2025

Description

Open in GitHub Codespaces

Adds new selector to select the source address for an account group to be used as a seed for the icon generation.

Changelog

CHANGELOG entry: null

Related issues

Fixes: N/A

Manual testing steps

  1. Open the account list
  2. Check the icons are correctly generated

Screenshots/Recordings

Before

After

Screenshot 2025-09-11 at 5 09 21 PM Screenshot 2025-09-11 at 5 12 00 PM Screenshot 2025-09-11 at 5 12 16 PM

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.

@metamaskbot
Copy link
Collaborator

metamaskbot commented Sep 11, 2025

✨ Files requiring CODEOWNER review ✨

🔑 @MetaMask/accounts-engineers (7 files, +136 -56)
  • 📁 ui/
    • 📁 components/
      • 📁 multichain-accounts/
        • 📁 multichain-account-cell/
          • 📄 multichain-account-cell.test.tsx +1 -1
          • 📄 multichain-account-cell.tsx +6 -1
        • 📁 multichain-account-list/
          • 📄 multichain-account-list.test.tsx +21 -7
    • 📁 pages/
      • 📁 multichain-accounts/
        • 📁 multichain-accounts-connect-page/
          • 📁 __snapshots__/
            • 📄 multichain-accounts-connect-page.test.tsx.snap +24 -24
            • 📄 multichain-accounts-connect-page.test.tsx +22 -22
    • 📁 selectors/
      • 📁 multichain-accounts/
        • 📄 account-tree.test.ts +32 -0
        • 📄 account-tree.ts +30 -1

@gantunesr gantunesr marked this pull request as ready for review September 11, 2025 21:28
@gantunesr gantunesr requested a review from a team as a code owner September 11, 2025 21:28
cursor[bot]

This comment was marked as outdated.

@metamaskbot
Copy link
Collaborator

📊 Page Load Benchmark Results

Current Commit: 829eb62 | Date: 9/11/2025

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.04s (±71ms) 🟡 | historical mean value: 1.10s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 730ms (±68ms) 🟢 | historical mean value: 784ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 75ms (±12ms) 🟢 | historical mean value: 84ms ⬇️ (historical data)
📈 Detailed Results
Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.04s 71ms 1.01s 1.31s 1.26s 1.31s
domContentLoaded 730ms 68ms 698ms 996ms 930ms 996ms
firstPaint 75ms 12ms 56ms 176ms 84ms 176ms
firstContentfulPaint 75ms 12ms 56ms 176ms 84ms 176ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms

Results generated automatically by MetaMask CI

@metamaskbot
Copy link
Collaborator

Builds ready [829eb62]
UI Startup Metrics (1270 ± 74 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyHomeuiStartup1270113415087413071392
load109998413186711491205
domContentLoaded109197813016711421199
domInteractive19145281845
firstPaint67890124144610991183
backgroundConnect2492382797253262
firstReactRender25185162737
getState15590111828
initialActions40224510
loadScripts849736103966897965
setupStore1051931116
WebpackHomeuiStartup19901535266626821712478
load15901234199221317401911
domContentLoaded15801220198021417291891
domInteractive181286141554
firstPaint1586536156175277
backgroundConnect4216408683290
firstReactRender86373386484294
getState215301481328
initialActions62295620
loadScripts15761217196821217271879
setupStore236301531463
FirefoxBrowserifyHomeuiStartup13401198180810813911526
load1164105413767312151297
domContentLoaded1164105413767312151297
domInteractive993228047106219
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect3217124183479
firstReactRender26226252835
getState8218520614
initialActions509412313
loadScripts1140100613497111991247
setupStore1049613735
WebpackHomeuiStartup15991398206315316961888
load13621177172813614591620
domContentLoaded13621176172713614591620
domInteractive1103238870105310
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect33228083846
firstReactRender46377454856
getState6318269
initialActions3113237
loadScripts13381150170913614371597
setupStore95667915
Benchmark value 1270 exceeds gate value 1234 for chrome browserify home mean uiStartup
Benchmark value 1099 exceeds gate value 1070 for chrome browserify home mean load
Benchmark value 1092 exceeds gate value 1061 for chrome browserify home mean domContentLoaded
Benchmark value 249 exceeds gate value 10 for chrome browserify home mean backgroundConnect
Benchmark value 25 exceeds gate value 23 for chrome browserify home mean firstReactRender
Benchmark value 5 exceeds gate value 1 for chrome browserify home mean initialActions
Benchmark value 850 exceeds gate value 830 for chrome browserify home mean loadScripts
Benchmark value 1392 exceeds gate value 1365 for chrome browserify home p95 uiStartup
Benchmark value 1206 exceeds gate value 1190 for chrome browserify home p95 load
Benchmark value 1199 exceeds gate value 1180 for chrome browserify home p95 domContentLoaded
Benchmark value 46 exceeds gate value 41 for chrome browserify home p95 domInteractive
Benchmark value 1184 exceeds gate value 1180 for chrome browserify home p95 firstPaint
Benchmark value 262 exceeds gate value 18 for chrome browserify home p95 backgroundConnect
Benchmark value 10 exceeds gate value 1.2 for chrome browserify home p95 initialActions
Benchmark value 966 exceeds gate value 940 for chrome browserify home p95 loadScripts
Benchmark value 43 exceeds gate value 40 for chrome webpack home mean backgroundConnect
Benchmark value 2478 exceeds gate value 2454 for chrome webpack home p95 uiStartup
Benchmark value 20 exceeds gate value 7 for chrome webpack home p95 initialActions
Benchmark value 32 exceeds gate value 25 for firefox browserify home mean backgroundConnect
Benchmark value 27 exceeds gate value 25 for firefox browserify home mean firstReactRender
Benchmark value 5 exceeds gate value 1 for firefox browserify home mean initialActions
Benchmark value 11 exceeds gate value 9 for firefox browserify home mean setupStore
Benchmark value 219 exceeds gate value 195 for firefox browserify home p95 domInteractive
Benchmark value 79 exceeds gate value 70 for firefox browserify home p95 backgroundConnect
Benchmark value 13 exceeds gate value 2 for firefox browserify home p95 initialActions
Benchmark value 35 exceeds gate value 27 for firefox browserify home p95 setupStore
Benchmark value 110 exceeds gate value 100 for firefox webpack home mean domInteractive
Benchmark value 34 exceeds gate value 26 for firefox webpack home mean backgroundConnect
Benchmark value 46 exceeds gate value 38 for firefox webpack home mean firstReactRender
Benchmark value 4 exceeds gate value 1 for firefox webpack home mean initialActions
Benchmark value 310 exceeds gate value 156 for firefox webpack home p95 domInteractive
Benchmark value 56 exceeds gate value 50 for firefox webpack home p95 firstReactRender
Benchmark value 7 exceeds gate value 2 for firefox webpack home p95 initialActions
Sum of mean exceeds: 408ms | Sum of p95 exceeds: 603.8ms
Sum of all benchmark exceeds: 1011.8ms

Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 43 Bytes (0%)
  • ui: 664 Bytes (0.01%)
  • common: 10 Bytes (0%)

@owencraston
Copy link
Contributor

owencraston commented Sep 11, 2025

Account seed seems to be working properly!

Without feature flag:
Screenshot 2025-09-11 at 5 48 18 PM

with feature flag:
Screenshot 2025-09-11 at 5 50 24 PM

I also verified that the same icons are rendered when you import the same SRP/PK into mobile

Simulator Screenshot - iPhone 16 Plus - 2025-09-11 at 18 09 45

console.log('Accounts in group for icon seed:', accounts);
if (!accounts || accounts.length === 0) {
throw new Error(
'Error in getIconSeedAddressByAccountGroupId: No accounts found in the specified group',
Copy link
Contributor

Choose a reason for hiding this comment

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

we should put the group id in the log so we can check the state logs if we see issues with this.

@github-actions github-actions bot added size-M and removed size-S labels Sep 11, 2025
@metamaskbot
Copy link
Collaborator

📊 Page Load Benchmark Results

Current Commit: dfd204c | Date: 9/12/2025

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.05s (±71ms) 🟡 | historical mean value: 1.10s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 736ms (±69ms) 🟢 | historical mean value: 784ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 76ms (±12ms) 🟢 | historical mean value: 84ms ⬇️ (historical data)
📈 Detailed Results
Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.05s 71ms 1.01s 1.32s 1.29s 1.32s
domContentLoaded 736ms 69ms 702ms 1.01s 970ms 1.01s
firstPaint 76ms 12ms 60ms 172ms 92ms 172ms
firstContentfulPaint 76ms 12ms 60ms 172ms 92ms 172ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms

Results generated automatically by MetaMask CI

@metamaskbot
Copy link
Collaborator

Builds ready [dfd204c]
UI Startup Metrics (1224 ± 60 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyHomeuiStartup1224110714416012591329
load105594312225710881150
domContentLoaded104893312145710811141
domInteractive19144981841
firstPaint615139117841910601116
backgroundConnect2462312707250260
firstReactRender27178792943
getState1453471830
initialActions50193611
loadScripts80968896857843905
setupStore1062541218
WebpackHomeuiStartup19601450252127121512407
load15751172197121017001911
domContentLoaded15671167196720916891907
domInteractive171282131452
firstPaint1606931353185276
backgroundConnect3214322393055
firstReactRender82373256179320
getState2752906214265
initialActions13228744624
loadScripts15641165195720716871896
setupStore146232221323
FirefoxBrowserifyHomeuiStartup14691256194311015141660
load1268109614948013151430
domContentLoaded1267109614948013141429
domInteractive1103632656112237
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect40221752538107
firstReactRender29245753037
getState73607716
initialActions41416311
loadScripts1236107614667812911359
setupStore12522623930
WebpackHomeuiStartup15621375188014116601843
load13371155168813014441587
domContentLoaded13361155168813014441587
domInteractive1053330961102284
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect31215373641
firstReactRender43366154654
getState6320269
initialActions5114518310
loadScripts13141123167113114251568
setupStore10515315916
Benchmark value 246 exceeds gate value 10 for chrome browserify home mean backgroundConnect
Benchmark value 27 exceeds gate value 23 for chrome browserify home mean firstReactRender
Benchmark value 5 exceeds gate value 1 for chrome browserify home mean initialActions
Benchmark value 260 exceeds gate value 18 for chrome browserify home p95 backgroundConnect
Benchmark value 11 exceeds gate value 1.2 for chrome browserify home p95 initialActions
Benchmark value 18 exceeds gate value 17 for chrome browserify home p95 setupStore
Benchmark value 14 exceeds gate value 7 for chrome webpack home mean initialActions
Benchmark value 265 exceeds gate value 195 for chrome webpack home p95 getState
Benchmark value 24 exceeds gate value 7 for chrome webpack home p95 initialActions
Benchmark value 1470 exceeds gate value 1405 for firefox browserify home mean uiStartup
Benchmark value 1268 exceeds gate value 1245 for firefox browserify home mean load
Benchmark value 1268 exceeds gate value 1239 for firefox browserify home mean domContentLoaded
Benchmark value 41 exceeds gate value 25 for firefox browserify home mean backgroundConnect
Benchmark value 29 exceeds gate value 25 for firefox browserify home mean firstReactRender
Benchmark value 4 exceeds gate value 1 for firefox browserify home mean initialActions
Benchmark value 1236 exceeds gate value 1230 for firefox browserify home mean loadScripts
Benchmark value 13 exceeds gate value 9 for firefox browserify home mean setupStore
Benchmark value 237 exceeds gate value 195 for firefox browserify home p95 domInteractive
Benchmark value 107 exceeds gate value 70 for firefox browserify home p95 backgroundConnect
Benchmark value 11 exceeds gate value 2 for firefox browserify home p95 initialActions
Benchmark value 30 exceeds gate value 27 for firefox browserify home p95 setupStore
Benchmark value 106 exceeds gate value 100 for firefox webpack home mean domInteractive
Benchmark value 31 exceeds gate value 26 for firefox webpack home mean backgroundConnect
Benchmark value 44 exceeds gate value 38 for firefox webpack home mean firstReactRender
Benchmark value 6 exceeds gate value 1 for firefox webpack home mean initialActions
Benchmark value 284 exceeds gate value 156 for firefox webpack home p95 domInteractive
Benchmark value 54 exceeds gate value 50 for firefox webpack home p95 firstReactRender
Benchmark value 10 exceeds gate value 2 for firefox webpack home p95 initialActions
Sum of mean exceeds: 423ms | Sum of p95 exceeds: 570.8ms
Sum of all benchmark exceeds: 993.8ms

Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 43 Bytes (0%)
  • ui: 664 Bytes (0.01%)
  • common: 10 Bytes (0%)

cursor[bot]

This comment was marked as outdated.

@metamaskbot
Copy link
Collaborator

📊 Page Load Benchmark Results

Current Commit: 057c6af | Date: 9/12/2025

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.03s (±70ms) 🟡 | historical mean value: 1.05s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 723ms (±68ms) 🟢 | historical mean value: 736ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 75ms (±15ms) 🟢 | historical mean value: 77ms ⬇️ (historical data)
📈 Detailed Results
Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.03s 70ms 995ms 1.31s 1.24s 1.31s
domContentLoaded 723ms 68ms 690ms 979ms 926ms 979ms
firstPaint 75ms 15ms 56ms 204ms 92ms 204ms
firstContentfulPaint 75ms 15ms 56ms 204ms 92ms 204ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms

Results generated automatically by MetaMask CI

@metamaskbot
Copy link
Collaborator

Builds ready [057c6af]
UI Startup Metrics (1245 ± 61 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyHomeuiStartup1245110913566112941340
load106992411756411141163
domContentLoaded106291411706411101157
domInteractive18145771737
firstPaint766130118341410951161
backgroundConnect2492352757253262
firstReactRender2817126192750
getState15590111734
initialActions51527614
loadScripts82167392863869913
setupStore1063231014
WebpackHomeuiStartup21021650280624922372563
load16871277230620718082033
domContentLoaded16771269230020918022022
domInteractive181379121647
firstPaint1656738067184307
backgroundConnect3518341423254
firstReactRender94403426594315
getState2753296215278
initialActions62274616
loadScripts16701267228921117982010
setupStore186265311627
FirefoxBrowserifyHomeuiStartup13591179183710913971602
load1179103413366812281301
domContentLoaded1179103413366812281301
domInteractive1033230351103231
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect29197483341
firstReactRender26223632830
getState73738615
initialActions611922539
loadScripts1157101813136812091277
setupStore11419722736
WebpackHomeuiStartup15901404198415316791907
load13561184178013414521592
domContentLoaded13561184178013414521591
domInteractive1033331059100281
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect33219593841
firstReactRender463611694757
getState63152712
initialActions511461538
loadScripts13321157176113514311570
setupStore10515015921
Benchmark value 1245 exceeds gate value 1234 for chrome browserify home mean uiStartup
Benchmark value 1062 exceeds gate value 1061 for chrome browserify home mean domContentLoaded
Benchmark value 249 exceeds gate value 10 for chrome browserify home mean backgroundConnect
Benchmark value 28 exceeds gate value 23 for chrome browserify home mean firstReactRender
Benchmark value 6 exceeds gate value 1 for chrome browserify home mean initialActions
Benchmark value 262 exceeds gate value 18 for chrome browserify home p95 backgroundConnect
Benchmark value 50 exceeds gate value 45 for chrome browserify home p95 firstReactRender
Benchmark value 34 exceeds gate value 33 for chrome browserify home p95 getState
Benchmark value 14 exceeds gate value 1.2 for chrome browserify home p95 initialActions
Benchmark value 2563 exceeds gate value 2454 for chrome webpack home p95 uiStartup
Benchmark value 2033 exceeds gate value 2030 for chrome webpack home p95 load
Benchmark value 2023 exceeds gate value 2005 for chrome webpack home p95 domContentLoaded
Benchmark value 278 exceeds gate value 195 for chrome webpack home p95 getState
Benchmark value 16 exceeds gate value 7 for chrome webpack home p95 initialActions
Benchmark value 2011 exceeds gate value 1970 for chrome webpack home p95 loadScripts
Benchmark value 29 exceeds gate value 25 for firefox browserify home mean backgroundConnect
Benchmark value 26 exceeds gate value 25 for firefox browserify home mean firstReactRender
Benchmark value 7 exceeds gate value 1 for firefox browserify home mean initialActions
Benchmark value 12 exceeds gate value 9 for firefox browserify home mean setupStore
Benchmark value 231 exceeds gate value 195 for firefox browserify home p95 domInteractive
Benchmark value 9 exceeds gate value 2 for firefox browserify home p95 initialActions
Benchmark value 36 exceeds gate value 27 for firefox browserify home p95 setupStore
Benchmark value 103 exceeds gate value 100 for firefox webpack home mean domInteractive
Benchmark value 34 exceeds gate value 26 for firefox webpack home mean backgroundConnect
Benchmark value 46 exceeds gate value 38 for firefox webpack home mean firstReactRender
Benchmark value 5 exceeds gate value 1 for firefox webpack home mean initialActions
Benchmark value 281 exceeds gate value 156 for firefox webpack home p95 domInteractive
Benchmark value 57 exceeds gate value 50 for firefox webpack home p95 firstReactRender
Benchmark value 8 exceeds gate value 2 for firefox webpack home p95 initialActions
Sum of mean exceeds: 298ms | Sum of p95 exceeds: 715.8ms
Sum of all benchmark exceeds: 1013.8ms

Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 43 Bytes (0%)
  • ui: 568 Bytes (0.01%)
  • common: 10 Bytes (0%)

@gantunesr gantunesr added this pull request to the merge queue Sep 12, 2025
Any commits made after this event will not be merged.
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Sep 12, 2025
@gantunesr gantunesr enabled auto-merge September 12, 2025 18:13
@gantunesr gantunesr added this pull request to the merge queue Sep 12, 2025
Any commits made after this event will not be merged.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants