From ebbb4824cf42f3e5eaac709d8929b3906b1a0d6f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=8B=A0=EB=8F=99=EC=98=A4?= Date: Tue, 21 Oct 2025 18:23:22 +0900 Subject: [PATCH] fix(macos): Fix image attachment not displaying in chat input MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Problem When users selected images on macOS, the file path did not appear in the chat input field due to: 1. **Duplicate case statement** (script.ts:2099-2106) - JavaScript switch had two 'imagePath' cases - Only the last matching case executes - First (correct) handler was never executed 2. **Data structure mismatch** (extension.ts:1956-1959) - Backend sent: {type: 'imagePath', path: '/path'} - Frontend expected: {type: 'imagePath', data: {filePath: '/path'}} - Frontend couldn't find the data → silent failure ## Solution - **Removed duplicate case statement** in script.ts - Deleted lines 2099-2106 - Only correct handler (lines 1979-2006) remains - **Unified data structure** in extension.ts - Changed to send {data: {filePath}} format - Matches frontend expectation - Consistent with other message types ## Testing Tested in Extension Development Host (F5): - ✅ Click image button → Finder opens - ✅ Select single image → Path appears in chat input - ✅ Select multiple images → All paths appear - ✅ Cancel selection → No errors ## Impact - **Users**: macOS users can now attach images successfully - **Code Quality**: Removed code duplication, unified data structure - **Compatibility**: No breaking changes ## Files Changed - src/script.ts: Remove duplicate case (-11 lines) - src/extension.ts: Fix data structure (+4, -1 lines) --- src/extension.ts | 4 +++- src/script.ts | 11 +---------- 2 files changed, 4 insertions(+), 11 deletions(-) diff --git a/src/extension.ts b/src/extension.ts index 6e11e5b..e2cfceb 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -1955,7 +1955,9 @@ class ClaudeChatProvider { result.forEach(uri => { this._postMessage({ type: 'imagePath', - path: uri.fsPath + data: { + filePath: uri.fsPath + } }); }); } diff --git a/src/script.ts b/src/script.ts index 871f6ab..9474fc3 100644 --- a/src/script.ts +++ b/src/script.ts @@ -2070,16 +2070,7 @@ const getScript = (isTelemetryEnabled: boolean) => `