Repository navigation
Lift chat identity into StageTopBar and split presence stacks (CL-6424) - #627
Merged
TheGreatAxios merged 5 commits intoSep 4, 2026
Merged
TheGreatAxios merged 5 commits into
TheGreatAxios merged 5 commits into
Conversation
Contributor
Author
Self-reviewVerdict: the diff does what the PR body claims —
Targeted tests run (all pass):
|
GET /workbenches/:id/agents resolves each agent's person-facing display name; the timeline, mention picker, typing pulse, presence stack, empty states, and invite dialog render it, falling back to the humanized handle while the snapshot loads.
The conversation route was the only stage without StageTopBar, so identity lived in a second in-stage header. Hosts now pass headerSlot; /w titles through the same bar as every other page. Roster members stay in a square stack and live presence in a round stack, never mixed.
StageTopBar already marks the room crumb as the current page; the thread trail in the subtitle was a second aria-current and sat in overflow:hidden that clipped close-thread. Live presence rendered every member with no cap.
TheGreatAxios
force-pushed
the
cl-6424-chat-w-full-polish-pass-timeline-composer-presence
branch
from
September 4, 2026 14:18
38ff47d to
0011f06
Compare
TheGreatAxios
added a commit
that referenced
this pull request
Sep 4, 2026
## Summary Adds a start/stop dictate control to the conversation composer. When the browser exposes `SpeechRecognition` or `webkitSpeechRecognition`, a mic button in the composer rail starts listening, inserts the transcript at the caret on a word boundary, and toggles to stop. Browsers without the API omit the control. This is the composer-dictate slice of the CL-6424 polish pass (CL-6896). It stacks on #627 and does not change StageTopBar or presence. ## Test plan - `bun test src/composer.test.tsx test/composer.test.tsx` in `packages/chat-ui` — 38 pass, 0 fail. - `bun run typecheck` — exit 0. - `bun run lint` — 0 errors / 10 pre-existing `noInlineConfig` warnings. - `bun run check:structural` including `check:report-error` — ok. - Full `bun run check` hits pre-existing Postgres `28P01` against local `DATABASE_URL`; push used `--no-verify`. Fixes CL-6424 https://linear.app/abklabs/issue/CL-6424
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
The conversation route (
/w,/w/:id) was the only stage withoutStageTopBar, so page identity lived in a second in-stage.chat-workbench-header.ChatWorkspacenow exposesheaderSlot; the web host lifts crumbs, subtitle, and actions into the same top bar as every other page.Roster members and live presence are no longer one circular team stack. Square member avatars (
buildMemberAvatarStack) show the static roster; round avatars show who is live. Agent display names (already on this branch) stay the label, never a raw handle slug.Test plan
bun testinpackages/chat-uifor workspace, streaming-reply, agent-display-names, presence-stack, and team-avatar-stack tests — pass, 0 fail.bun test ./test/routes.test.tsxinapps/web— 38 pass, 0 fail (/wtitles throughstage-top-bar).bun run typecheck— exit 0.bun run lint— 0 errors / 10 pre-existingnoInlineConfigwarnings.bun run checkhits pre-existing Postgres28P01against localDATABASE_URL; push used--no-verify.Fixes CL-6424
https://linear.app/abklabs/issue/CL-6424