Skip to content

Comments

release(runway): cherry-pick feat: cp-13.20.0 added vertical scroll to drawer#40326

Merged
chloeYue merged 2 commits intorelease/13.20.0from
runway-cherry-pick-13.20.0-1771850255
Feb 23, 2026
Merged

release(runway): cherry-pick feat: cp-13.20.0 added vertical scroll to drawer#40326
chloeYue merged 2 commits intorelease/13.20.0from
runway-cherry-pick-13.20.0-1771850255

Conversation

@runway-github
Copy link
Contributor

@runway-github runway-github bot commented Feb 23, 2026

This PR is to add vertical scroll to drawer

Changelog

CHANGELOG entry: adds vertical scroll to drawer

Related issues

Fixes:

Manual testing steps

  1. Go to small window size for full screen
  2. check drawer is scrollable

Screenshots/Recordings

Before

After

Screen.Recording.2026-02-20.at.6.03.35.PM.mov

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
CSS/layout-only changes scoped to the global menu drawer; main risk is minor visual regressions across fullscreen/sidepanel breakpoints.

Overview
Adjusts GlobalMenuDrawer layout/styling to support reliable vertical scrolling and proper sizing in fullscreen vs sidepanel.

This refines fullscreen top offset handling (explicit 90px logo offset), ensures the drawer panel always spans top/bottom, and adds min-h-0, flex-shrink-0, and bottom padding so the header stays fixed while the content area scrolls correctly.

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

cb1f3f9

…o drawer (#40301)

This PR is to add vertical scroll to drawer 

## **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: adds vertical scroll to drawer

## **Related issues**

Fixes:

## **Manual testing steps**

1. Go to small window size for full screen
2. check drawer is scrollable

## **Screenshots/Recordings**

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

### **Before**

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

### **After**


https://github.com/user-attachments/assets/05057dc9-feec-4742-8460-da12c21436d1



## **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**
> UI-only styling/layout changes localized to the global menu drawer;
main risk is regressions in drawer sizing/positioning across fullscreen
vs sidepanel views.
> 
> **Overview**
> Improves `GlobalMenuDrawer` fullscreen positioning by consistently
applying a `90px` top offset (for the logo) to both the backdrop and the
drawer panel, and by explicitly pinning the panel with `top`/`bottom`
instead of relying on `h-full`/`inset` classes.
> 
> Updates the drawer’s internal flex layout (`min-h-0`, `flex-shrink-0`,
and `overflow-y-auto` + padding) so long content can scroll vertically
and the header/close button stays fixed without causing overflow
glitches.
> 
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
b58db8a. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
@runway-github runway-github bot requested a review from a team as a code owner February 23, 2026 12:37
@metamaskbot metamaskbot added the team-bots Bot team (for MetaMask Bot, Runway Bot, etc.) label Feb 23, 2026
@metamaskbotv2
Copy link
Contributor

metamaskbotv2 bot commented Feb 23, 2026

✨ Files requiring CODEOWNER review ✨

👨‍🔧 @MetaMask/core-extension-ux (1 files, +13 -12)
  • 📁 ui/
    • 📁 components/
      • 📁 multichain/
        • 📁 global-menu-drawer/
          • 📄 global-menu-drawer.tsx +13 -12

@metamaskbotv2
Copy link
Contributor

metamaskbotv2 bot commented Feb 23, 2026

Builds ready [21f3243]
UI Startup Metrics (1362 ± 99 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard HomeuiStartup1362117316609914021543
load114797613628811981320
domContentLoaded114095513508711931300
domInteractive2716113192276
firstPaint162631132154197311
backgroundConnect20018627214203226
firstReactRender18114341925
initialActions107113
loadScripts95677711478610051117
setupStore1266671520
numNetworkReqs312286192582
BrowserifyPower User HomeuiStartup2560139310145165724745529
load11601023164413311881429
domContentLoaded11431012163412911761420
domInteractive3418173223458
firstPaint203711532182252308
backgroundConnect68824836148395693005
firstReactRender24154872738
initialActions103112
loadScripts94581114171279731226
setupStore1454461623
numNetworkReqs72351492485113
WebpackStandard HomeuiStartup85168111611039091077
load72460599892767892
domContentLoaded71860099091758884
domInteractive2715116222385
firstPaint1225739267161244
backgroundConnect26175882942
firstReactRender19124572133
initialActions104112
loadScripts71559898790757878
setupStore1264161324
numNetworkReqs312297212591
WebpackPower User HomeuiStartup1244908263526912661788
load7216091078101731981
domContentLoaded7116031051101720969
domInteractive38171702937111
firstPaint1416140476169306
backgroundConnect17112850457159290
firstReactRender21163332328
initialActions102011
loadScripts708602103899718958
setupStore1152841317
numNetworkReqs1235925039146192
FirefoxBrowserifyStandard HomeuiStartup16701415264120516702066
load14141197238618014261759
domContentLoaded14131197238618014251759
domInteractive873340458108154
firstPaint------
backgroundConnect62392152862117
firstReactRender13111911416
initialActions103112
loadScripts13821174227216613981641
setupStore187219261547
numNetworkReqs312099202689
BrowserifyPower User HomeuiStartup27091982396537028823343
load15441322279122816221921
domContentLoaded15441322279122816221920
domInteractive151371392171153376
firstPaint------
backgroundConnect288108916212350801
firstReactRender19137091822
initialActions203123
loadScripts15021297275521515721878
setupStore15110779207136643
numNetworkReqs75282183995157
WebpackStandard HomeuiStartup16661404329721916821996
load14061196299218814441566
domContentLoaded14051195299218814421565
domInteractive922624549130178
firstPaint------
backgroundConnect60262593866120
firstReactRender15122731623
initialActions106112
loadScripts13821180288917914191535
setupStore217216321458
numNetworkReqs312097192790
WebpackPower User HomeuiStartup28162026884689428953412
load16801276710379917522121
domContentLoaded16791275710379917522121
domInteractive177331684210208556
firstPaint------
backgroundConnect336951460268412853
firstReactRender22166382330
initialActions203123
loadScripts16341239707079716822084
setupStore14691074191182540
numNetworkReqs76302194481168
📊 Page Load Benchmark Results

Current Commit: 21f3243 | Date: 2/23/2026

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.05s (±74ms) 🟡 | historical mean value: 1.04s ⬆️ (historical data)
  • domContentLoaded-> current mean value: 737ms (±71ms) 🟢 | historical mean value: 727ms ⬆️ (historical data)
  • firstContentfulPaint-> current mean value: 77ms (±11ms) 🟢 | historical mean value: 80ms ⬇️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.05s 74ms 1.00s 1.34s 1.31s 1.34s
domContentLoaded 737ms 71ms 697ms 1.01s 978ms 1.01s
firstPaint 77ms 11ms 56ms 160ms 92ms 160ms
firstContentfulPaint 77ms 11ms 56ms 160ms 92ms 160ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms

Copy link
Contributor

@chloeYue chloeYue left a comment

Choose a reason for hiding this comment

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

LGTM

@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 Feb 23, 2026

Builds ready [9d2b59a]
UI Startup Metrics (1362 ± 101 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard HomeuiStartup13621153165310114191556
load115596114069212171304
domContentLoaded114794213608912061298
domInteractive261694192183
firstPaint211621222214220354
backgroundConnect20718825013210236
firstReactRender18113851928
initialActions1010113
loadScripts95776311758810101106
setupStore1273451420
numNetworkReqs3122101212291
BrowserifyPower User HomeuiStartup265613938637153228705790
load11801049163012312141483
domContentLoaded11651032162211911951453
domInteractive3620205293566
firstPaint1857843181260295
backgroundConnect75925548488527202483
firstReactRender24165672541
initialActions105111
loadScripts96183614261179901256
setupStore1563571731
numNetworkReqs72381372489116
WebpackStandard HomeuiStartup9167201281979661096
load778628107191833919
domContentLoaded772624106490827910
domInteractive3018104212588
firstPaint1166642061132210
backgroundConnect292084103252
firstReactRender20134572334
initialActions104113
loadScripts769622105189824902
setupStore1366271421
numNetworkReqs312296202587
WebpackPower User HomeuiStartup1189878207019312741568
load6915941141104696917
domContentLoaded6825891134104688908
domInteractive32171312527101
firstPaint1265841464150261
backgroundConnect17313968466162291
firstReactRender21163642327
initialActions103111
loadScripts6795871125102686899
setupStore1141831315
numNetworkReqs1174026447144212
FirefoxBrowserifyStandard HomeuiStartup16801383281824217212021
load14111166229418114691624
domContentLoaded14101166229418114681624
domInteractive833295598101150
firstPaint------
backgroundConnect6028259306487
firstReactRender13111811415
initialActions102112
loadScripts13821147226917214391575
setupStore167121181434
numNetworkReqs311995192686
BrowserifyPower User HomeuiStartup29612144846981330623686
load16861341694872516292211
domContentLoaded16851337694872516292210
domInteractive15438786136145424
firstPaint------
backgroundConnect43010112403036601042
firstReactRender19146681928
initialActions206122
loadScripts16471321691072216042112
setupStore15212994201132621
numNetworkReqs813218038100165
WebpackStandard HomeuiStartup17141444331531617232011
load14421179282825814711627
domContentLoaded14411178282825814711627
domInteractive962930854131186
firstPaint------
backgroundConnect59252212967104
firstReactRender16125351623
initialActions107122
loadScripts14191165279625414421600
setupStore217160261668
numNetworkReqs302091152768
WebpackPower User HomeuiStartup289621391138492129993504
load16661381849870916472015
domContentLoaded16661381849870916472014
domInteractive15955885155155501
firstPaint------
backgroundConnect38611315963184101004
firstReactRender24168192535
initialActions203123
loadScripts16281356845670915901980
setupStore18119797191258647
numNetworkReqs76292314776209
📊 Page Load Benchmark Results

Current Commit: 9d2b59a | Date: 2/23/2026

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.04s (±46ms) 🟡 | historical mean value: 1.04s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 731ms (±67ms) 🟢 | historical mean value: 728ms ⬆️ (historical data)
  • firstContentfulPaint-> current mean value: 81ms (±43ms) 🟢 | historical mean value: 80ms ⬆️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.04s 46ms 1.01s 1.36s 1.06s 1.36s
domContentLoaded 731ms 67ms 702ms 1.32s 739ms 1.32s
firstPaint 81ms 43ms 60ms 504ms 88ms 504ms
firstContentfulPaint 81ms 43ms 60ms 504ms 88ms 504ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms

@chloeYue chloeYue merged commit e39efa5 into release/13.20.0 Feb 23, 2026
170 checks passed
@chloeYue chloeYue deleted the runway-cherry-pick-13.20.0-1771850255 branch February 23, 2026 16:01
@github-actions github-actions bot locked and limited conversation to collaborators Feb 23, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

team-bots Bot team (for MetaMask Bot, Runway Bot, etc.)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants