fix: 2.3.0 accent regression — store ANSI escapes, not hex; clamp user-box width #45
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "clfy-fix-accent-ansi"
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?
What broke
2.3.0's accent override wrote hex into
theme.fgColors.accent. pi'sThemestores ready-made ANSI escapes there —fg()concatenates verbatim — so every accent surface rendered literal#B1B9F9text, which widened pi's update banner past the terminal width; pi's TUI throws on overflow and crashed the session (Rendered line 7 exceeds terminal width).Fixes
38;2;…and pi's ownrgbTo256quantization (dark →147, matching the live CC capture; light →63), selected bytheme.mode. Dark/light detection now parses ANSI text colors (truecolor triple, 256 cube, grayscale ramp).bgColors— the theme's stored bg escape now passes through, so custom themes actually get their own color.mode); new assertions: no raw hex ever reachesfgColors, 256-color quantization, width clamp.docs/plans/2026-07-16-cc-accent-color.md; new CLAUDE.md convention: mutating pi structures requires a live pi smoke test before every release — the assembled-render suites validate claudify's own output, not pi's format contracts.Test plan
tsc --noEmit --strictclean.