orca/mobile/app
Shahar Mor 026ed921c1
fix(mobile): keep main-buffer TUI footer above the iOS keyboard (#9178)
* fix(mobile): keep main-buffer TUI footer above the iOS keyboard

The iOS keyboard-avoidance lift anchored on the terminal cursor row. Pi's
TUI renders in the main screen buffer (not the alternate screen) with its
footer/status rows below the input caret, so the altScreen full-lift branch
was skipped and those rows stayed under the raised dock / keyboard.

Anchor the lift on the bottom-most non-blank viewport row instead of just
the cursor: the WebView now emits contentBottomRow, and the lift uses
max(cursorY, contentBottomRow). This generalizes the alt-screen case,
keeps short output at the top put, and matches prior behavior for a
scrolled shell prompt.

Extracted the lift into a pure, unit-tested function
(terminal-keyboard-avoidance-lift.ts) and moved metrics parsing into a
tested helper on the contract.

* fix(mobile): preserve keyboard metrics through notification dispatch

* fix(mobile): harden terminal keyboard metrics

* fix(mobile): ignore unstyled terminal whitespace

* fix(mobile): preserve decorated terminal whitespace

---------

Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
2026-08-03 20:25:46 -07:00
..
h fix(mobile): keep main-buffer TUI footer above the iOS keyboard (#9178) 2026-08-03 20:25:46 -07:00
_layout.tsx Add unified mobile onboarding for session view and notifications (#9478) 2026-07-20 11:11:23 -07:00
about.tsx
browser-settings.tsx fix(mobile): add terminal link routing setting 2026-06-16 17:05:12 -07:00
connection-log.tsx Add Orca Relay desktop and mobile transport (#8536) 2026-07-14 11:47:05 -07:00
index.tsx fix(mobile): surface worktree catalog failures instead of silent 0 worktrees (STA-3123) (#12235) 2026-08-03 00:48:30 -07:00
mobile-onboarding.tsx Add unified mobile onboarding for session view and notifications (#9478) 2026-07-20 11:11:23 -07:00
native-chat-settings.tsx rename: rebrand user-facing Native chat to Chat UI (#10036) 2026-07-22 19:14:44 -07:00
notification-opt-in.tsx fix(mobile): restore notification opt-in route compatibility (#9675) 2026-07-20 21:15:39 -07:00
notifications.tsx fix(mobile): harden notification opt-in onboarding (#8792) 2026-07-14 19:20:36 -07:00
pair-confirm.tsx Add unified mobile onboarding for session view and notifications (#9478) 2026-07-20 11:11:23 -07:00
pair-scan.tsx Add unified mobile onboarding for session view and notifications (#9478) 2026-07-20 11:11:23 -07:00
pair.tsx
settings.tsx rename: rebrand user-facing Native chat to Chat UI (#10036) 2026-07-22 19:14:44 -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 mobile: per-host connection log screen with copy-diagnostics (#7984) 2026-07-09 16:20:07 -07:00
voice-settings.tsx perf(mobile): gate dictation setup progress polling on foreground + single-flight (#9892) 2026-07-22 16:22:01 -07:00