From 0766f614db1b0c1d56e9644386aaae5836193e93 Mon Sep 17 00:00:00 2001 From: Nexus Dev Date: Wed, 1 Apr 2026 23:55:42 +0000 Subject: [PATCH] =?UTF-8?q?docs(25-08):=20fix=20voice=20input=20wiring=20?= =?UTF-8?q?=E2=80=94=20add=20ChatPanel=20enableVoiceInput=20prop?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.6 (1M context) --- .planning/phases/25-file-system/25-08-PLAN.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.planning/phases/25-file-system/25-08-PLAN.md b/.planning/phases/25-file-system/25-08-PLAN.md index 9be36e67..d1408d86 100644 --- a/.planning/phases/25-file-system/25-08-PLAN.md +++ b/.planning/phases/25-file-system/25-08-PLAN.md @@ -7,6 +7,7 @@ depends_on: ["25-02"] files_modified: - ui/src/components/VoiceRecordButton.tsx - ui/src/components/ChatInput.tsx + - ui/src/components/ChatPanel.tsx - server/src/routes/chat-files.ts - .planning/REQUIREMENTS.md autonomous: true @@ -292,6 +293,7 @@ Note: This uses execFileAsync (promisified execFile) -- NOT exec -- to avoid she ui/src/components/ChatInput.tsx, .planning/REQUIREMENTS.md - ui/src/components/ChatInput.tsx + - ui/src/components/ChatPanel.tsx - ui/src/components/VoiceRecordButton.tsx - .planning/REQUIREMENTS.md @@ -328,7 +330,10 @@ Note: This uses execFileAsync (promisified execFile) -- NOT exec -- to avoid she )} ``` -2. Update .planning/REQUIREMENTS.md: +2. Update ui/src/components/ChatPanel.tsx: + - Pass `enableVoiceInput={true}` to the `` component. This makes the voice button visible to users. (If a `localAIEnabled` flag or config exists, gate on that instead; otherwise pass `true` unconditionally — the server returns 503 gracefully if whisper is not installed.) + +3. Update .planning/REQUIREMENTS.md: - Change INPUT-04 from `- [ ] **INPUT-04**` to `- [x] **INPUT-04**` - In Traceability table, change INPUT-04 from Pending to Complete - Also change INPUT-02 and INPUT-03 from Pending to Complete if not already (they were implemented in Plan 25-02) @@ -341,6 +346,7 @@ Note: This uses execFileAsync (promisified execFile) -- NOT exec -- to avoid she - Contains enableVoiceInput prop in the props interface - Contains handleTranscription callback that inserts text into textarea - Renders VoiceRecordButton conditionally when enableVoiceInput is true + - ui/src/components/ChatPanel.tsx passes enableVoiceInput={true} to ChatInput - .planning/REQUIREMENTS.md contains `- [x] **INPUT-02**` - .planning/REQUIREMENTS.md contains `- [x] **INPUT-03**` - .planning/REQUIREMENTS.md contains `- [x] **INPUT-04**`