Skip to content

feat: add scrollable and compact TUI for status board and validation views#192

Merged
l50 merged 2 commits into
mainfrom
scoreboard-tmux-scroll
May 12, 2026
Merged

feat: add scrollable and compact TUI for status board and validation views#192
l50 merged 2 commits into
mainfrom
scoreboard-tmux-scroll

Conversation

@l50
Copy link
Copy Markdown
Contributor

@l50 l50 commented May 12, 2026

Key Changes:

  • Introduced vertical scrolling and keyboard navigation to the status board TUI
  • Implemented compact mode for both status board and validation views to fit small terminal panes
  • Improved user experience with pinned headers/footers and adaptive keyboard hints
  • Refactored TUI logic for better separation of concerns and maintainability

Added:

  • Vertical scroll support and keyboard navigation (j/k, PgUp/PgDn, g/G) in the status board TUI with pinned headers and footers
  • Compact rendering mode for both the status board and validation views, which automatically activates when the content exceeds available terminal height, removing blank spacer lines and minimizing hints for better fit

Changed:

  • Status board TUI exit behavior now prints a final static snapshot to stdout after quitting, ensuring the last frame is visible in terminal scrollback (especially useful in tmux)
  • Refactored key handling and poll update logic in the status board TUI into dedicated methods for clarity and extensibility
  • Validation view layout now conditionally omits spacers and keyboard hints in compact mode for improved usability in small terminal splits
  • Updated summary panel rendering logic in the validate command to always display the summary, regardless of TUI usage

Removed:

  • Conditional logic that previously suppressed summary panel output when TUI was not used in the validate command, ensuring consistent summary reporting

l50 added 2 commits May 11, 2026 16:48
build: update goreleaser workflow and config for improved compatibility

**Changed:**

- Updated goreleaser GitHub Action to use version constraint "~> v2" instead of "latest" and added parallelism argument for release step in goreleaser.yaml
- Removed support for arm (non-arm64) and goarm variants, as well as goamd64 variants v2 and v3 from build matrix in .goreleaser.yaml, simplifying target architectures
…on panels

**Added:**

- Implement vertical scrolling in scoreboard TUI with j/k, PgUp/PgDn, g/G, and scroll-to-end behavior
- Add compact mode to scoreboard and validation TUIs to reduce blank rows and hints when terminal height is limited

**Changed:**

- Always render summary panel at the end of validation, regardless of TUI usage - cli/cmd/validate.go
- Refactor scoreboard TUI model to extract key and poll handling into separate methods for clarity
- Update scoreboard TUI to print final static snapshot on exit for better persistence in tmux/alt-screen
- Pass terminal height to renderBoard and use it for compact mode and scrolling calculations in scoreboard TUI
- Update validation TUI to support compact mode layout when panel height exceeds terminal

**Removed:**

- Remove conditional rendering of summary panel based on useTUI flag in validate command
- Remove old inline handling of key and poll events in scoreboard TUI model in favor of new handlers
@l50 l50 merged commit 98cdc13 into main May 12, 2026
9 checks passed
@l50 l50 deleted the scoreboard-tmux-scroll branch May 12, 2026 04:31
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