From 804170ec661b15acdadeba4352d2da06822c4344 Mon Sep 17 00:00:00 2001 From: weichen Date: Fri, 16 Oct 2026 15:27:16 +0000 Subject: [PATCH] Wire cockpit flag into sidebar workspace entries MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Why: TaskSidebar builds its own workspace entry list without the cockpit flag, so the 文档驾驶舱 entry never appeared in the sidebar even when the command probe passed (caught by I4 e2e scenario 1). Evidence: tsc/vitest/vite build green (SELF); cockpit e2e suite re-run via Dev scripts/e2e.sh follows on the Dev I4 card. Impact: sidebar entry visibility only; no behavior change elsewhere. Refs: rollout I4 --- src/components/TaskSidebar.tsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/components/TaskSidebar.tsx b/src/components/TaskSidebar.tsx index 65d8d13..37e53be 100644 --- a/src/components/TaskSidebar.tsx +++ b/src/components/TaskSidebar.tsx @@ -57,6 +57,7 @@ export function TaskSidebar({ onCollapse = store.toggleLeft, onConversationOpen, const serverWorkspaces = useStore(s => s.serverWorkspaces) /** 审计入口能力门控(增量 2):命令面探测通过才展示「追溯审计」。 */ const rdmAuditAvailable = useStore(s => s.rdmAuditAvailable) + const rdmCockpitAvailable = useStore(s => s.rdmCockpitAvailable) const theme = useStore(s => s.ui.theme) const pendingBadge = useStore(s => s.cards.filter(c => c.status === 'action_required').length + @@ -74,7 +75,7 @@ export function TaskSidebar({ onCollapse = store.toggleLeft, onConversationOpen, } catch { /* store owns the actionable failure toast */ } } - const tools = buildWorkspaceEntries(serverWorkspaces, { rdmAudit: rdmAuditAvailable }) + const tools = buildWorkspaceEntries(serverWorkspaces, { rdmAudit: rdmAuditAvailable, rdmCockpit: rdmCockpitAvailable }) const visible = filterTasks(tasks.filter(t => t.projectId === currentProjectId), q) const pinned = visible.filter(t => t.pinned) const rest = visible.filter(t => !t.pinned)