From 3033685aab11b7044c49a22a0e0f5f4a973ea3d3 Mon Sep 17 00:00:00 2001 From: Mohamed Boudra Date: Sun, 4 Jan 2026 10:51:53 +0700 Subject: [PATCH] fix(sidebar): allow vertical scrolling in mobile agent list MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Changed from Gesture.Simultaneous() to Gesture.Race() so that vertical scroll and horizontal swipe-to-close are mutually exclusive based on initial movement direction. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- packages/app/src/components/sliding-sidebar.tsx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/app/src/components/sliding-sidebar.tsx b/packages/app/src/components/sliding-sidebar.tsx index 6c8e07079..78dd8d938 100644 --- a/packages/app/src/components/sliding-sidebar.tsx +++ b/packages/app/src/components/sliding-sidebar.tsx @@ -206,7 +206,10 @@ export function SlidingSidebar({ selectedAgentId }: SlidingSidebarProps) { isGesturing.value = false; }); - const swipeGesture = Gesture.Simultaneous( + // Use Race so that whichever gesture activates first wins - if vertical scroll + // happens first (via Native), the Pan gesture fails; if horizontal swipe + // happens first, Pan wins and closes the sidebar + const swipeGesture = Gesture.Race( isOpen ? closeGesture : openGesture, Gesture.Native() );