metamask-extension
metamask-extension copied to clipboard
fix: prevent scrolling to account list item on send page
Description
Opening the send page scrolls down to the currently selected account. On a wallet with 6+ accounts, this scrolls so far that the more relevant sending UI is out of view. This PR prevents the scrolling behavior, keeping the relevant UI in view.
Manual testing steps
- On a wallet with 6+ addresses, select the last address on extension
- Click the Send button
Screenshots/Recordings
Before
After
Pre-merge author checklist
- [x] I've followed MetaMask Contributor Docs and MetaMask Extension Coding Standards.
- [x] I've completed the PR template to the best of my ability
- [x] I’ve included tests if applicable
- [x] I’ve documented my code using JSDoc format if applicable
- [x] I’ve applied the right labels on the PR (see labeling guidelines). 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.
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.
Builds ready [c5ecec3]
- builds: chrome, firefox
- builds (beta): chrome
- builds (flask): chrome, firefox
- builds (MMI): chrome, firefox
- builds (test): chrome, firefox
- builds (test-flask): chrome, firefox
- build viz: Build System
- mv3: Background Module Init Stats
- mv3: UI Init Stats
- mv3: Module Load Stats
- mv3: Bundle Size Stats
- mv2: E2e Actions Stats
- code coverage: Report
- storybook: Storybook
- typescript migration: Dashboard
- all artifacts
Page Load Metrics (1826 ± 55 ms)
| Platform | Page | Metric | Min (ms) | Max (ms) | Average (ms) | StandardDeviation (ms) | MarginOfError (ms) |
|---|---|---|---|---|---|---|---|
| Chrome | Home | firstPaint | 1719 | 2353 | 1843 | 149 | 71 |
| domContentLoaded | 1658 | 2084 | 1789 | 91 | 44 | ||
| load | 1713 | 2108 | 1826 | 114 | 55 | ||
| domInteractive | 14 | 87 | 50 | 22 | 11 | ||
| backgroundConnect | 8 | 203 | 40 | 49 | 23 | ||
| firstReactRender | 47 | 155 | 92 | 26 | 12 | ||
| getState | 4 | 215 | 28 | 47 | 23 | ||
| initialActions | 0 | 1 | 0 | 0 | 0 | ||
| loadScripts | 1230 | 1504 | 1327 | 72 | 35 | ||
| setupStore | 11 | 128 | 35 | 32 | 15 | ||
| uiStartup | 1859 | 2858 | 2084 | 240 | 115 |
Bundle size diffs
- background: 0 Bytes (0.00%)
- ui: 109 Bytes (0.00%)
- common: 0 Bytes (0.00%)
Builds ready [4354f70]
- builds: chrome, firefox
- builds (beta): chrome
- builds (flask): chrome, firefox
- builds (MMI): chrome, firefox
- builds (test): chrome, firefox
- builds (test-flask): chrome, firefox
- build viz: Build System
- mv3: Background Module Init Stats
- mv3: UI Init Stats
- mv3: Module Load Stats
- mv3: Bundle Size Stats
- mv2: E2e Actions Stats
- code coverage: Report
- storybook: Storybook
- typescript migration: Dashboard
- all artifacts
Page Load Metrics (1917 ± 110 ms)
| Platform | Page | Metric | Min (ms) | Max (ms) | Average (ms) | StandardDeviation (ms) | MarginOfError (ms) |
|---|---|---|---|---|---|---|---|
| Chrome | Home | firstPaint | 432 | 2635 | 1840 | 396 | 190 |
| domContentLoaded | 1602 | 2551 | 1877 | 220 | 106 | ||
| load | 1616 | 2596 | 1917 | 230 | 110 | ||
| domInteractive | 13 | 107 | 59 | 23 | 11 | ||
| backgroundConnect | 10 | 86 | 46 | 22 | 11 | ||
| firstReactRender | 49 | 296 | 111 | 52 | 25 | ||
| getState | 6 | 88 | 22 | 25 | 12 | ||
| initialActions | 0 | 1 | 0 | 0 | 0 | ||
| loadScripts | 1140 | 2059 | 1388 | 209 | 100 | ||
| setupStore | 15 | 103 | 37 | 29 | 14 | ||
| uiStartup | 1806 | 2816 | 2164 | 270 | 130 |
Bundle size diffs
- background: 0 Bytes (0.00%)
- ui: 109 Bytes (0.00%)
- common: 0 Bytes (0.00%)
Builds ready [f595e59]
- builds: chrome, firefox
- builds (beta): chrome
- builds (flask): chrome, firefox
- builds (MMI): chrome, firefox
- builds (test): chrome, firefox
- builds (test-flask): chrome, firefox
- build viz: Build System
- mv3: Background Module Init Stats
- mv3: UI Init Stats
- mv3: Module Load Stats
- mv3: Bundle Size Stats
- mv2: E2e Actions Stats
- code coverage: Report
- storybook: Storybook
- typescript migration: Dashboard
- all artifacts
Page Load Metrics (2133 ± 262 ms)
| Platform | Page | Metric | Min (ms) | Max (ms) | Average (ms) | StandardDeviation (ms) | MarginOfError (ms) |
|---|---|---|---|---|---|---|---|
| Chrome | Home | firstPaint | 478 | 4409 | 2057 | 651 | 312 |
| domContentLoaded | 1743 | 3769 | 2053 | 415 | 199 | ||
| load | 1755 | 4415 | 2133 | 547 | 262 | ||
| domInteractive | 28 | 156 | 58 | 32 | 15 | ||
| backgroundConnect | 7 | 748 | 84 | 162 | 78 | ||
| firstReactRender | 49 | 208 | 107 | 40 | 19 | ||
| getState | 6 | 167 | 24 | 39 | 19 | ||
| initialActions | 0 | 0 | 0 | 0 | 0 | ||
| loadScripts | 1282 | 2305 | 1505 | 222 | 106 | ||
| setupStore | 11 | 127 | 48 | 34 | 16 | ||
| uiStartup | 1961 | 4601 | 2412 | 591 | 284 |
Bundle size diffs
- background: 0 Bytes (0.00%)
- ui: 111 Bytes (0.00%)
- common: 0 Bytes (0.00%)