Skip to content

Conversation

@doscode-kr
Copy link

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)

## 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)
@doscode-kr
Copy link
Author

This fixes #102

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant