You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
I Luk Kim 577b4d749b feat: fix one-press send, add Codex parsed view
Send button:
- submitText() sends text without trailing "\n", then a discrete Enter
  key event after 100ms. cmux delivers send_text as a bracketed paste,
  so a trailing newline became a literal newline in the Claude/Codex
  input box instead of submitting — this required a second (empty)
  press to actually send. Now one press = the full type-then-Enter
  sequence. Fixes Codex always needing two presses and Claude 4+ line
  messages not sending / rendering mid-state.
- data-text shortcut keys now type then send Enter separately
- mousedown.preventDefault keeps soft keyboard up so first tap submits
- Remove IME composition Enter handler (textarea Enter = newline now)

Codex view:
- New codex-parser.js / codex-renderer.js for OpenAI Codex CLI surfaces
- /api/codex-surfaces endpoint; generalize surface-ref lookup into
  _getSurfaceRefsForProcess() (claude + codex)
- app.js updateCodexMode(), terminal.setCodexMode(), codex-mode body
  class (mutually exclusive with claude-mode)

Claude mode:
- Auto-load scrollback when content fits the viewport
- Trim claude-keyboard.js scaffolding; parser/renderer/CSS tweaks

Bump virtual-keyboard.js?v=9 cache-bust.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
3 months ago
..
claude.css feat: fix one-press send, add Codex parsed view 3 months ago
keyboard.css feat: fix one-press send, add Codex parsed view 3 months ago
main.css feat: fix one-press send, add Codex parsed view 3 months ago
sidebar.css feat: Claude mode UI, status indicators, IME fix, tunnel support 5 months ago
terminal.css feat: Claude mode UI improvements and stability enhancements 5 months ago
themes.css feat: initial commit with UX improvements 5 months ago