orca/mobile/app
Wolfie 60037d60ab
feat(mobile): add explicit keyboard dismiss control to terminal command dock (#5917)
* feat(mobile): add explicit keyboard dismiss control to terminal command dock

Add a fixed Hide control at the left of the terminal command dock accessory
bar whenever the software keyboard is open (keyboardHeight > 0). Tapping it
clears any pending live-input focus timer, blurs the live and buffered command
inputs, and dismisses the keyboard without sending bytes, switching input mode,
or clearing typed text.

The dismiss behavior lives in a dedicated, unit-tested terminal-keyboard-dismiss
module rather than the customizable accessory-key path, so the escape hatch
cannot be hidden by user shortcut customization. Available on every platform
where the IME covers the app (iOS and Android).

* review: harden keyboard dismiss control per adversarial review

- document the load-bearing clear-before-blur order in dismissTerminalKeyboard
- cover the both-handles-missing case in unit tests (5/5)
- move the #5106 first-tap comment onto the accessory ScrollView and add a
  why-comment for the fixed Hide control
- add accessibilityRole=button and hitSlop to the Hide control for a larger,
  semantically-correct touch target

* fix(mobile): harden hide button visibility and scroll layout

* refactor(mobile): use stacked keyboard+chevron glyph for dismiss control

Replace the icon+'Hide' text with the iOS-native dismiss glyph (keyboard
with a chevron-down beneath it). Narrower in the accessory row, removes the
icon/word redundancy, and reads as distinct from the >> input-mode toggle.
Accessibility label/hint/role unchanged.

* fix(mobile): align keyboard dismiss accessory height

* test(mobile): align vitest transform with Vite 8

---------

Co-authored-by: Wolfgang Schoenberger <221313372+wolfiesch@users.noreply.github.com>
Co-authored-by: Jinwoo-H <jinwoo0825@gmail.com>
2026-07-08 17:18:16 -07:00
..
h feat(mobile): add explicit keyboard dismiss control to terminal command dock (#5917) 2026-07-08 17:18:16 -07:00
_layout.tsx perf(mobile): cap the scheduled-notification map + tap-dedup set (#7646) 2026-07-06 21:28:09 -07:00
about.tsx
browser-settings.tsx fix(mobile): add terminal link routing setting 2026-06-16 17:05:12 -07:00
index.tsx fix(mobile): show usage bars for system-default login (#5499) 2026-06-16 13:29:45 -07:00
notifications.tsx
pair-confirm.tsx Mobile: worktree-list sidebar for tablet/foldable layouts (#5505) 2026-06-16 16:50:38 -07:00
pair-scan.tsx Fix mobile Tailnet pairing (#4415) 2026-06-01 17:30:10 -07:00
pair.tsx Add mobile terminal shortcut bar customization (#3012) 2026-05-29 16:39:52 -07:00
settings.tsx fix(mobile): add terminal link routing setting 2026-06-16 17:05:12 -07:00
terminal-settings.tsx Redesign mobile driver overlay layout and clarify action copy (#5647) 2026-06-17 19:21:42 -07:00
troubleshoot.tsx Add braces to mobile control flow (#4351) 2026-05-31 21:32:37 -07:00
voice-settings.tsx Allow deleting downloaded speech models on desktop and mobile (#5794) 2026-06-19 12:31:11 -07:00