diff --git a/packages/ui/src/features/canvas/components/ThreadPanel.tsx b/packages/ui/src/features/canvas/components/ThreadPanel.tsx
index 4cd1b38221..78a3760d85 100644
--- a/packages/ui/src/features/canvas/components/ThreadPanel.tsx
+++ b/packages/ui/src/features/canvas/components/ThreadPanel.tsx
@@ -135,6 +135,7 @@ export function ThreadPanel({
onClose,
collapsed,
onToggleCollapsed,
+ showTaskTitle = true,
}: {
taskId: string;
/** The thread's task when the caller already has it; fetched otherwise. */
@@ -142,6 +143,11 @@ export function ThreadPanel({
onClose?: () => void;
collapsed?: boolean;
onToggleCollapsed?: () => void;
+ /**
+ * Show the task title under the "Thread" heading. Hidden in the task detail
+ * view, where the TaskDetail header already names the task.
+ */
+ showTaskTitle?: boolean;
}) {
const client = useOptionalAuthenticatedClient();
const { data: currentUser } = useCurrentUser({ client });
@@ -240,7 +246,7 @@ export function ThreadPanel({
Thread
- {task && (
+ {showTaskTitle && task && (
{task.title || "Untitled task"}
diff --git a/packages/ui/src/features/canvas/components/ThreadSidebar.tsx b/packages/ui/src/features/canvas/components/ThreadSidebar.tsx
index 211248318f..fb4d7703dd 100644
--- a/packages/ui/src/features/canvas/components/ThreadSidebar.tsx
+++ b/packages/ui/src/features/canvas/components/ThreadSidebar.tsx
@@ -14,11 +14,14 @@ export function ThreadSidebar({
taskId,
task,
onClose,
+ showTaskTitle,
}: {
taskId: string;
/** The thread's task when the caller already has it; fetched otherwise. */
task?: Task;
onClose?: () => void;
+ /** Forwarded to ThreadPanel; hidden in the task detail view. */
+ showTaskTitle?: boolean;
}) {
const collapsed = useThreadPanelStore((s) => s.collapsed);
const width = useThreadPanelStore((s) => s.width);
@@ -60,6 +63,7 @@ export function ThreadSidebar({
task={task}
onClose={onClose}
onToggleCollapsed={() => toggleCollapsed(true)}
+ showTaskTitle={showTaskTitle}
/>
);
diff --git a/packages/ui/src/router/routes/website/$channelId/tasks/$taskId.tsx b/packages/ui/src/router/routes/website/$channelId/tasks/$taskId.tsx
index 80488d9cf0..636d36a766 100644
--- a/packages/ui/src/router/routes/website/$channelId/tasks/$taskId.tsx
+++ b/packages/ui/src/router/routes/website/$channelId/tasks/$taskId.tsx
@@ -68,7 +68,7 @@ function ChannelTaskDetailRoute() {
channelId={channelId}
/>
-
+
);
}