diff --git a/ui/src/lib/project-workspaces-tab.ts b/ui/src/lib/project-workspaces-tab.ts index abc5a6f9..1f5846c5 100644 --- a/ui/src/lib/project-workspaces-tab.ts +++ b/ui/src/lib/project-workspaces-tab.ts @@ -7,6 +7,7 @@ export interface ProjectWorkspaceSummary { kind: "execution_workspace" | "project_workspace"; workspaceId: string; workspaceName: string; + cwd: string | null; branchName: string | null; lastUpdatedAt: Date; projectWorkspaceId: string | null; @@ -80,6 +81,7 @@ export function buildProjectWorkspaceSummaries(input: { kind: "execution_workspace", workspaceId: executionWorkspace.id, workspaceName: executionWorkspace.name, + cwd: executionWorkspace.cwd ?? null, branchName: executionWorkspace.branchName ?? executionWorkspace.baseRef ?? null, lastUpdatedAt: maxDate( existing?.lastUpdatedAt, @@ -108,6 +110,7 @@ export function buildProjectWorkspaceSummaries(input: { kind: "project_workspace", workspaceId: projectWorkspace.id, workspaceName: projectWorkspace.name, + cwd: projectWorkspace.cwd ?? null, branchName: projectWorkspace.repoRef ?? projectWorkspace.defaultRef ?? null, lastUpdatedAt: maxDate(existing?.lastUpdatedAt, projectWorkspace.updatedAt, issue.updatedAt), projectWorkspaceId: projectWorkspace.id, diff --git a/ui/src/pages/ProjectDetail.tsx b/ui/src/pages/ProjectDetail.tsx index df2ac9e5..6f938848 100644 --- a/ui/src/pages/ProjectDetail.tsx +++ b/ui/src/pages/ProjectDetail.tsx @@ -16,6 +16,7 @@ import { useToast } from "../context/ToastContext"; import { useBreadcrumbs } from "../context/BreadcrumbContext"; import { queryKeys } from "../lib/queryKeys"; import { ProjectProperties, type ProjectConfigFieldKey, type ProjectFieldSaveState } from "../components/ProjectProperties"; +import { CopyText } from "../components/CopyText"; import { InlineEditor } from "../components/InlineEditor"; import { StatusBadge } from "../components/StatusBadge"; import { BudgetPolicyCard } from "../components/BudgetPolicyCard"; @@ -28,7 +29,7 @@ import { timeAgo } from "../lib/timeAgo"; import { Tabs } from "@/components/ui/tabs"; import { PluginLauncherOutlet } from "@/plugins/launchers"; import { PluginSlotMount, PluginSlotOutlet, usePluginSlots } from "@/plugins/slots"; -import { Clock3, GitBranch } from "lucide-react"; +import { Clock3, Copy, GitBranch } from "lucide-react"; /* ── Top-level tab types ── */ @@ -236,6 +237,17 @@ function ProjectWorkspacesContent({ {summary.branchName ?? "No branch info"} + + {summary.cwd ? ( +
+ + {summary.cwd} + + + + +
+ ) : null}