hermes-agent/ui-tui/src
Brooklyn Nicholson e762ea1741 fix(ui-tui): a skin that authors a background owns its polarity
The theme engine picked light/dark adaptation from the HOST terminal
(detectLightMode) even when the skin authors its own background — which
the TUI then paints onto the terminal via OSC-11. On a light-mode Apple
Terminal without truecolor, a pure-black skin (e.g. Bloomberg) got its
foregrounds ansi256-bucketed *for a light background that no longer
exists*: theme.color.text became 'ansi256(214)', which also fails the
OSC-10 hex gate, so the terminal default fg stayed the light profile's
near-black — markdown body text rendered black-on-black.

fromSkin now resolves polarity from the skin's authored background when
present (skinIsLight), uses that background as the reference canvas for
the derived tone ladder and contrast adaptation, and only falls back to
host detection for skins without a background (they render on the
terminal's own surface). The paired light_colors/dark_colors pick in
themeForSkin follows the same rule.
2026-07-22 18:11:27 -05:00
..
__tests__ fix(ui-tui): a skin that authors a background owns its polarity 2026-07-22 18:11:27 -05:00
app fix(ui-tui): a skin that authors a background owns its polarity 2026-07-22 18:11:27 -05:00
components fix(ui-tui): themed input text — typed text tracked the HOST terminal's fg, not the skin's 2026-07-22 15:56:39 -05:00
config fix(tui): coalesce drag-resize reflow + harden resize-burst heal coverage 2026-06-30 16:47:39 -07:00
content feat: add TUI session orchestrator 2026-05-26 20:51:59 -07:00
domain feat: unify active-project identity in chat status (supersedes #64721) 2026-07-18 23:08:13 -04:00
hooks feat(ui-tui): ambient widget mode — registry-driven slash catalog + in-flow dock 2026-07-21 20:59:53 -05:00
lib fix(ui-tui): skin owns BOTH terminal defaults — OSC-10 foreground beside the OSC-11 background 2026-07-22 16:28:57 -05:00
protocol refactor(tui): /clean pass across ui-tui — 49 files, −217 LOC 2026-04-16 22:32:53 -05:00
sdk refactor(ui-tui): host placement router + grid-test width-floor fix 2026-07-21 20:59:55 -05:00
types feat(ui-tui): OSC-10 foreground polarity tiebreaker for transparent terminals 2026-07-21 16:36:57 -05:00
app.tsx fix(tui): apply ui-tui fix pass and restore type-check 2026-04-25 14:08:54 -05:00
banner.ts feat(tui): responsive banner tiers 2026-05-23 17:37:51 -05:00
entry.tsx perf(tui): skin switches stay hot — MCP gating, pooled reload, swap repaint 2026-07-21 16:36:57 -05:00
gatewayClient.ts fix(tui): defer buffered gateway events to stop dashboard chat #301 (#36658) 2026-06-28 14:18:47 +05:30
gatewayTypes.ts feat(themes): cross-surface theme SDK — one skin themes CLI, TUI, and desktop 2026-07-21 21:00:42 -05:00
theme.ts fix(ui-tui): a skin that authors a background owns its polarity 2026-07-22 18:11:27 -05:00
types.ts feat: unify active-project identity in chat status (supersedes #64721) 2026-07-18 23:08:13 -04:00