CL-6488: flat message rows, full-width composer, quiet running state - #221
Merged
Merged
Conversation
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.
3 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
.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..chat-composer-stack'smax-width: 42rem; margin-inline: autoso 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..chat-tool-activity-marker[data-status="running"|"pending"]background fromvar(--primary)tovar(--muted-foreground)so running/pending stay quiet chrome;failedremains 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-easetoken duplication (CL-6487), presence avatars in the composer hint row, provider-tile hex.Test plan
bun testinpackages/chat-ui— 649 pass, 0 fail (no test changes needed; existingdata-ownassertions check attribute presence only, never computed style/flex-direction)bun testinapps/web— 775 pass, 0 fail (afterbun run build, which the tailwind-build suite requires independent of this change)bun run lintfrom repo root — 0 errors (12 pre-existing warnings elsewhere, none in touched files)