Skip to content

fix(tui): show sidebar hint while session is busy - #107

Merged
quickbeard merged 6 commits into
mainfrom
busy-sidebar-hint
Jul 20, 2026
Merged

quickbeard merged 6 commits into
mainfrom
busy-sidebar-hint

Conversation

@quickbeard

@quickbeard quickbeard commented Jul 20, 2026 •

Copy link
Copy Markdown
Owner

What

Follow-up to #69: the hidden-sidebar hint (ctrl+b 3 todos) only rendered in the prompt footer Switch's idle fallback arm, so it vanished for the whole duration of a running turn — exactly when todos are being created.

  • The busy-state footer arm (status().type !== "idle") now also renders props.hint, right after the esc interrupt text, gated on status().type !== "retry" so the retry error row (a space-between layout) stays uncluttered.
  • The hint box gains paddingRight={2} — verification caught that on a full footer row (110-col terminal) the hint abutted the right-side directory label with zero gap (3 todos/private/tmp/…).
  • DIVERGENCES.md row added for the new component/prompt/index.tsx divergence; CHANGELOG entry under Unreleased.
  • Also fixes the repo's failing typecheck CI (reproduced on plain main via workflow_dispatch, so unrelated to this diff): turbo's default concurrency runs enough parallel tsgo compilers to OOM the 16 GB runner, which dies with a runner-shutdown signal instead of a type error. Capped at --concurrency=3 (the runner has 4 cores, so it costs little wall time).

Verification

Drove the real TUI in tmux (per .claude/skills/verify) with live model turns creating and completing todos:

  • Busy footer shows ⬝⬝⬝⬝⬝⬝ esc interrupt ctrl+b 3 todos while the agent runs, with clean separation from the directory label.
  • Count updates live mid-turn (3 todos → 2 todos the moment the agent's todowrite landed).
  • Idle behavior unchanged: hint shifts into the idle slot with no layout jump when the turn ends.
  • Full-repo bun turbo typecheck passes (31/31 packages, via pre-push hook).

🤖 Generated with Claude Code

quickbeard and others added 6 commits July 20, 2026 11:43
The hidden-sidebar hint (ctrl+b N todos) from #69 only rendered in the
footer Switch's idle fallback arm, so it vanished for the whole duration
of a running turn — exactly when todos are being created. Render
props.hint in the busy arm too, after the esc-interrupt text (retry
keeps its error row uncluttered), and give the hint box paddingRight so
it never abuts the right-side directory label on narrow terminals.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Turbo's default concurrency (10) runs enough parallel tsgo compilers
(opencode alone peaks ~4.6 GB RSS) to OOM the 16 GB ubuntu-latest
runner; the job dies mid-run with "The runner has received a shutdown
signal" instead of a type error — reproduced on plain main via
workflow_dispatch, so it is not diff-related. The runner has 4 cores,
so the cap costs little wall time.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@quickbeard
quickbeard merged commit 9333490 into main Jul 20, 2026
1 of 5 checks passed
@quickbeard
quickbeard deleted the busy-sidebar-hint branch July 20, 2026 07:02
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