-
-
Notifications
You must be signed in to change notification settings - Fork 52.6k
Closed
Description
Bug Description
Feishu video messages sent via the mobile app use message_type: "media" instead of "video". The current feishu plugin only handles "video" in its media type checks, causing video messages to be silently dropped (no download, raw JSON metadata passed to agent instead).
Root Cause
Three locations in extensions/feishu/src/bot.ts need to handle "media" as a video type:
resolveFeishuMediaList()—mediaTypesarray missing"media"parseMediaKeys()— switch/case missing"media", falls through todefault: return {}inferPlaceholder()— switch/case missing"media", returns generic placeholder
Steps to Reproduce
- Send a video to the Feishu bot from Feishu mobile app
- Observe: agent receives raw JSON
{"file_key":"...","file_name":"...mp4","image_key":"...","duration":15016}instead of the actual video file - Gateway log shows
msgType=media(notmsgType=video)
Expected Behavior
Video should be downloaded and saved to disk, agent should receive the video file with <media:video> placeholder.
Fix
Add "media" alongside "video" in all three locations:
- const mediaTypes = ["image", "file", "audio", "video", "sticker", "post"];
+ const mediaTypes = ["image", "file", "audio", "video", "media", "sticker", "post"];
// In parseMediaKeys():
case "video":
+ case "media":
return { fileKey, imageKey };
// In inferPlaceholder():
case "video":
+ case "media":
return "<media:video>";Tested
- Hotpatched
extensions/feishu/src/bot.tson OpenClaw v2026.2.23 - Sent video via Feishu mobile → video downloaded successfully, agent received video content with description
- Before fix: raw JSON metadata only
- After fix: full video file downloaded + AI-generated description received
Environment
- OpenClaw: v2026.2.23
- Feishu plugin: @openclaw/feishu v2026.2.23
- Feishu app: mobile (Android)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels