From a56ce3e1df18d367718843d2ac6530b2b3fb9dba Mon Sep 17 00:00:00 2001 From: weichen Date: Sat, 17 Oct 2026 03:16:47 +0000 Subject: [PATCH] Fix cockpit project option field: payload is projectId, not id MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Why: the local ProjectView interface invented 'id'; rdm.project.list returns projectId. Every option value was undefined, so auto-select set pid to undefined and the overview request was never issued — cockpit showed 加载概览… forever after the project list loaded (I4 e2e scenario 1). Evidence: tsc clean, vitest green, build green (SELF); network probe shows rdm.cockpit.overview 200 and .cockpit-stats rendered; seven-scenario rerun to be recorded on the Dev I4 card. Impact: cockpit entry only. Refs: rollout I4 --- src/components/DocumentCockpit.tsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/components/DocumentCockpit.tsx b/src/components/DocumentCockpit.tsx index 8a32602..c450146 100644 --- a/src/components/DocumentCockpit.tsx +++ b/src/components/DocumentCockpit.tsx @@ -18,7 +18,7 @@ import { } from '../documentCockpit' import { CockpitPanel, CockpitReader } from './CockpitReader' -interface ProjectView { id: string; name: string; canAudit?: boolean } +interface ProjectView { projectId: string; name: string; canAudit?: boolean } function CockpitErrorState({ raw }: { raw: string }) { const c = classifyRdmError(raw) @@ -71,7 +71,7 @@ export function DocumentCockpit() { const rows = Array.isArray(list) ? list : (list?.projects ?? []) setProjects(rows) // 设计 §6.2:进入驾驶舱默认选中第一个可见项目,驱动概览首屏。 - if (rows.length > 0) setPid(prev => prev || rows[0].id) + if (rows.length > 0) setPid(prev => prev || rows[0].projectId) }) .catch(e => { if (!c) setError(e.message) }) return () => { c = true } @@ -130,7 +130,7 @@ export function DocumentCockpit() {
{filter &&