Skip to content

chat: pinned-logo framed layout, snappy (low effort), no badge#48

Open
aadarwal wants to merge 5 commits into
masterfrom
anu-chat-ui
Open

chat: pinned-logo framed layout, snappy (low effort), no badge#48
aadarwal wants to merge 5 commits into
masterfrom
anu-chat-ui

Conversation

@aadarwal

Copy link
Copy Markdown
Member

Iterates the merged chat into the framed surface you asked for: the logo pinned at the top, the conversation in a centered column scrolling beneath it (DECSTBM scroll region, reset on any exit). Removes the model badge, defaults effort to low (snappy, not xhigh), stops codex stderr leaking into the chat, and replaces flaky readline with a manual reader (multi-turn verified in a pty).

🤖 Generated with Claude Code

aadarwal and others added 5 commits June 23, 2026 12:28
The chat is now a framed surface, not a plain scroll:
- The brand tile stays PINNED at the top (a compact 14x14 mark via
  half-blocks) above a DECSTBM scroll region; the conversation flows in a
  centered, width-capped column beneath it and scrolls within the region, so
  the logo never moves. The region is reset on every exit (incl. Ctrl-C) via
  a subshell EXIT trap, so a stuck region can't break the terminal.
- No model badge — the header is just the logo + a hairline rule. (The
  "gpt-5.5 · xhigh · fast" string is gone.)
- Effort defaults to `low` (ANU_CHAT_EFFORT) — a chat should be snappy, not
  think for minutes at xhigh. Also fixes codex stderr leaking
  ("Reading additional input from stdin…") into the chat (2>codex.err).
- Input is a manual char-by-char reader (readline is unreliable inside the
  scroll-region subshell; this captures every turn, multi-turn verified in a
  real pty).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Two fixes: the input reader was passed the numeric left-margin instead of the margin string, so the prompt printed '80❯' at column 0 instead of indenting to the column — pass $_CHAT_LM. And default reasoning effort minimal (was low) — the user wants it snappy, basically thinking off.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
minimal was being rejected by codex, and 2>codex.err swallowed the error -> spinner then silent nothing. Revert default to low (known-working) and, when a turn produces no answer, print codex's last error line instead of failing silently.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Codex confirmed gpt-5.5's lowest reasoning is 'none', not 'minimal' (which it rejects — that was the breakage). none = thinking off = snappy, which is what the user wants. Add model_verbosity=low for shorter replies, and drop the misleading 'thinking…' spinner label.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
… no labels

The loop broke on turn 2 because 'codex exec resume' does not accept --sandbox (verified via its --help) — it was passed in the shared flags and codex erred with 'try --help'. Sandbox is now a first-turn-only flag (read-only default); resume continues the session without it.

Look: drop the you/anu labels — your message renders white, anu's answer renders red (markdown carries a base color now); logo stays pinned, conversation centered.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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