feat(tui): polish dashboard with filter, toast, layout, multi-select, refresh - #11
Merged
Conversation
… refresh Add 10 features to make the dashboard TUI feel like a power-user cockpit: - Remember cursor position on back-navigation from workspace to repo list - Scroll position indicator (3/12) in panel titles for long lists - Global status bar with repo/workspace/running counts - Toast notifications for start/stop/archive operations (3s auto-dismiss) - Search/filter with `/` (case-insensitive, works on both views) - Multi-select with space for batch run/stop/archive operations - Branch name and compact time columns in workspace rows - Side-by-side list+detail layout for wide terminals (≥120 cols) - ctrl+r manual refresh, ctrl+l redraw - Auto-refresh running status via tmux polling (5s interval) Also fixes: - JetBrains JediTerm rendering: disable wide layout, ensure consistent line widths via constrainWidth(padToHeight()) ordering - Help bar visibility in wide mode (missing newline after JoinHorizontal) - Unused variable lint error in debug.go - Promote charmbracelet/x/ansi to direct dependency (used in panel.go)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Adds 10 polish features to the dashboard TUI to make it feel like a power-user cockpit, plus rendering fixes for JetBrains terminals and wide-mode layout.
Why
The TUI was functional but lacked the ergonomics for daily use — no filtering, no feedback on operations, no bulk actions, and poor use of wide terminals.
How
Interaction features:
/) — case-insensitive substring match on both repo and workspace lists, with cursor reset on filter changespace) — toggle selection on workspace items;r/x/abatch-operate on selected; firstEscclears selectionEscrestores repo list cursor positionVisual enhancements:
3 repos · 12 workspaces · 5 running) below breadcrumb(3/12)in panel title when list overflows viewport3h,2d)Background operations:
ctrl+r) — reload repos or workspaces, preserving cursor positionctrl+l) — clear screen and re-query terminal sizeBug fixes:
constrainWidth(padToHeight())ordering\nafterlipgloss.JoinHorizontal)FR8_TUI_DEBUG=1) for terminal rendering issuesTest plan
bin/cipasses (build, vet, test -race, lint, tidy)TestViewOutputConsistentLineWidths/TestViewOutputConsistentLineWidthsWideverify all output lines are exact terminal widthTestWideRendersHelpBar/TestWideWorkspaceRendersHelpBarverify the help bar fixTestIsWideJediTermverifies JediTerm detection