Skip to content

CL-6488: flat message rows, full-width composer, quiet running state - #221

Merged
TheGreatAxios merged 1 commit into
mainfrom
cl-6488-chat-canon
Aug 21, 2026
Merged

TheGreatAxios merged 1 commit into
mainfrom
cl-6488-chat-canon

Conversation

@TheGreatAxios

Copy link
Copy Markdown
Contributor

Summary

  • Removed the .chat-bubble-row[data-own="true"] row-reverse/right-pack treatment (and its dependent bubble max-width, visually-hidden header, grouped-continuation padding, message-actions/thread-affordance justify-end, and hover-toolbar left-flip overrides) so every speaker — self, other, or agent — renders the same left-aligned avatar+body row, per DESIGN.md and mock-spec §12.2. The "you" row still reads as yours via the avatar/name, which are no longer visually hidden.
  • Dropped .chat-composer-stack's max-width: 42rem; margin-inline: auto so the composer docks at the chat column's full working width instead of inheriting the 760px-derived prose measure, per spec §0.1. Docking behavior (flex-shrink:0 sibling of .chat-timeline) is untouched.
  • Changed .chat-tool-activity-marker[data-status="running"|"pending"] background from var(--primary) to var(--muted-foreground) so running/pending stay quiet chrome; failed remains the only coloured state, matching DESIGN.md's State Pills rule.

Out of scope (separate work, not touched): model attribution in the turn header (needs MessageSender.model — CL-6488 item 2, ticket stays open), the --chat-ease token duplication (CL-6487), presence avatars in the composer hint row, provider-tile hex.

Test plan

  • bun test in packages/chat-ui — 649 pass, 0 fail (no test changes needed; existing data-own assertions check attribute presence only, never computed style/flex-direction)
  • bun test in apps/web — 775 pass, 0 fail (after bun run build, which the tailwind-build suite requires independent of this change)
  • bun run lint from repo root — 0 errors (12 pre-existing warnings elsewhere, none in touched files)
  • Not verified visually in a running app — no stack was booted per lane rules (memory tight, two other live lanes)

Own messages no longer pack right like an outgoing iMessage — every
speaker uses the same left-aligned avatar+body row per DESIGN.md and
mock-spec §12.2; name/avatar do the "this is yours" work instead.
Also drops the composer's 42rem prose-measure cap so it docks at the
chat column's full working width (spec §0.1), and stops the running/
pending tool-activity marker from wearing --primary so failure stays
the only coloured state per State Pills.
@TheGreatAxios
TheGreatAxios merged commit 2ac3eff into main Aug 21, 2026
2 checks passed
@TheGreatAxios
TheGreatAxios deleted the cl-6488-chat-canon branch August 25, 2026 15:29
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