Skip to content

feat(chat): polish message rendering#391

Open
patschmittdev wants to merge 1 commit into
refactor/ui-foundationfrom
feat/chat-polish
Open

feat(chat): polish message rendering#391
patschmittdev wants to merge 1 commit into
refactor/ui-foundationfrom
feat/chat-polish

Conversation

@patschmittdev

Copy link
Copy Markdown
Collaborator

What

Chat message-rendering polish, split off feat/webgl-ambient-background onto the refactor/ui-foundation base (#389). Sibling of voice (#387), ambient (#386), chrome (#390). Base of the chatroom-sessions slice, which stacks on this.

Contents (18 files, +974/-206)

  • MessageList, StreamingMessage: memoized rows, streaming caret, scroll-to-bottom behavior, render polish.
  • ChatInput: composer affordances.
  • WelcomeScreen, AgentWelcome: empty-state polish.
  • WorkGroup, WorkEntryRow, MessageActions, agentColors: tool-call grouping + per-agent color tokens.
  • Voice-specific rendering intentionally deferred to the voice branch (feat(voice): Azure Speech voice subsystem (dictation + hands-free, STT/TTS) #387).

Stack

master
 └─ refactor/ui-foundation #389
     |- voice #387 . ambient #386 . app-chrome #390
     `- chat-polish (this) <- chatroom-sessions stacks on this

Validation

  • npm run lint -- green (tsc, eslint, dependency-cruiser, yaml, md).
  • Tests -- 125 passed (9 chat component test files).

Split the chat message-rendering polish out of feat/webgl-ambient-background
onto the ui-foundation base:

- MessageList: agent-colored avatars/names, skill-context collapsing, jump-to-
  latest, contentVisibility virtualization
- StreamingMessage / WorkGroup / WorkEntryRow: tool-call + reasoning rendering
  refinements
- WelcomeScreen / AgentWelcome / MessageActions: refreshed empty/welcome states
  and per-message copy actions
- agentColors: user-accent-aware color resolution

Fold in the P1 contrast fix: agent avatars previously hardcoded white text on
arbitrary agent colors (fails AA on light palette entries). A luminance-based
readableTextColor() now picks black or white per background.

DIVERGENCE (intentional, owned): the source branch interleaved the Azure Speech
voice integration into ChatInput/ChatPanel (useVoiceInput, VoiceModeController,
dictation + voice-mode buttons). That integration is deferred to the
azure-speech-voice feature branch; this branch carries the voice-free chat. When
voice lands it re-adds the input wiring here. AgentProfileSummary.accentColor is
added as an optional field (the genesis/profile branch makes it authoritative).

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
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