fix(tui): SSH-safe color fallbacks with ANSI-16 support #136
Reference in New Issue
Block a user
Delete Branch "fix/ssh-color-degradation"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
lipgloss.Color(hex-only) tolipgloss.CompleteColorwith hand-picked ANSI-16 fallbacksProblem
Over SSH with 16-color terminals, lipgloss auto-degrades hex colors algorithmically. Dark backgrounds like
#1C1B1Aand#222120collapse to the same ANSI color, making panel boundaries, zebra striping, and selection bars invisible.Approach
lipgloss.CompleteColorwith three tiers: TrueColor (existing hex), ANSI256 (same hex, auto-converted), ANSI (hand-picked 16-color indices)Test plan
go build ./...passesgo test ./internal/tui/...passesBright black ("8") plus Faint made PENDING status and dividers nearly invisible in 16-color terminals. White ("7") with Faint renders as a readable dim gray while still sitting below Muted in the hierarchy.00a99a3d77to47d3b0e68f