diff --git a/.project-docs/30-worklog/tasks/20261013-agent-composer-trial-d76b48c2.md b/.project-docs/30-worklog/tasks/20261013-agent-composer-trial-d76b48c2.md index 7e2d1d62..1f7533bb 100644 --- a/.project-docs/30-worklog/tasks/20261013-agent-composer-trial-d76b48c2.md +++ b/.project-docs/30-worklog/tasks/20261013-agent-composer-trial-d76b48c2.md @@ -26,7 +26,7 @@ ## Verification -- Current-baseline 253 related regression tests passed (11 files), 28 voice tests including StrictMode passed, and 31 new upload/lifecycle tests passed: 312 disjoint cases. Final typecheck, focused lint (0 errors; two existing CloudChat warnings), full Renderer/Main/Preload/utility Vite build and project-docs/diff gates passed. Independent review has no open blocker. 17 disjoint Electron scenarios passed: 12 in first run plus 5 targeted reruns after updating inherited timestamp/recovery assertions to the exact current trial contract. Published voice fixture validates WAV transcription, latest-draft append, no automatic prompts, 32px buttons and multi-line growth; layout covers narrow/wide windows, long messages, attachments and stream/stop. Voice screenshot visually inspected by root and QA. Fixture audio never accesses the real microphone or paid provider. Real microphone/provider transcription remains distinct from fixture validation. +- Current-baseline 253 related regression tests passed (11 files), 28 voice tests including StrictMode passed, and 31 new upload/lifecycle tests passed: 312 disjoint cases. Final typecheck, focused lint (0 errors; two existing CloudChat warnings), full Renderer/Main/Preload/utility Vite build and project-docs/diff gates passed. Independent review has no open blocker. 17 disjoint Electron scenarios passed: 12 in first run plus 5 targeted reruns after updating inherited timestamp/recovery assertions to the exact current trial contract. Published voice fixture validates WAV transcription, latest-draft append, no automatic prompts, 32px buttons and multi-line growth; layout covers narrow/wide windows, long messages, attachments and stream/stop. Voice screenshot visually inspected by root and QA. Final comparison moved the microphone beside send on the right, matching Code; a fresh full build/typecheck and two targeted Electron reruns passed, including 4px adjacency and 375px layout. Fixture audio never accesses the real microphone or paid provider. Real microphone/provider transcription remains distinct from fixture validation. ## Follow-ups diff --git a/src/pages/CloudAgents/CloudChat.tsx b/src/pages/CloudAgents/CloudChat.tsx index 9179d86c..a0008fc7 100644 --- a/src/pages/CloudAgents/CloudChat.tsx +++ b/src/pages/CloudAgents/CloudChat.tsx @@ -441,7 +441,6 @@ export function CloudChat({ slug, previewRevision: latestRevision, initialThread headerTarget={attachmentHeader === undefined ? localAttachmentHeader : attachmentHeader} activeView={activeView} deliveryHistory={history} filesRevision={`${history?.messages.at(-1)?.id ?? ''}:${history?.run?.agent_run_id ?? ''}:${history?.run?.status ?? ''}`} - actions={} onBusy={setAttachmentBusy} disabled={!editable || running || voicePending} ensureThread={async () => { if (thread) return thread.thread_id; const expectedGeneration = generation.current; @@ -452,8 +451,11 @@ export function CloudChat({ slug, previewRevision: latestRevision, initialThread return created.thread_id; }} footer={<> Enter 发送 · Shift + Enter 换行 +
+ {running ? : } +
}>