[Bug]: iPad keyboard scrolls the composer and terminal out of view while typing#30684
Before submitting
- I searched existing issues and did not find a duplicate.
- I included enough detail to reproduce or investigate the problem.
Area
apps/web
Steps to reproduce
- Open the T3 Code web client in a browser tab on an iPad.
- Open a thread and tap the composer so the keyboard opens. Type a few lines.
- Open the terminal drawer, tap into the terminal, and type.
Expected behavior
The composer and the terminal stay in view, directly above the keyboard, while typing. The page does not move.
Actual behavior
The page scrolls up and down while typing. The composer text box or the terminal ends up partly or fully out of view, and the view bounces between positions.
iPadOS ignores interactive-widget=resizes-content (apps/web/index.html), so the keyboard only shrinks visualViewport. The shell keeps its h-dvh height, and the browser scrolls the document to reveal the focused field.
- Composer: the browser follows the caret after each edit.
- Terminal: the hidden input textarea follows the terminal cursor (
positionInputinapps/web/src/terminal/ghostty/surface.ts). The scroll target moves with every keystroke, which causes the bouncing.
#19512 reports the same root cause on iPhone. Its fix, #19513, applies only to portrait phones ((max-width: 639px) and (pointer: coarse)), so iPads stay affected.
Impact
Major degradation or frequent failure
Version or commit
main at bb4afa542
Environment
iPad, web client in a browser tab. iPadOS and browser versions were not recorded.
Logs or stack traces
None.
Workaround
None found. Blurring the field stops the scrolling but also stops typing.
Note
Responses generated with Claude (model: Claude Opus 5.5)