Skip to content

fix(composer): truncate workspace names at narrow widths - #2043

Merged
tellaho merged 1 commit into
mainfrom
tho/composer-workspace-ellipsis
Oct 30, 2026
Merged

tellaho merged 1 commit into
mainfrom
tho/composer-workspace-ellipsis

Conversation

@tellaho

@tellaho tellaho commented Oct 30, 2026 •

Copy link
Copy Markdown
Contributor

Overview

Category: fix
User Impact: Workspace names shorten with an ellipsis in narrow composers so the surrounding actions stay visible.

Problem: A workspace name can force the composer toolbar to scroll horizontally when its pane narrows.

Solution: Let the workspace control shrink with its toolbar and truncate only the name. The workspace icon, dropdown chevron, full accessible label, and tooltip are preserved.

Changes

File changes

src/features/solo/WorkspaceControl.tsx
Bound the existing picker trigger to its available width and apply feature-owned layout classes.

src/features/solo/WorkspaceControl.module.css
Allow the wrapper to shrink and ellipsize the workspace name without changing shared control styling.

Reproduction Steps

  1. Open a new Solo chat or a saved Solo conversation with a workspace selected.
  2. Narrow its pane until the workspace name no longer fits. The name ends in an ellipsis while the workspace icon, chevron, and composer actions remain visible.
  3. Open and dismiss the picker with pointer and keyboard, then widen the pane to see the full name again.

Validation

  • Headless Chromium and WebKit: production picker/toolbar components checked at 300, 450, and 800px row widths, in light/dark modes and default/enlarged text; pointer/keyboard menu opening, dismissal, and focus restoration passed.
  • Actual browser app: verified an existing workspace at 406px and 832px composer widths. Narrow toolbar scroll width matched its client width.
  • Human testing confirmed.
  • Local commit and push hooks passed. Princess Donut independently reviewed this head: no blockers (9/10). Hosted CI is still running.
  • No permanent browser journeys were added or removed; the layout check was disposable. Native-host-specific behavior was not exercised.

Screenshots

Actual app, cropped to the affected toolbar to exclude account-specific surroundings.

Narrow composer: workspace name truncates
Workspace name truncates while the chevron and send action remain visible

buzz-review-completed

Co-authored-by: Carl <acda9e433d19dcd0e6b6840f7f4b98f3a56f1fab98049d444c087019e6d36560@feedback.communities.buzz.xyz>
Signed-off-by: Taylor Ho <[email protected]>
@tellaho

tellaho commented Oct 30, 2026

Copy link
Copy Markdown
Contributor Author

🤖 Carl, AI coding agent: the requested independent review by Princess Donut passed for 1a1008808101e4172566ba34e54276eaee125b76 with no blockers (9/10).

The review covered the flex/ellipsis chain, shared Button and Tooltip behavior, both composer callers, focus/accessibility, picker gating, and error rendering. No code changes were requested. Her executed Chromium probe used a simplified layout page; it was not an app acceptance test.

Validation for this head: mandatory local commit/push hooks passed; Chromium/WebKit production-component layout and menu checks passed; the actual browser app was exercised at 406px and 832px composer widths; human testing was confirmed. Hosted CI is still running.

Non-blocking limits retained: extremely narrow toolbars can exhaust the name width and scroll below the fixed-control minimum; there is no committed layout regression test. Further sizing changes are deferred to keep this fix focused. Native-host-specific behavior was not exercised.

@tellaho
tellaho marked this pull request as ready for review October 30, 2026 22:07
@tellaho
tellaho requested a review from a team as a code owner October 30, 2026 22:07

@kalvinnchau kalvinnchau left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 Reviewed at 1a10088. No actionable findings. Chromium and WebKit checks covered long-name truncation, accessible names, keyboard focus, error recovery, and persisted selection. Extreme narrow widths (320px) and 200% text remain untested.

@tellaho
tellaho merged commit c8d5b82 into main Oct 30, 2026
39 checks passed
@tellaho
tellaho deleted the tho/composer-workspace-ellipsis branch October 30, 2026 22:43
shellz-n-stuff added a commit that referenced this pull request Oct 31, 2026
Picks up the month-boundary StatusEditor test fix (#2064).

Co-Authored-By: Claude Opus 5.5 <[email protected]>

* origin/main: (56 commits)
  perf(sidebar): subscribe to selected live and list facts (#1966)
  feat(desktop): align the sign-in callback page with web branding (#2038)
  Show linked PRs in Solo headers and move idle huddles to Chat actions (#1968)
  feat(messages): mark edited messages with "(edited)" (#2020)
  feat(desktop): bundle the buzz CLI in every package (#2027)
  feat(plugins): open a plugin page from buzz://plugin links (#2053)
  feat(plugins): managed plugin sources (#2052)
  test(browser): prevent sampled clock pause races (#1955)
  test: fix month-boundary and Sonner mount races in StatusEditor and RelayStaff tests (#2064)
  test: stop tests leaving temp dirs and a flake-check fixture behind (#1977)
  fix(messages): release Virtua's held range when scrolling stops (#2032)
  test(mcp): allow protection checks in bundled help fixture (#2061)
  fix(emoji): recover transient image failures without reopening chats (#2000)
  test: wait for dialog focus, reach a reading position, re-sign pair() (#1975)
  feat(plugins): sign builderlab in through the native fi session in fi builds (#1461)
  feat(agents): offer bundled Buzz help (#2033)
  fix(github): show pull request status for anchors and subpages (#2055)
  fix(dialogs): focus safe controls and task inputs (#2021)
  fix(composer): truncate workspace names at narrow widths (#2043)
  AIDA-2287: Refresh public channel search incrementally (#2023)
  ...

Signed-off-by: Alex Rosenzweig <[email protected]>
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.

2 participants