From 57ae26fcaabfb3e9bcbb75c74ca3726975cb82fd Mon Sep 17 00:00:00 2001 From: Samuel Newman Date: Wed, 3 Jun 2026 23:57:45 +0300 Subject: [PATCH] Make extra sure the drawer gesture doesn't accidentally trigger on Android (#10713) --- src/view/shell/index.tsx | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/view/shell/index.tsx b/src/view/shell/index.tsx index 827ab092c4..9b215d9f13 100644 --- a/src/view/shell/index.tsx +++ b/src/view/shell/index.tsx @@ -174,8 +174,15 @@ function DrawerLayout({children}: {children: React.ReactNode}) { // so fail the drawer gesture immediately. .failOffsetX(-1) // Don't rush declaring that a movement to the right - // is a drawer swipe. It could be a vertical scroll. - .activeOffsetX(5) + // is a drawer swipe. It could be a vertical scroll, or a + // slow horizontal carousel swipe. On Android a child + // `blocksExternalGesture` only holds the drawer off once the + // native scroll has activated, which on a slow swipe doesn't + // happen until movement crosses the native touch slop + // (~8-16px). Activating the drawer below that lets a slow + // carousel swipe pop the drawer open (APP-2119), so require + // more travel before claiming on Android. + .activeOffsetX(IS_ANDROID ? 20 : 5) ) } } else {