[Bug]: Mobile terminal paste button is hidden off-screen in the scrolling toolbar#24694

opened4d agobyNnabettu

Before submitting

  • I searched existing issues and did not find a duplicate.
  • I included enough detail to reproduce or investigate the problem.

Area

apps/mobile

Steps to reproduce

  1. Open a thread's terminal in the mobile app on a phone.
  2. Tap the terminal so the keyboard and the terminal accessory toolbar appear.
  3. Look for a way to paste the phone's clipboard.

Expected behavior

Paste is visible without scrolling. Pasting a copied command is one of the most common things to do in a mobile terminal.

Actual behavior

paste is the 10th button in the horizontally scrolling accessory toolbar (↑ ↓ ← → esc ctrl alt tab paste clear ~ | / -). On a phone-width screen it sits past the visible area, so it is easy to never find. Nothing makes it obvious that the toolbar scrolls: the right-edge fade is subtle, and the visible buttons fill the row, so it reads as a complete set of keys. I used the terminal for a while without realizing there were more buttons past the edge. Long-pressing the terminal does not offer Paste either (the iOS terminal view has no edit menu), so it looks like pasting is not possible at all.

#16299 / #21398 fixed the same kind of problem for the arrow keys by moving them to the front, which pushed paste further right.

Impact

Minor bug or occasional failure

Version or commit

main @ 24c80f34a1

Environment

iOS, T3 Code mobile app

Workaround

Scroll the accessory toolbar to the right to find paste.

Possible fix

Pin paste as an icon button outside the scroller, next to the existing "Dismiss keyboard" button (ComposerToolbarButton with icon, e.g. doc.on.clipboard / content_paste) in apps/mobile/src/features/terminal/ThreadTerminalRouteScreen.tsx. Happy to send a PR if that direction sounds right.