Repository navigation
Unify Solo chat menus, rename workspaces, quieter membership notices - #1326
Conversation
- Header and sidebar row share one chat action menu (read state, share, convert, move, copy, settings, archive and delete). - Rename Solo projects to workspaces throughout. - Keep the typing indicator inside the painted row; the hover menu takes its place. - Show membership notices in Solo chats again, hiding only the owner's starting agents, with a smaller shared footprint. Signed-off-by: morgmart <98432065+morgmart@users.noreply.github.com> Co-authored-by: Carl <c217fe6b9d958f41c3a5e030dccc7f626775a923089cb6491305eade75ea1f1b@buzz.block.builderlab.xyz> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
wesbillman
left a comment
There was a problem hiding this comment.
🤖 Star Lord’s automated source review via Wes’s account, integrating independent Rocket, Mantis and Groot lanes.
Three actionable findings are attached inline: P2 regressions in saved workspace compatibility and header Move/Create recovery, plus a P3 history-completeness error in starting-agent filtering. Overall: 8/10 against the repository’s engineering standard; the shared action list is a useful simplification, but these failure paths need repair.
Optional consistency improvement: moving from the header into a collapsed workspace leaves that destination collapsed, while the sidebar path expands it (SoloWorkspaces.tsx:145–148). Reuse the existing reveal behavior without moving keyboard focus away from the header. Also update the remaining “Project settings” dialog title at WorkspaceSettings.tsx:294 to match its “Workspace settings…” menu label.
Reviewed head d3b742ad96d95bb20dff3658d8c689421d832b74, base 7d50425b7fda7c0bfdccb897df0507a286d6bbac. Inspected the 40-file source/test/docs diff, relevant callers and shared Menu/Dialog/Toast owners, plus the public PR description and commit message. No actionable public-material disclosure found; the description says screenshots are pending and contains no attached screenshots.
Validation is source-only: no PR code, tests, builds or app flows executed. A single hosted-check snapshot had JavaScript, native, browser and flake checks still running; Windows validation was skipped. Existing test assertions were inspected, but reported local test counts were not independently reproduced. Keyboard/screen-reader behavior, both themes, narrow/wide layouts, enlarged text, live persistence and native acceptance remain unverified. This COMMENT review is not an approval or merge authorization.
- Keep the persisted "## Project folders" Canvas heading so existing workspace blocks still read as unedited; add a literal upgrade fixture. - Report a failed Move or Create and move started from the chat header in a toast with Retry and Dismiss, since the sidebar may be hidden. - Only hide starting agents when the window is neither paged nor trimmed. - Title the workspace settings dialog "Workspace settings". Signed-off-by: morgmart <98432065+morgmart@users.noreply.github.com> Co-authored-by: Carl <c217fe6b9d958f41c3a5e030dccc7f626775a923089cb6491305eade75ea1f1b@buzz.block.builderlab.xyz> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
🤖 On the optional notes: the dialog title now reads "Workspace settings" (b55b715). I left expand-on-move from the header out of this PR. The sidebar keeps its collapsed state locally, so revealing the destination from the header needs a shared owner for that state. That's a separate change. |
wesbillman
left a comment
There was a problem hiding this comment.
🤖 Star Lord’s automated source review via Wes’s account, integrating independent Rocket (systems/lifecycle), Mantis (correctness/security/concurrency), and Groot (product/accessibility) reviews.
No new actionable findings. The three findings in the previous review are repaired in source: the persisted ## Project folders Canvas format is restored with a literal upgrade fixture; header-started Move/Create failures expose the existing retained-intent Retry/Dismiss flow; and starting-agent suppression now requires both !hasMore and !historyLimited. The workspace settings title is also consistent. Source-review assessment: 9/10; no changes requested.
Optional cleanup: SoloHeading.tsx:74–79,106–111 leaves moving true after a successful header operation, so a later sidebar-started failure for that chat can also show the header toast. Both surfaces act on the correct retained intent, so this is duplicate feedback, not lost or incorrect state. If tightening origin ownership, bind/reset the latch to the latest header operation on success (including Create and Retry), guarding against an older promise clearing a newer operation; extend the component regression accordingly.
Reviewed head b55b715057e8d066c2eb4b08858a1b025f60f6d8, base 7d50425b7fda7c0bfdccb897df0507a286d6bbac. Follow-up scope is the seven-file diff from previously reviewed d3b742ad96d95bb20dff3658d8c689421d832b74, its prior findings, and affected callers/recovery owners. Public description and new commit material inspected; no attached images were present, and screenshots remain pending.
Source-only: no tests, builds, app launches, or PR code executed. Added tests and existing store/Toast coverage were inspected, not run. One hosted-check snapshot had JavaScript, Rust, browser journeys and flake checks still running; Windows was skipped. Rendered keyboard/focus behavior, both themes, narrow/wide layouts, enlarged text, live persistence, native behavior and human acceptance remain unverified. This COMMENT review is not approval or merge authorization.
* origin/main: Add native Huddles with call controls and conversation panels (#489) fix(claude-code): keep sessions alive while Claude's background work runs (#1102) Rename Agent setup "Providers" to "Harness defaults" (#1348) feat(plugins): feature core plugins and branded catalog browsing (#1246) Improve AI defaults and add Goose configuration (#1266) feat(sidebar): filter channel sections by unread and activity (#1297) feat(plugins): organize settings with guides and focused controls (#1176) Unify Solo chat menus, rename workspaces, quieter membership notices (#1326) Add identity restore UI (#1101) Add native identity backup recovery (#1107) Back up desktop identities only with saved consent (#1106) Add native identity backup consent hooks (#1137) remove the Channel Usage plugin (#1335) fix(messages): retain image geometry across virtualized remounts (#1271) fix(channels): read metadata for a labeled channel whose roster came first (#1289) fix(channel-members): allow adding members to system channels (#1288) fix(unread): recover dropped thread roots for unread thread activity (#1291) test(voice-notes): fix the draft-card race that turned main red (#1315) ci: check dependency policy with cargo-deny (#1321) Signed-off-by: jtennant <jtennant@squareup.com> # Conflicts: # src/bundled/inbox/InboxDetail.test.tsx # src/bundled/inbox/InboxDetail.tsx
…x-session-preview-live * origin/jt/inbox-page-tabs: (25 commits) refactor(inbox): open conversations through conversation.ui.Tabs fix(inbox): retire a Huddle room's retained tabs and keep their focus test(inbox): stop depending on Channels having loaded a thread's channel fix(inbox): close an opened conversation once its room becomes a Huddle Add native Huddles with call controls and conversation panels (#489) fix(inbox): offer no Archive shortcut while Drafts is shown fix(inbox): keep a restored tab's row selected after leaving Inbox fix(claude-code): keep sessions alive while Claude's background work runs (#1102) Rename Agent setup "Providers" to "Harness defaults" (#1348) feat(plugins): feature core plugins and branded catalog browsing (#1246) Improve AI defaults and add Goose configuration (#1266) feat(sidebar): filter channel sections by unread and activity (#1297) feat(plugins): organize settings with guides and focused controls (#1176) Unify Solo chat menus, rename workspaces, quieter membership notices (#1326) Add identity restore UI (#1101) Add native identity backup recovery (#1107) Back up desktop identities only with saved consent (#1106) Add native identity backup consent hooks (#1137) remove the Channel Usage plugin (#1335) fix(messages): retain image geometry across virtualized remounts (#1271) ...
What changed
One chat menu, everywhere. The chat header's "…" menu and the sidebar row's "…" menu now render the same list of actions, in the same order:
So the header gains Mark as read, Move and Copy. Share is disabled when the chat can't be shared, matching the header's Share button.
Projects are now Workspaces. All Solo sidebar, dialog and settings copy says "workspace".
Typing indicator stays inside the row. The working/typing indicator sits at the trailing end of the highlighted sidebar row. On hover, the "…" button replaces it.
Membership notices are back in Solo chats, quieter.
Builds on #1311 (sidebar Archive/Delete/Mark as read), keeping its wording and its "return to a new draft" behavior when the open chat is archived or deleted.
Testing
Screenshots
Captured from the browser test harness with fixture data.
The chat header's "…" menu:
The sidebar row's "…" menu, with the same actions:
A compact membership notice in a Team channel (the shared component Solo also uses):
🤖 Generated with Claude Code