fix: remove all touch interception, let browser scroll xterm viewport natively

- xterm.js has zero touch event handlers (verified: only 1 'touch' ref in
  entire library), so it wasn't intercepting anything
- Our touch-action: none + preventDefault() combo was blocking the browser
  from scrolling the .xterm-viewport natively
- Removed all custom touch event handlers from terminal.tsx
- Removed touch-action: none from .terminal-container
- Added touch-action: pan-y to .xterm-viewport so browser allows vertical pan
- Body scroll lock (terminal-page-open) prevents page from scrolling
This commit is contained in:
Alex Blank
2026-05-29 20:08:58 +02:00
parent ca9db195de
commit ef9ac76f06
2 changed files with 5 additions and 79 deletions
+5 -1
View File
@@ -3707,13 +3707,17 @@ a.nav-item,
padding: 0;
overflow: hidden;
position: relative;
touch-action: none;
}
/* xterm.js manages its own sizing */
/* xterm.js manages its own scrolling and viewport dimensions */
/* Mobile: allow native vertical touch panning on xterm viewport */
.terminal-wrapper.mobile .xterm .xterm-viewport {
touch-action: pan-y;
}
/* Special Keys Strip */
.special-keys-strip {
flex-shrink: 0;