Skip to content

feat(tui): show hidden-sidebar hint in prompt footer - #69

Merged
quickbeard merged 2 commits into
mainfrom
sidebar-hint
Jul 14, 2026
Merged

quickbeard merged 2 commits into
mainfrom
sidebar-hint

Conversation

@quickbeard

Copy link
Copy Markdown
Owner

What

When the sidebar is hidden but the session has active todos or modified files, the prompt footer's left slot now shows a hint like ctrl+b 3 todos · 5 files while the session is idle — so the sidebar's contents stay discoverable now that it starts hidden by default (#63).

  • Counts come from the same stores the sidebar sections read (sync.data.todo filtered to incomplete items, sync.data.session_diff), so the hint always mirrors what opening the sidebar would show.
  • The keybind is resolved dynamically via useCommandShortcut("session.sidebar.toggle"), so custom bindings display correctly.
  • Rendered through the Prompt component's previously unused hint prop — no changes to the Prompt itself; busy-state status (esc interrupt) and workspace notices keep precedence.
  • sidebar_toggle default reordered to "ctrl+b,<leader>b" so single-binding displays (this hint, the sidebar tip) resolve to ctrl+b instead of the leader chord ctrl+x b. Docs (en + es keybinds.mdx) updated; both bindings verified working.
  • DIVERGENCES.md rows added/updated per fork policy; CHANGELOG entry added.
  • Also adds .claude/skills/verify/SKILL.md with the TUI launch/drive recipe learned while verifying this.

Verification

Drove the real TUI in tmux against a scratch project with a live model turn creating todos and editing files: hint appears with correct counts when idle, updates live (3 todos → 1 todo), pluralizes, disappears when the sidebar opens / todos complete, yields to the busy status line, and the footer layout doesn't shift when it hides. Typecheck passes in packages/tui and packages/opencode.

Note: the "N modified files" half rarely triggers in practice — session_diff only gets non-empty data on session revert (SessionSummary.summarize always publishes diff: []; pre-existing upstream behavior). The sidebar's own "Modified Files" section is dormant for the same reason; the hint stays consistent with it by construction.

🤖 Generated with Claude Code

quickbeard and others added 2 commits July 14, 2026 10:08
When the sidebar is hidden but the session has active todos or modified
files, the prompt footer's left slot shows a hint like "ctrl+b 3 todos ·
5 files" (via the Prompt's unused hint prop) while the session is idle,
so the sidebar's contents stay discoverable now that it starts hidden.

Reorder the sidebar_toggle default to "ctrl+b,<leader>b" so
single-binding displays (this hint, the sidebar tip) resolve to ctrl+b
instead of the leader chord; docs updated to match. Also persist the
repo verify skill recipe learned while testing this end-to-end.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@quickbeard
quickbeard merged commit 92017b8 into main Jul 14, 2026
5 checks passed
@quickbeard
quickbeard deleted the sidebar-hint branch July 14, 2026 03:33
quickbeard added a commit that referenced this pull request Jul 20, 2026
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
quickbeard added a commit that referenced this pull request Jul 20, 2026
quickbeard added a commit that referenced this pull request Jul 20, 2026
* fix(tui): show sidebar hint while session is busy

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>

* docs: link PR #107 in changelog sidebar entry

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* docs: fold busy-hint changelog into the #69 entry

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* Revert "docs: fold busy-hint changelog into the #69 entry"

This reverts commit 3980a64.

* chore(ci): cap typecheck turbo concurrency to 3

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>

* docs(skills): typecheck first in the verify recipe

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Fable 5 <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