Skip to content

fix(cards): restore brand accent on done-state assistant reply#140

Merged
esengine merged 1 commit intomainfrom
fix/done-assistant-accent-color
May 3, 2026
Merged

fix(cards): restore brand accent on done-state assistant reply#140
esengine merged 1 commit intomainfrom
fix/done-assistant-accent-color

Conversation

@esengine
Copy link
Copy Markdown
Owner

@esengine esengine commented May 3, 2026

Summary

PR #126 (0.23.0) shipped a brand-toned borderLeft accent on done assistant Markdown — explicitly responding to lamyc's RFC #20 ask: "Model response readability — A background highlight on responses (instead of just text color) would make long replies much easier to follow."

PR #136 (0.23.1) refactored reasoning + streaming cards onto the shared CardBox primitive. In that refactor, the done-state color was changed from the brand tone to FG.faint (#484f58, dim grey). The bar is still technically there, but it's so muted it doesn't deliver the contrast that #126 was designed to provide — long replies blend into surrounding scrollback again.

This restores the done state to CARD.streaming.color (= TONE.brand, #79c0ff), matching the streaming state. The bar now reads continuously across the streaming → done flip.

Aborted state stays on FG.faint (correctly de-emphasized — that part of #136 was right).

Diff

One line in src/cli/ui/cards/StreamingCard.tsx:

   if (card.done && !card.aborted) {
     return (
-      <CardBox color={FG.faint}>
+      <CardBox color={CARD.streaming.color}>

Test plan

  • npm run verify — 1824/1824 tests pass
  • Visual check in actual TUI — confirm the done-state bar is visible against scrollback (this is the whole point)
  • CI green

Out of scope

  • Migrating the other 15 card types onto CardBox (separate change — currently only StreamingCard and ReasoningCard use it)
  • True full-width background highlight (lamyc's literal ask) — would require per-line <Text backgroundColor> wrapping, separate RFC

Refs

PR #126 (0.23.0) gave done assistant Markdown a brand-toned
borderLeft per lamyc's RFC #20 readability ask. The #136 card
redesign extracted CardBox but flipped the done-state color to
FG.faint, defeating the contrast that lets long replies stand
out in scrollback. Now matches the streaming-state color so the
bar reads continuously across the streaming → done flip.
Aborted state stays on FG.faint (correctly de-emphasized).
@esengine esengine merged commit e625e01 into main May 3, 2026
1 check passed
@esengine esengine deleted the fix/done-assistant-accent-color branch May 3, 2026 02:22
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