Skip to content

Phone terminal: tap opens links, keyboard no longer toggles on tap - #228

Merged
pallaoro merged 2 commits into
mainfrom
https-github-com-getpaseo-paseo-how-do-they-manage-the
Sep 5, 2026
Merged

pallaoro merged 2 commits into
mainfrom
https-github-com-getpaseo-paseo-how-do-they-manage-the

Conversation

@pallaoro

@pallaoro pallaoro commented Sep 5, 2026

Copy link
Copy Markdown
Member

Summary

  • SwiftTerm tied keyboard visibility to first-responder status, so on the phone every tap on the terminal output flipped the keyboard, link taps were gated behind a hover check touch can never satisfy, and the bridge's open-link callback was empty.
  • The terminal now stays first responder and shows or hides the keyboard by swapping its input view. A tap opens a link, else clears a selection, else asks for the keyboard when near the cursor row. A tap never hides the keyboard; the Hide button does.
  • Tapped http(s) URLs are forwarded to JS and opened with Linking. The keyboard-visible hook and the post-keyboard repaint nudge now key off keyboard frame changes, since an empty input view is reported as a frame change rather than a hide.

Verification

  • Built and run in the iPhone 15 Pro simulator against the Hetzner box over Tailscale.
  • Tapping a row of the wrapped Claude Code /login URL opened Safari with the full URL and the login completed on the box.
  • Keyboard stayed down through the flow; no show/hide ping-pong.
  • Not yet exercised by touch: long-press selection + Copy with the keyboard down, and the Hide button round trip.

SwiftTerm tied keyboard visibility to first-responder status, so every tap
on the output flipped the keyboard, link taps were gated behind a hover
check that touch can never satisfy, and the bridge dropped the open-link
callback. The terminal now stays first responder and shows or hides the
keyboard by swapping its input view; a tap opens a link, clears a
selection, or asks for the keyboard near the cursor, and never hides it.
Tapped http(s) URLs reach JS and open with Linking. Verified live: the
wrapped Claude Code /login URL opened whole and the login completed.
@pallaoro
pallaoro enabled auto-merge (squash) September 5, 2026 18:21
@pallaoro
pallaoro merged commit 3eff3fb into main Sep 5, 2026
1 check passed
This was referenced Sep 5, 2026
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