feat(mobile): add terminal text size (zoom) setting (#5388)
* release: v1.4.48-rc.0 [rc-slot:2026-06-05-15] * release: v0.0.1-rc.0 [rc-slot:2026-06-06-03] * feat(mobile): add terminal text size (zoom) setting The mobile terminal fits the desktop's full column count to the phone width with a CSS scale, which cancels out xterm's raw fontSize — so there was no way to make text bigger or smaller. Add a persisted baseline zoom multiplier the WebView applies on top of the fit. - Settings → Terminal → "Text size": 50%–200% presets. - Pinch-to-zoom in the terminal snaps to the same presets and persists. - Per-device display preference; does not change the desktop terminal. - Extracts the xterm WebView HTML into terminal-webview-html.ts to keep TerminalWebView.tsx within its max-lines budget. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * refactor(mobile): make terminal text size reflow columns instead of CSS scaling Text size now drives the real xterm fontSize rather than a CSS transform baseline. A larger cell means fewer columns fit the phone width, so the existing measure -> terminal.updateViewport pipeline resizes the PTY and the shell rewraps to the new width (and smaller sizes show more columns). Pinch still snaps to a preset, but now changes the font size and reflows instead of scaling pixels; the refit hook re-fits the PTY whenever the scale changes. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * fix(mobile): restore terminal touch scrollback (undefined contentWiderThanViewport) The single-finger touchmove handler gated horizontal panning on contentWiderThanViewport(), which is never defined — so every one-finger touchmove threw a ReferenceError before reaching the vertical-scroll code below it, killing all touch scrolling including scrollback. Replace the call with the inline overflow check clampPan() already uses (scrollWidth * getTotalScale() > innerWidth). Vertical scroll now always runs; two-finger pinch-to-zoom is unaffected. Merged two adjacent var decls to keep the file under its max-lines cap without a disable. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * test(mobile): guard terminal text scale viewport refit Co-authored-by: Orca <help@stably.ai> --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Co-authored-by: Jinwoo-H <jinwoo0825@gmail.com> Co-authored-by: Orca <help@stably.ai>
G
gsxdsm committed
cd31cd702d7ab8680a52cb85d98e88283540c47f
Parent: d17c22c
Committed by GitHub <noreply@github.com>
on 6/15/2026, 8:14:58 PM