Files
hermes-ui/docs/chat-chain-changes
toor 3debe903f7 retire the last light-theme branches and fix three latent color bugs
Dark is now the only theme, so every `.dark` selector matched
unconditionally while each non-dark branch was unreachable. That left
fourteen `.dark &` blocks sitting on top of token-based base rules and
silently overriding them with hardcoded grays from the previous palette
(#333333, #999999, #cccccc, #f2f2f2, #1f1f1f, #2a2a2a). Merged each value
down into its base rule and deleted the wrapper, then replaced fifteen
more legacy grays with the CYBER tokens.

Three bugs surfaced along the way:

- FileEditor read `documentElement.classList.contains('dark')`, but the
  `dark` class is bound on `.app-root`, so Monaco always loaded the
  light `vs` theme inside the dark editor surface.
- CodexLoginModal, CopilotLoginModal and NousLoginModal wrote
  `border-color: var(--arcoblue-6, #165dff)` and VoiceApiFormModal wrote
  `color: var(--primary-6, #18a058)`. Those Arco variables hold bare
  RGB triplets, not colors, so each declaration was invalid and
  discarded — the hover border and link color stayed stock Arco
  blue/green instead of the cyan accent.
- JourneyView drew the pinned-node ring in amber, a leftover from the
  old palette.

Rendering-layer only: no store logic, no /chat-run payload, no message
rendering path.
2026-10-19 14:56:23 +08:00
..

Chat Chain Change Fragments

Add one Markdown fragment per PR when a change touches the Chat session chain, Agent Bridge, compression, or Group Chat runtime paths documented in docs/cli-chat-sessions.md.

Do not append new rows to docs/cli-chat-sessions.md. Keeping one fragment per PR avoids merge conflicts when multiple branches change the chat chain at the same time.

Use this shape:

---
date: YYYY-MM-DD
pr: 1234
feature: Short feature name
impact: One-sentence behavior impact
---

Optional extra notes.

If the PR number is not known yet, use pr: pending while the branch is local, then update that same fragment after the PR is opened.