Skip to content

Fix mobile terminal scrolling, paste, and switcher focus - #66

Merged
karngyan merged 1 commit into
mainfrom
fix/mobile-terminal-interactions
Aug 12, 2026
Merged

Fix mobile terminal scrolling, paste, and switcher focus#66
karngyan merged 1 commit into
mainfrom
fix/mobile-terminal-interactions

Conversation

@karngyan

Copy link
Copy Markdown
Contributor

Summary

  • make touch scrollback handling cover the full usable terminal inset, including blank space around a scaled xterm surface, and cancel interrupted multi-touch drags safely
  • add a first-class mobile Paste control that reads the clipboard through a user gesture and delegates to xterm so newline normalization and bracketed-paste mode remain correct
  • keep the session switcher keyboard closed on mobile by focusing the dialog instead of its search field, while leaving search one tap away
  • fix the mobile switcher sheet's width and scroll bounds so long session rows shrink instead of clipping the list
  • enlarge mobile terminal controls and switcher rows to reliable touch targets, with horizontal overflow for very narrow screens

Audit notes

Verified in a real Chromium browser at a 342px CSS viewport:

  • terminal and key-bar controls remain reachable without page overflow
  • the switcher opens full-width, focus lands on the dialog, and the visual viewport does not shrink
  • long session names truncate inside the sheet instead of widening/clipping it
  • the list owns vertical scrolling and contains overscroll

Tests

  • make lint test
  • shellcheck scripts/install.sh scripts/install_test.sh
  • bash scripts/install_test.sh
  • targeted mobile/terminal suite: 165 tests passed
  • real-browser mobile viewport inspection

The first full run hit an unrelated relay-directory log assertion once; the failing test passed 10/10 in isolation and the complete CI-equivalent command passed on rerun.

@karngyan
karngyan merged commit 936ee41 into main Aug 12, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant