You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I searched existing issues and did not find a duplicate.
I included enough detail to reproduce or investigate the problem.
Area
apps/web
Steps to reproduce
Run the desktop app on Linux (GNOME Wayland, libinput touchpad, natural scrolling on).
Open any thread that has back history.
Scroll the chat vertically with two fingers, but start the motion slightly diagonally. Your fingers should drift a little sideways in the first few pixels, which happens naturally.
Keep scrolling vertically for a while.
Expected behavior
A mostly vertical scroll scrolls the content and never navigates. Back/forward navigation should need a clearly horizontal swipe.
Actual behavior
The app frequently navigates back (or forward) in the middle of normal vertical scrolling. On Linux, this makes the swipe gesture fire on most longer scrolls.
Cause, from apps/web/src/components/HistorySwipeNavigation.tsx (main @ cefb544):
The axis locks after only 8px (SWIPE_AXIS_LOCK_DISTANCE = 8), and lockSwipeAxis only checks |sumX| > |sumY|. A barely diagonal start (e.g. 5px x / 3px y) is enough to enter tracking.
Once tracking, deltaY is ignored. Only deltaX feeds gesture.distance, so horizontal drift during a scroll that is 90% vertical still adds up to SWIPE_TRIGGER_DISTANCE (120px). Vertical movement never cancels the gesture.
Momentum fires it as well.isMomentumTail calls release(), which navigates as soon as the distance has crossed the threshold.
Suggested fix:
Lock the axis only on clear horizontal intent, e.g. |sumX| > 2 * |sumY| after ~20–30px.
Track the cumulative |deltaY| while tracking, and cancel (ignored) once vertical movement becomes significant compared with horizontal.
Related: #28160 covers the scroll-boundary case in horizontally scrollable panes. This report is about plain vertical scrolling over non-scrollable-x content.
Impact
Major degradation or frequent failure
Version or commit
0.1.7-nightly.20261102.4093 (component unchanged on main @ cefb544)
Environment
Linux 7.0, GNOME on Wayland, ELAN06FA touchpad (libinput), natural scrolling enabled, AppImage desktop build
Workaround
None in-app. As a local workaround I am patching the bundled HistorySwipeNavigation with a stricter axis lock (2.5× ratio after 30px), cancellation on vertical movement and a 250px threshold.
Reacted by Lakshmi Tanmay, andrew, Paul Blaze and Peter Kibuchi
Same here on Ubuntu 24.04 (GNOME Wayland, libinput touchpad): ordinary vertical scrolls through a long thread navigate back mid-scroll.
The axis-lock fix described above would cut most of the false triggers. A setting to turn the gesture off would settle it for anyone who goes back and forth with the keyboard or the sidebar. #28023 asked for that setting and was closed as completed, but I can't find the setting in the app or in the code, so I'm asking for it here.
T3 Code desktop 0.1.9-nightly.20261110.4452, macOS 27.2, built-in trackpad.
Normal two-finger scrolling through a long thread or a long diff often sends me back to the previous thread. Since it just goes back in history, I end up on whatever I opened before, like a finished thread or a subagent. There's also a short delay before the jump, so by the time it happens it's hard to tell the scroll caused it.
Going forward brings me back, but it happens a lot. A setting to turn off swipe navigation would help too.
Activity
peterkibuchi commentedon Nov 9, 2026
Same here on Ubuntu 24.04 (GNOME Wayland, libinput touchpad): ordinary vertical scrolls through a long thread navigate back mid-scroll.
The axis-lock fix described above would cut most of the false triggers. A setting to turn the gesture off would settle it for anyone who goes back and forth with the keyboard or the sidebar. #28023 asked for that setting and was closed as completed, but I can't find the setting in the app or in the code, so I'm asking for it here.
edtheflame commentedon Nov 10, 2026
Same bug here on macOS, so it's not only Linux.
T3 Code desktop 0.1.9-nightly.20261110.4452, macOS 27.2, built-in trackpad.
Normal two-finger scrolling through a long thread or a long diff often sends me back to the previous thread. Since it just goes back in history, I end up on whatever I opened before, like a finished thread or a subagent. There's also a short delay before the jump, so by the time it happens it's hard to tell the scroll caused it.
Going forward brings me back, but it happens a lot. A setting to turn off swipe navigation would help too.