Skip to content

Enable mobile writing assistance and a terminal draft buffer - #151

Draft
thomwolf wants to merge 3 commits into
mainfrom
feat/mobile-writing-assistance
Draft

thomwolf wants to merge 3 commits into
mainfrom
feat/mobile-writing-assistance

Conversation

@thomwolf

@thomwolf thomwolf commented Sep 13, 2026

Copy link
Copy Markdown
Member

Summary

  • Enable OS writing assistance in mobile Reader/Overview reply boxes, with a browser-local checkbox shared between composers. Desktop and raw xterm input remain literal.
  • Add a mobile terminal write buffer: edit with a normal textarea, then explicitly Paste draft into terminal. Use xterm's bracketed-paste path; never append Enter or stream draft keystrokes. Require terminal control and retain the buffer when closed or control is lost.
  • Ignore Enter/Escape during IME composition, including Safari's legacy keycode 229 path.
  • Document the device-level Predictive Text setting and the fact that multiline terminal pastes can execute shell commands depending on the running program.

Validation

  • Browser regression: OS word replacement, mobile hints, desktop preservation, preference synchronization/reload/denied storage, mobile Enter, IME confirmation, and buffered insertion.
  • Real TerminalPane + xterm browser regression: bracketed paste bytes, no extra Enter, no keystroke streaming, control guard and buffer retention.
  • Web typecheck/build passed. All 52 default frontend suites passed with Chromium, including the two new keyboard regressions and the Reader scroll tests. The terminal draft was also checked at a 390px device-width touch viewport.

Device QA still needed

This is a draft pending a real iPhone/Safari check of the predictive suggestion bar (including the Hugging Face iframe). Headless Chromium can verify the attributes and insertion behavior, but cannot prove that iOS displays its native keyboard suggestions. The OS/user settings have the final say.

The terminal buffer is retained only while the pane is mounted, not across a page reload. No production or testing Space was restarted for this PR.

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