tui-chat-bar

TUI chat bar: overflow scroll/paginate when chats exceed visible slots

Metadata

Statusdone
Assignedagent-917
Agent identityf51439356729d112a6c404803d88015d5b44832c6c584c62b96732b63c2b0c7e
Created2026-04-28T20:16:18.339225070+00:00
Started2026-04-28T20:17:59.772473296+00:00
Completed2026-04-28T20:44:35.388011237+00:00
Tagseval-scheduled
Eval score0.78
└ blocking impact0.85
└ completeness0.82
└ constraint fidelity0.70
└ coordination overhead0.74
└ correctness0.76
└ downstream usability0.80
└ efficiency0.77
└ intent fidelity0.84
└ style adherence0.85

Description

Description

When the chat-tab bar runs out of horizontal room, hidden tabs become unreachable. With cap moving to 16 (separate task), this gets worse fast. Need a way to navigate beyond the visible slots.

What to build

  • Pagination or scrolling behavior on the chat bar when tab count > visible slots
  • Keyboard navigation: Ctrl+Tab / Ctrl+Shift+Tab to cycle, OR Ctrl+t then number, OR PgUp / PgDn on the bar — pick what fits ratatui idioms and what's already used elsewhere in the TUI
  • Visual indicator when there are off-screen tabs (e.g. ◀ chat-3 chat-4 chat-5 ▶ arrows or a '+N more' badge)
  • Click-drag is a stretch goal — only if the existing TUI already handles mouse drag elsewhere; don't introduce a whole mouse-event subsystem just for this

Out of scope

  • Reordering tabs (separate UX feature)
  • Closing tabs (already shipped — tui-cannot-retire / implement-tui-tabs)
  • Renaming tabs

Validation

  • With cap=16 and 16 chats spawned at narrow terminal width, every tab is reachable via keyboard
  • Visual indicator clearly shows when tabs are off-screen
  • No regression at wide terminal widths (all-visible case looks identical to today)
  • Manual smoke at terminal widths 80, 120, 200 — assert no clipping, no garbled output
  • cargo build + cargo test pass

Depends on

Required by

Log