feat(desktop): workspace bar carries the full path as the breadcrumb
auto-fix lint issues & formatting / Generate eslint --fix patch (push) Has been cancelled
Nix flake check / Detect affected areas (push) Has been cancelled
CI / Detect affected areas (push) Has been cancelled
Docker Build, Test, and Publish / Detect affected areas (push) Has been cancelled
CI / JS & TS checks (push) Has been cancelled
CI / Installer tests (push) Has been cancelled
CI / Rust tests (push) Has been cancelled
CI / Desktop E2E (push) Has been cancelled
CI / Docs Site (push) Has been cancelled
CI / Deny unrelated histories (push) Has been cancelled
CI / Check contributors (push) Has been cancelled
CI / Check uv.lock (push) Has been cancelled
CI / Check no committed infographics (push) Has been cancelled
CI / Profile artifact check (push) Has been cancelled
CI / Check no case-colliding filenames (push) Has been cancelled
CI / package-lock.json diff (push) Has been cancelled
CI / Lint Docker scripts (push) Has been cancelled
CI / Supply-chain scan (push) Has been cancelled
CI / Review label gate (push) Has been cancelled
Docker Build, Test, and Publish / merge (push) Has been cancelled
auto-fix lint issues & formatting / Apply patch (push) Has been cancelled
CI / Python tests (push) Has been cancelled
CI / OS-specific tests (push) Has been cancelled
CI / Python lints (push) Has been cancelled
CI / All required checks pass (push) Has been cancelled
CI / CI timing report (push) Has been cancelled
Docker Build, Test, and Publish / build (amd64, type=gha,scope=docker-amd64, type=gha,mode=max,scope=docker-amd64, linux/amd64, ubuntu-latest-32-core) (push) Has been cancelled
Docker Build, Test, and Publish / build (arm64, type=gha,scope=docker-arm64, type=gha,mode=max,scope=docker-arm64, linux/arm64, ubuntu-latest-32-arm-core) (push) Has been cancelled
Docker Build, Test, and Publish / publish (amd64, type=gha,scope=docker-amd64, type=gha,mode=max,scope=docker-amd64, linux/amd64, ubuntu-latest-32-core) (push) Has been cancelled
Docker Build, Test, and Publish / publish (arm64, type=gha,scope=docker-arm64, type=gha,mode=max,scope=docker-arm64, linux/arm64, ubuntu-latest-32-arm-core) (push) Has been cancelled
Nix flake check / nix flake check (push) Has been cancelled

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 <noreply@anthropic.com>
This commit is contained in:
m4
2026-09-18 19:32:46 +08:00
parent 7025584b9f
commit 05be76016a
+10 -1
View File
@@ -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
<span className="min-w-0 flex-1 truncate">
{trimmed ? name : copy.chooseWorkspace}
{trimmed && branch ? <span className="text-muted-foreground/60"> · {branch}</span> : 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 ? (
<span className="text-muted-foreground/50" title={trimmed}>
{' '}
· {displayPath(trimmed)}
</span>
) : null}
</span>
<Button
className="h-5 px-1.5 text-xs text-muted-foreground"