Skip to content

feat(web): shared chat composer with action rail and 16px transcript type (CL-8476) - #893

Merged
TheGreatAxios merged 1 commit into
mainfrom
cl-8476-composer-rail
Sep 18, 2026
Merged

TheGreatAxios merged 1 commit into
mainfrom
cl-8476-composer-rail

Conversation

@TheGreatAxios

Copy link
Copy Markdown
Contributor

Summary

  • Extracted a single Composer (apps/web/src/chat/composer.tsx) used by both the standalone chat thread page and the docked/sub-thread composer in the workbench room page, replacing two near-identical local copies. Behavior is unchanged: Enter sends, Shift+Enter inserts a newline, disabled with the " is starting…" placeholder while no run is live, sends go through the existing startChat/replyInChat/sendToRoom mutations.
  • Added a right-hand action rail with a Send button (icon button, spinner while pending). No Stop action: neither apps/web/src/chat/threads-api.ts nor the hub API expose a way to cancel a running turn, so cancellation is left out of the rail with a comment pointing at where to add it once that capability exists.
  • Raised transcript (.chat-thread-body) and composer text to a 16px minimum via max(var(--text-base), 16px) plus var(--font-weight-medium), following the same shared-token approach used previously in the deleted packages/chat-ui/src/styles.css.

Verified

  • bunx tsc -p apps/web --noEmit
  • bun run lint (pre-existing warnings only, in apps/sidecar, unrelated to this change)
  • bun run fmt (no changes needed)
  • cd apps/web && bun run build
  • cd apps/web && bun run test — 584 pass, 0 fail

Not verified

  • No dev server was started per instructions; not manually clicked through in a browser.

Flag for corbitsdev/react-ui

This composer (text field + grouped send/stop action rail, transcript typography tokens) looks like a good candidate to lift into corbitsdev/react-ui as a reusable component, per AGENTS.md's rule that reusable UI belongs there.

@linear-code

linear-code Bot commented Sep 18, 2026

Copy link
Copy Markdown

CL-8476

@TheGreatAxios
TheGreatAxios merged commit df991a1 into main Sep 18, 2026
4 checks passed
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