[Tracker] Chat components — Q3 maturation (composer, message/list, TTS)
- Dominant language
- TypeScript
- Stars
- 13k
- Forks
- 1.1k
- Avg merge
- 1d 15h
- Merged PRs (30d)
- 690
Description
## Problem
Astryx ships a chat component set — `ChatComposer`/`ChatComposerInput`, `ChatMessage`, `ChatMessageList`, `ChatLayout` — but building a production chat surface today hits several gaps: the composer's state model, message/list alignment control, and read-back (TTS). This is a Q3 push to mature the chat components as a first-class surface, not a scattering of one-off tweaks.
This is a **tracker** for the major chat work landing this half. Individual enhancements are filed and linked below; each lands on its own via the normal issue → API → PR flow.
## Scope (on this milestone)
- [ ] #2473 — `ChatComposerInput`: internal-authoritative state model (Lexical-inspired)
- [ ] #2572 — `ChatMessageList`: `align`/`anchor` prop for top-aligned message lists
- [ ] #2574 — `ChatMessage`: align custom in-message content (cards, attachments) to the bubble's text column
- [ ] #1320 — Text-to-Speech: speak LLM responses back to the user
## Related bugs (linked, not on the milestone)
- #2573 — `ChatLayout`: phantom scrollbar in self-scroll mode when messages don't fill the viewport
## Notes
Each sub-item follows the spec protocol independently (problem → research → API → PR). This issue only tracks the theme so the milestone reflects "chat components" as one major line of work.
Contributor guide
Assessment
This issue has not been assessed yet.