Skip to content

fix: guard scrollSelectedIntoView against viewport scroll#408

Open
shaah1d wants to merge 1 commit into
dip:mainfrom
shaah1d:main
Open

fix: guard scrollSelectedIntoView against viewport scroll#408
shaah1d wants to merge 1 commit into
dip:mainfrom
shaah1d:main

Conversation

@shaah1d

@shaah1d shaah1d commented Jun 10, 2026

Copy link
Copy Markdown

Problem

When <Command /> is mounted off-screen (below the fold), it internally calls Element.scrollIntoView() on the selected item at mount time. If the <CommandList> has no overflow/scroll (i.e. it isn't tall enough to scroll), the browser escalates the scrollIntoView call to the viewport, causing the entire page to jump down to where the component is mounted.

Fix

Added an early return in scrollSelectedIntoView() when the list has nothing to scroll (scrollHeight <= clientHeight). This prevents both the item and group heading scrollIntoView calls from firing when the list isn't scrollable, stopping the viewport from being affected.

##Testing
Tested by placing below a "150vh" spacer and checking if it auto scrolls or not when refreshed.

Closes #405

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Off-screen <Command /> mount can scroll the window unexpectedly

1 participant