Skip to content

fix: correct Feishu bridge image MIME detection#232

Open
peng2132 wants to merge 1 commit intoop7418:mainfrom
peng2132:codex/fix-feishu-bridge-image-mime
Open

fix: correct Feishu bridge image MIME detection#232
peng2132 wants to merge 1 commit intoop7418:mainfrom
peng2132:codex/fix-feishu-bridge-image-mime

Conversation

@peng2132
Copy link

Summary

  • detect the real MIME type and extension for Feishu-downloaded images from file bytes and response headers
  • stop forcing every Feishu bridge image attachment to image/png and .png
  • add regression coverage for JPEG, PNG, and WebP Feishu media detection

Reproduction

On the Feishu bridge, sending a screenshot/photo could make the app return the generic error below even though the configured provider supports multimodal input and the same image works through Telegram:

Error: Claude Code process exited with an error. This is often caused by:
• Invalid or missing API Key
• Incorrect Base URL configuration
• Network connectivity issues
• Provider may not support image/vision input
Original error: Claude Code process exited with code 1

Telegram handled the same image successfully. The visible error message was misleading; the real issue was a bridge adapter bug.

Root Cause

The Feishu bridge always labeled downloaded images as image/png regardless of the actual bytes. That incorrect MIME declaration could break multimodal Claude Code requests and surface the generic exit-code-1 provider/image-support error.

Verification

  • npm run test
  • manual verification of the Feishu bridge image flow after the fix

bridge/adapters:
- detect the real MIME type and file extension for Feishu-downloaded images from magic bytes and response headers
- stop forcing every Feishu image attachment to image/png and .png before sending it to Claude

tests:
- add regression coverage for JPEG, PNG, and WebP Feishu media detection

root cause:
- the Feishu bridge always labeled downloaded images as image/png regardless of the actual bytes
- sending screenshots/photos through the Feishu bridge could make Claude Code exit with code 1 and show a misleading provider/image support error even though the provider supported multimodal input
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