Skip to content

Conversation

@OGPoyraz
Copy link
Member

@OGPoyraz OGPoyraz commented Nov 7, 2025

Description

This PR aims to address multiple design defects in send flow.

  • Fix header to be sticky in send flow
  • Fix long contact names to not scroll
  • Remove the space between currency symbol and value in send flow
  • Show all native asset in send flow regardless of the user balance

Open in GitHub Codespaces

Changelog

CHANGELOG entry: Fix design defects and show all native assets regardless of balance in send flow

Related issues

Fixes: https://github.com/MetaMask/MetaMask-planning/issues/6057
Fixes: https://github.com/MetaMask/MetaMask-planning/issues/6059
Fixes: #36195
Fixes: #36201
Fixes: #37609

Manual testing steps

See individual tasks

Screenshots/Recordings

Before

After

Sticky header
sticky header

Long account / contact name
long contact:account name

Removed space from fiat
removed space in fiat

Include all native assets regardless of the balance
include all native assets regardless of balance

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

Makes the send header sticky, truncates long recipient names, removes the space between currency symbol and amount, and shows native assets even with zero balance.

  • Send layout/UX:
    • Add sticky header (.redesigned__send__sticky-header) and scrollable content wrapper (.redesigned__send__content-wrapper).
    • Ensure pages fill height (style: height: '100%') in amount-recipient.tsx and asset.tsx.
  • Recipient list:
    • Add send-recipient__content with flex/min-width and apply ellipsis to name to prevent overflow.
  • Currency display:
    • Remove space between currency symbol and amount in useCurrencyConversions and update test expectations.
  • Asset selection:
    • Show native assets regardless of balance in useSendTokens.

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

@OGPoyraz OGPoyraz requested a review from a team as a code owner November 7, 2025 11:00
@metamaskbot metamaskbot added the team-confirmations Push issues to confirmations team label Nov 7, 2025
@metamaskbot
Copy link
Collaborator

metamaskbot commented Nov 7, 2025

✨ Files requiring CODEOWNER review ✨

@MetaMask/confirmations (9 files, +30 -10)
  • 📁 ui/
    • 📁 pages/
      • 📁 confirmations/
        • 📁 components/
          • 📁 UI/
            • 📁 recipient/
              • 📄 index.scss +5 -0
              • 📄 recipient.tsx +4 -2
          • 📁 send/
            • 📁 amount-recipient/
              • 📄 amount-recipient.tsx +1 -1
            • 📁 asset/
              • 📄 asset.tsx +1 -1
              • 📄 index.scss +11 -0
        • 📁 hooks/
          • 📁 send/
            • 📄 useCurrencyConversions.test.ts +1 -1
            • 📄 useCurrencyConversions.ts +2 -2
            • 📄 useSendTokens.ts +1 -1
        • 📁 send/
          • 📄 send-inner.tsx +4 -2

@github-actions github-actions bot added the size-S label Nov 7, 2025
@metamaskbot
Copy link
Collaborator

