From 05be76016a4b731653d19b09bc5452a57b9c87e4 Mon Sep 17 00:00:00 2001 From: m4 Date: Fri, 18 Sep 2026 19:32:46 +0800 Subject: [PATCH] feat(desktop): workspace bar carries the full path as the breadcrumb The chat header is display:none inside the pane tree (title lives in the zone tab), so the header cwd segment never shows in the main layout. Append displayPath(cwd) to the always-visible workspace strip instead. Co-Authored-By: Claude Opus 4.7 --- apps/desktop/src/app/chat/workspace-bar.tsx | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/apps/desktop/src/app/chat/workspace-bar.tsx b/apps/desktop/src/app/chat/workspace-bar.tsx index 5fc7991c53..67236ebc98 100644 --- a/apps/desktop/src/app/chat/workspace-bar.tsx +++ b/apps/desktop/src/app/chat/workspace-bar.tsx @@ -3,7 +3,7 @@ import { useStore } from '@nanostores/react' import { pickAndChangeWorkspace } from '@/app/shell/workspace-menu' import { Button } from '@/components/ui/button' import { useI18n } from '@/i18n' -import { pathLeaf } from '@/lib/display-path' +import { displayPath, pathLeaf } from '@/lib/display-path' import { FolderOpen } from '@/lib/icons' import { $projectTree, projectNameForCwd } from '@/store/projects' import { $currentBranch } from '@/store/session' @@ -26,6 +26,15 @@ export function WorkspaceBar({ cwd, onChangeWorkspace }: { cwd: string; onChange {trimmed ? name : copy.chooseWorkspace} {trimmed && branch ? · {branch} : null} + {/* Breadcrumb trail: the chat header (which would carry this) is hidden + inside the pane tree — the title lives in the zone tab — so the + full workspace path rides here where it stays visible. */} + {trimmed ? ( + + {' '} + · {displayPath(trimmed)} + + ) : null}