Skip to content

fix(mobile): enable touch scrolling in file picker modal#2420

Merged
juliusmarminge merged 3 commits into
pingdotgg:mainfrom
jappyjan:mobile-file-picker-scrolling
May 1, 2026
Merged

fix(mobile): enable touch scrolling in file picker modal#2420
juliusmarminge merged 3 commits into
pingdotgg:mainfrom
jappyjan:mobile-file-picker-scrolling

Conversation

@jappyjan
Copy link
Copy Markdown
Contributor

@jappyjan jappyjan commented Apr 30, 2026

Summary

  • On touch devices, scrolling the file/folder list inside the command palette (used to start a new project) was bubbling up and scrolling the entire page instead of the picker.
  • Add overflow-hidden and [touch-action:pan-y] to the CommandPanel container so vertical touch panning is contained.
  • Add overflow-y-auto to the ScrollArea viewport so native touch scrolling actually works inside the picker.

Test plan

  • Open the command palette and pick "Add project from file manager" / browse a folder on a touch device (or DevTools touch emulation).
  • Touch-drag the file list — only the list scrolls, the page behind it does not.
  • Scrollbar styling/behavior on desktop with mouse wheel is unchanged.

🤖 Generated with Claude Code


Open in Devin Review

Note

Medium Risk
Updates shared UI primitives (CommandPanel, ScrollArea) to change overflow/touch behavior; while small, it can affect scrolling/scrollbar behavior across multiple surfaces that use ScrollArea.

Overview
Fixes touch-device scrolling inside the command palette/file picker by preventing scroll gestures from bubbling to the page.

CommandPanel now clips content (overflow-hidden) and opts into vertical touch panning ([touch-action:pan-y]) so swipe scrolling stays within the modal. ScrollArea’s viewport now uses overflow-y-auto to ensure the list itself becomes the scroll container for native touch scrolling.

Reviewed by Cursor Bugbot for commit 250e711. Bugbot is set up for automated code reviews on this repo. Configure here.

Note

Fix touch scrolling in file picker modal

Adds touch-action: pan-y and overflow-hidden to the CommandPanel root div, and overflow-y-auto to the ScrollArea viewport so content scrolls vertically on touch devices. These changes are in command.tsx and scroll-area.tsx.

Macroscope summarized 2c3eea4.

Fixes mobile file picker scroll bubbling to parent page. On touch devices,
attempting to scroll the file list in the command palette now properly
scrolls the picker content instead of the entire page.

Changes:
1. CommandPanel: Added overflow-hidden to contain scrollable content and
   touch-action:pan-y to allow vertical touch panning within bounds
2. ScrollArea Viewport: Added overflow-y-auto to enable native scrolling
   for touch devices while maintaining visual scrollbar styling

This isolates the file picker's scroll behavior from the parent page,
preventing touch scroll events from propagating upward.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 30, 2026

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: e70d1920-ba75-46a9-a7d8-0bf015b670b0

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions github-actions Bot added size:XS 0-9 changed lines (additions + deletions). vouch:unvouched PR author is not yet trusted in the VOUCHED list. labels Apr 30, 2026
macroscopeapp[bot]
macroscopeapp Bot previously approved these changes Apr 30, 2026
@macroscopeapp
Copy link
Copy Markdown
Contributor

macroscopeapp Bot commented Apr 30, 2026

Approvability

A prior Macroscope approval was dismissed. Re-evaluating 9356faa

@jappyjan jappyjan marked this pull request as draft April 30, 2026 15:55
@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. and removed vouch:unvouched PR author is not yet trusted in the VOUCHED list. labels May 1, 2026
- Let the dialog backdrop capture pointer events
- Keep the popup interactive while preventing viewport scroll bleed
@juliusmarminge juliusmarminge marked this pull request as ready for review May 1, 2026 01:03
@macroscopeapp macroscopeapp Bot dismissed their stale review May 1, 2026 01:03

Dismissing prior approval to re-evaluate 9356faa

@github-actions github-actions Bot added size:S 10-29 changed lines (additions + deletions). and removed size:XS 0-9 changed lines (additions + deletions). labels May 1, 2026
@juliusmarminge juliusmarminge merged commit 4ef361d into pingdotgg:main May 1, 2026
9 of 10 checks passed
Morphexe pushed a commit to Morphexe/t3code that referenced this pull request May 4, 2026
)

Co-authored-by: Claude Haiku 4.5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:S 10-29 changed lines (additions + deletions). vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants