Repository navigation
fix(tui): detail panel loading, overlay drift; add theme selector - #7
Merged
Merged
Conversation
Bug fixes: - Detail panel 1/2/3 tabs sat in "loading" forever: the panel set its loading state but no debug command was ever dispatched, and results were only routed to the overlay. The root model now issues the matching debug command and routes detail-tagged results back to the panel, dropping stale responses when the tab changed mid-flight. - The periodic refresh reset the detail panel to the info tab every tick; re-setting the same container now keeps the active tab, content, and scroll position. - Overlay text crawled out of its box: View() mutated the stored content lines in place (one leading space per render). Rendering now builds a fresh slice and is idempotent. - Raw command output containing tabs or carriage returns could escape the panel borders; FitCol/ClipLine now strip \r and expand tabs to 8-column stops. Theme selector: - Five built-in adaptive themes: catppuccin (default), dracula, nord, gruvbox, tokyo-night. - Press T in the dashboard for a live-preview picker (Enter applies and persists to ~/.config/containershell/theme, Esc reverts), or pass --theme <name> to override per run. - Styles are now read from pkg/tui at render time instead of being cached in package vars, so a switch takes effect immediately. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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.
Bug fixes
1/2/3set the loading state but no debug command was ever dispatched, anddebugOutputMsgwas only routed to the overlay. The root model now issues the command and routes tagged results back to the detail panel, dropping stale responses if the tab changed mid-flight.View()mutated the stored content lines in place, prepending one space per render. Rendering now builds a fresh slice and is idempotent (regression test added).FitCol/ClipLinenow strip\rand expand tabs to 8-column stops, so rawinspect/top/netstatoutput can't move the cursor past the border.Theme selector
Tin the dashboard opens a live-preview picker (↑↓ preview, Enter applies + persists to~/.config/containershell/theme, Esc reverts).containershell dashboard --theme <name>overrides per run; saved preference is loaded for all TUI surfaces.pkg/tuiat render time instead of init-time copies, so switches apply instantly.Verification
go build,go vet,go test -race ./...all green (new unit tests for dispatch/routing, overlay idempotency, tab expansion, theme registry).🤖 Generated with Claude Code