Skip to content

Interactive TUI dashboard, tmux scrollback, session exit summary#16

Merged
chanakyav merged 1 commit intomainfrom
demo-ready-tui
Mar 16, 2026
Merged

Interactive TUI dashboard, tmux scrollback, session exit summary#16
chanakyav merged 1 commit intomainfrom
demo-ready-tui

Conversation

@chanakyav
Copy link
Copy Markdown
Owner

Summary

Demo-ready UX overhaul: interactive TUI dashboard, tmux quality-of-life fixes.

Interactive TUI Dashboard (Closes #11)

autopilot status --watch is now a full-screen interactive dashboard inspired by gavraz/recon:

  • Keybindings: j/k to navigate, Enter to attach, x to stop, r to refresh, q to quit
  • Animated spinners: braille spinners (bright green) for working states, quarter-circle spinners (bright cyan) for waiting states
  • Row highlighting: selected row gets prefix + reverse video
  • Polished colors: dim cyan rounded borders, bright white title, color-coded states (bright green working, bright cyan waiting, yellow stopped, dim green complete, bright red failed)
  • Footer bar: always-visible keybinding hints
  • TTY detection: falls back to passive auto-refresh when piped (non-TTY)
  • No new dependencies: uses termios for keyboard input (Unix standard, no pip install needed)

tmux Scrollback (Closes #14)

Each new tmux session now has mouse=on and history-limit=50000. You can scroll up with mouse wheel or trackpad — no more ^[[A escape sequences.

Session Exit Summary (Closes #15)

When a task finishes, the tmux pane no longer vanishes with [exited]. Instead it prints:

=== Task abc12345 finished ===
Run: autopilot status  or  autopilot logs --session abc12345
Press Enter to close this pane.

Tests

  • 97 tests passing, ruff clean

- Full-screen interactive dashboard with recon-style keybindings (#11)
  - j/k/arrows to navigate, Enter to attach, x to stop, r to refresh, q to quit
  - Animated braille spinners for working states (bright green)
  - Animated quarter-circle spinners for waiting states (bright cyan)
  - Static icons: checkmark (complete), X (failed), square (stopped)
  - Row highlighting with reverse video + arrow indicator
  - Rounded borders in dim cyan, bright white title
  - Footer bar with keybinding hints
  - Falls back to passive --watch when stdout is not a TTY (piped)
  - Raw terminal via termios, no new dependencies

- Enable tmux mouse scrolling and 50k line scrollback buffer (#14)
  - Sets mouse=on and history-limit=50000 on each new session

- Keep tmux pane alive after task completion with summary (#15)
  - Prints task ID and how to check status/logs
  - Waits for Enter before closing (no more sudden [exited])

- 97 tests passing, ruff clean
@chanakyav chanakyav merged commit 0ca7c24 into main Mar 16, 2026
3 checks passed
@chanakyav chanakyav deleted the demo-ready-tui branch March 16, 2026 20:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant