chore: upgrade MMDS to v56.0.0 - #33788
Conversation
|
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. |
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
geositta
left a comment
There was a problem hiding this comment.
There is a visual regression in the close summary I commented on.
Co-authored-by: Cursor <cursoragent@cursor.com>
🔍 Smart E2E Test Selection
click to see 🤖 AI reasoning detailsE2E Test Selection:
SmokePerps is selected as the primary tag since all changes are in Perps UI components. Performance Test Selection: |
|
⚡ Performance Test Results
❌ 1 test failed · 2 tests · 1 device 📱 Devices tested (1)Android: Google Pixel 8 Pro (v14.0) ❌ Failed Tests (1)@mm-perps-engineering-team
✅ Passed Tests (1)
Branch: |



Description
Upgrades design system packages to align with the v56.0.0 release.
Packages upgraded:
@metamask/design-system-react-native:^0.37.0→^0.38.0@metamask/design-system-shared(transitive):^0.30.0→^0.31.0Unchanged in this release:
@metamask/design-system-twrnc-preset:^0.8.0@metamask/design-tokens:^8.7.0Breaking changes addressed:
KeyValueRow: Now defaults topx-4(16px) horizontal padding so rows align with other full-width list surfaces without a parent padding wrapper. Call sites that already padded the parent would double-pad.KeyValueRowowns the 16px insetOther breaking changes (no code changes needed)
KeyValueRowdefault padding for this bump (0.37.0 → 0.38.0). ToastbottomOffset→topOffsetlanded in 0.37.0 and was already consumed upstream of this branch.New additions available for future use:
KeyValueSelectfor pressable key/value rows with a non-interactiveSelectButtonvalueHelpTextwith optionalHelpTextSeverityandshowIcon(leadingIconAlertwhen severity is set)isHidden/lengthsupport on string slots forContent,ListItem,TitleHub, andKeyValueRowviaSensitiveTextUpstream fixes included in this release:
BannerBasespacing updates (inherited byBannerAlert/Toast)Slider: Fixed thumb rewind on rapid taps and fast pansContent: Fixed description stretching the end accessory when the description wrapsLegacy component deprecations:
app/component-library/already have@deprecatedJSDoc notices from prior upgradesChangelog
CHANGELOG entry: Upgrades design system libraries to v56.0.0 and migrates Perps
KeyValueRowcall sites off parent horizontal paddingRelated issues
Fixes: N/A
Manual testing steps
Feature: Design system upgrade to v56.0.0
Scenario: Core app functionality is unaffected
Given I am on the main app screen
When I navigate through the primary user flows
Then the UI renders correctly with no visual regressions
Scenario: Perps home balance card KeyValueRow padding
Given I open the Perps tab with a funded account
When a deposit/withdraw is in progress (optional) or I view Withdraw / Add funds actions
Then status/detail rows sit ~16px from the relevant edge with no double inset
Scenario: Perps position details KeyValueRows
Given I open a market where I have an open position
When I view the position details section (Direction / Entry / Liquidation / Funding)
Then KeyValueRows align with the Details section header (~16px inset)
Scenario: Perps order form (Long/Short)
Given I open Long or Short on a market
When I view the input card (Leverage / TP-SL / Limit / Pay with) and bottom summary rows
Then content is ~16px inside the card / from screen edge and aligns with sibling rows
Scenario: Close position summary and footer
Given I open Close position on an open position
When I view the footer summary and confirm button (and tap amount to open the keypad)
Then Margin / Fees / You receive / Points align at ~16px; confirm button remains inset ~16px
Scenario: Close all positions sheet
Given I have 2+ open positions
When I open Close all from Perps home
Then description text and summary rows share ~16px left inset; footer buttons look normal
Scenario: Pro mode order form / layout (requires
perpsProModeEnabled)Given Pro mode is enabled via Feature Flag Override
When I switch to Pro and view the order form + order book
Then form controls and OrderSummary are ~16px from the left; book keeps ~16px from the right; collapsing the book keeps expand control and full-width form inset correctly
Screenshots/Recordings
Before
After
Previous KeyValueRow still functional
Pre-merge author checklist
Performance checks (if applicable)
trace()for usage andaddTokenfor an exampleFor performance guidelines and tooling, see the Performance Guide.
Pre-merge reviewer checklist
Note
Low Risk
Layout-only migration for a design-system default change in Perps UI; no trading, auth, or data-path changes.
Overview
Upgrades
@metamask/design-system-react-nativefrom^0.37.0to^0.38.0(design system v56.0.0), with a transitive bump to@metamask/design-system-shared^0.31.0.The main behavioral change addressed is
KeyValueRownow applying ~16px (px-4) horizontal padding by default. Perps screens that used to pad the parent are updated so rows are not inset twice: redundantpaddingHorizontalon wrappers and input groups is removed, while non-row siblings (descriptions, loading states, confirm buttons, custom margin rows, Pro form controls) keep explicit ~16px inset where needed.PerpsCloseSummarydrops theisInputFocusedprop and the conditional extra padding; row padding moves onto summary rows andSectionDividerusesmx-4.PerpsClosePositionViewno longer passesisInputFocusedand wraps the footer confirm button infooterButtonfor horizontal inset.Touches include close-all/close-position flows, order view styles, position card details, market balance transaction rows, and Pro market layout (form
px-4, order bookpr-4). Related unit test mocks and anisInputFocusedtest are removed.Reviewed by Cursor Bugbot for commit 5eb4a03. Bugbot is set up for automated code reviews on this repo. Configure here.