Builds ready [6e82ef9]
UI Startup Metrics (1256 ± 103 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard HomeuiStartup12561090162310313181448
load107994114319411441240
domContentLoaded107293814219311371235
domInteractive221497152058
firstPaint69075145744310921233
backgroundConnect2332202749237248
firstReactRender24185252633
getState23889132746
initialActions001001
loadScripts845716118992916999
setupStore1163341119
numNetworkReqs1367720672
BrowserifyPower User HomeuiStartup19081720240721421162407
load1036906138718212811387
domContentLoaded1027902138017612701380
domInteractive281680195180
firstPaint5638013754269501375
backgroundConnect23422027514241275
firstReactRender27243322833
getState17915824020183240
initialActions001011
loadScripts800687115116910401151
setupStore16956131556
numNetworkReqs1217326463167264
WebpackStandard HomeuiStartup820691117470846944
load60054995061601732
domContentLoaded59354492758597715
domInteractive161169101438
firstPaint19558933183198578
backgroundConnect231166122753
firstReactRender2918136133337
getState1162931215
initialActions001001
loadScripts59054291756594705
setupStore1163541319
numNetworkReqs1367519870
WebpackPower User HomeuiStartup12431137167012112681670
load656570854113839854
domContentLoaded638559825104791825
domInteractive271397264797
firstPaint39776860273579860
backgroundConnect58162736153273
firstReactRender26232912729
getState1389116622150166
initialActions001011
loadScripts634557815100779815
setupStore1063871138
numNetworkReqs1387028363177283
FirefoxBrowserifyStandard HomeuiStartup14371281196010714941650
load1221110014448212881372
domContentLoaded1221110014448212881372
domInteractive1103429843115201
firstPaint------
backgroundConnect4026111154569
firstReactRender25216452631
getState83607617
initialActions001001
loadScripts1196108114268012611338
setupStore147240231227
numNetworkReqs1266215758
BrowserifyPower User HomeuiStartup23292041260617424742606
load13431127171720116491717
domContentLoaded13431127171620116491716
domInteractive21589588184497588
firstPaint------
backgroundConnect1063023262164232
firstReactRender423167115267
getState1057513818121138
initialActions101111
loadScripts13011106164619715901646
setupStore3361273669127
numNetworkReqs1337220857199208
WebpackStandard HomeuiStartup16991493256917617262119
load14411272196812414831719
domContentLoaded14411271196712414831718
domInteractive1073737549117204
firstPaint------
backgroundConnect51283163456102
firstReactRender332492133574
getState946911839
initialActions001001
loadScripts14101251183911514601648
setupStore188210241445
numNetworkReqs1367017764
WebpackPower User HomeuiStartup23972059287924826722879
load14741206194218315761942
domContentLoaded14741206194218415761942
domInteractive15335541134263541
firstPaint------
backgroundConnect782616142120161
firstReactRender432766114766
getState1037919228106192
initialActions30317231
loadScripts14401187185717215091857
setupStore3861734675173
numNetworkReqs1595831387253313
📊 Page Load Benchmark Results

Current Commit: 6e82ef9 | Date: 11/7/2025

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.04s (±40ms) 🟡 | historical mean value: 1.03s ⬆️ (historical data)
  • domContentLoaded-> current mean value: 726ms (±38ms) 🟢 | historical mean value: 716ms ⬆️ (historical data)
  • firstContentfulPaint-> current mean value: 78ms (±12ms) 🟢 | historical mean value: 76ms ⬆️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.04s 40ms 1.02s 1.35s 1.07s 1.35s
domContentLoaded 726ms 38ms 705ms 1.02s 751ms 1.02s
firstPaint 78ms 12ms 60ms 184ms 88ms 184ms
firstContentfulPaint 78ms 12ms 60ms 184ms 88ms 184ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 58 Bytes (0%)
  • ui: 258 Bytes (0%)
  • common: 20 Bytes (0%)

@metamaskbot
Copy link
Collaborator

Builds ready [3a317a0]
UI Startup Metrics (1227 ± 86 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard HomeuiStartup1227109014818612901410
load105193713098011031202
domContentLoaded104593413017910971185
domInteractive221495142062
firstPaint67378131041510491205
backgroundConnect2342202699238250
firstReactRender25186762635
getState2076092235
initialActions001001
loadScripts817713107678867956
setupStore1052431120
numNetworkReqs1367620674
BrowserifyPower User HomeuiStartup19831760310735721673107
load1056911161121112531611
domContentLoaded1048904160621012481606
domInteractive301671185271
firstPaint68215916104869601610
backgroundConnect23822030018239300
firstReactRender28263012930
getState17416019613189196
initialActions001011
loadScripts820683133020010171330
setupStore12103051230
numNetworkReqs1217524873246248
WebpackStandard HomeuiStartup8647021160818841081
load62556092270622853
domContentLoaded61855490667617838
domInteractive171265101541
firstPaint21566910194208722
backgroundConnect271273143062
firstReactRender311877103648
getState1163341318
initialActions001001
loadScripts61455289665614827
setupStore1273541418
numNetworkReqs1367519868
WebpackPower User HomeuiStartup12081071166018612761660
load606522861101663861
domContentLoaded58751382092624820
domInteractive211251133751
firstPaint33776866258604866
backgroundConnect621720365143203
firstReactRender25232812628
getState1268114319137143
initialActions001011
loadScripts58351181390617813
setupStore1152781927
numNetworkReqs1106822847152228
FirefoxBrowserifyStandard HomeuiStartup14741287206912815131735
load1247111615328812891432
domContentLoaded1247111615318812891432
domInteractive1153634252119231
firstPaint------
backgroundConnect4526120195187
firstReactRender26224752743
getState84476719
initialActions002001
loadScripts1220109715198512701380
setupStore177235291332
numNetworkReqs1266616760
BrowserifyPower User HomeuiStartup23652145268715424862687
load13611114169615315001696
domContentLoaded13611113169515315001695
domInteractive19779598167236598
firstPaint------
backgroundConnect1012428180166281
firstReactRender443282154782
getState1137316029153160
initialActions102112
loadScripts13271093164214414261642
setupStore22580224280
numNetworkReqs1337122360191223
WebpackStandard HomeuiStartup16501444224415416752035
load13981256171210114311643
domContentLoaded13981256171210114311642
domInteractive1013137549113160
firstPaint------
backgroundConnect52271702457100
firstReactRender322287133174
getState949511816
initialActions006101
loadScripts1366123216809513981578
setupStore178221241459
numNetworkReqs1366717764
WebpackPower User HomeuiStartup25172160324731327233247
load15311220187419316711874
domContentLoaded15301220187419316701874
domInteractive17642673172316673
firstPaint------
backgroundConnect67341763686176
firstReactRender41315664556
getState1358821439177214
initialActions105215
loadScripts15031201183219016431832
setupStore2951313241131
numNetworkReqs1336828376242283
📊 Page Load Benchmark Results

Current Commit: 3a317a0 | Date: 11/7/2025

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.05s (±48ms) 🟡 | historical mean value: 1.03s ⬆️ (historical data)
  • domContentLoaded-> current mean value: 734ms (±45ms) 🟢 | historical mean value: 718ms ⬆️ (historical data)
  • firstContentfulPaint-> current mean value: 80ms (±12ms) 🟢 | historical mean value: 76ms ⬆️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.05s 48ms 1.02s 1.45s 1.09s 1.45s
domContentLoaded 734ms 45ms 703ms 1.11s 772ms 1.11s
firstPaint 80ms 12ms 64ms 184ms 92ms 184ms
firstContentfulPaint 80ms 12ms 64ms 184ms 92ms 184ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 58 Bytes (0%)
  • ui: 258 Bytes (0%)
  • common: 20 Bytes (0%)

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

Labels

size-S team-confirmations Push issues to confirmations team

Projects

None yet

3 participants