openclaw - ✅(Solved) Fix Control UI (webchat) does not render user-sent image attachments in chat interface [1 pull requests, 1 comments, 2 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
openclaw/openclaw#66669Fetched 2026-04-15 06:25:04
View on GitHub
Comments
1
Participants
2
Timeline
5
Reactions
0
Author
Participants
Timeline (top)
commented ×1cross-referenced ×1mentioned ×1referenced ×1

Root Cause

After investigation, the issue appears to be in the frontend bundle (dist/control-ui/assets/index-*.js). The user's message component does not render the attachments array, while AI messages with images are displayed correctly.

The backend and Gateway correctly handle the image (as confirmed by AI responses to image content), so this is purely a frontend UI rendering limitation.

Fix Action

Workaround

Currently using Feishu/Lark channel for image-heavy conversations, as it fully supports image rendering for both user and AI messages.

PR fix notes

PR #66703: fix(webchat): render user message image attachments from MediaPath/MediaPaths

Description (problem / solution / changelog)

Summary

User message image attachments were not being rendered in webchat because extractImages() only processed the content array and ignored the MediaPath and MediaPaths fields where user attachments are stored.

Root Cause

The extractImages() function in ui/src/ui/chat/grouped-render.ts only extracted images from the content array blocks (AI message format). User message attachments are stored in separate MediaPath and MediaPaths fields at the top level of the message object, which were being ignored.

Fix

  1. Added isLocalMediaPath() helper to detect local file paths that need gateway URL construction
  2. Updated extractImages() to also extract from MediaPath/MediaPaths fields
  3. Added isLocal flag to ImageBlock type to track local files
  4. Updated renderMessageImages() to accept localMediaPreviewRoots, basePath, and authToken parameters and construct proper gateway URLs for local files using buildAssistantAttachmentUrl()

Test Plan

  • UI compiles successfully (TypeScript check passed)
  • Existing tests pass

Fixes #66669

Changed files

  • extensions/feishu/src/monitor.account.ts (modified, +1/-1)
  • extensions/feishu/src/sequential-key.test.ts (modified, +20/-0)
  • extensions/feishu/src/sequential-key.ts (modified, +1/-1)
  • extensions/qqbot/src/gateway.ts (modified, +1/-1)
  • extensions/qqbot/src/utils/text-parsing.test.ts (modified, +4/-0)
  • extensions/qqbot/src/utils/text-parsing.ts (modified, +2/-2)
  • package.json (modified, +2/-7)
  • scripts/openclaw-npm-release-check.ts (modified, +4/-6)
  • src/config/redact-snapshot.test.ts (modified, +9/-4)
  • src/config/redact-snapshot.ts (modified, +4/-4)
  • src/memory-host-sdk/host/embeddings.ts (modified, +1/-1)
  • ui/src/ui/chat/grouped-render.ts (modified, +62/-9)
RAW_BUFFERClick to expand / collapse

Bug Description

When sending image attachments via the Control UI (webchat) chat interface, the images are not rendered/displayed in the chat history. The user message appears as an empty/blank bubble instead of showing the uploaded image.

Environment

Steps to Reproduce

  1. Open Control UI (webchat)
  2. Click attachment button and upload an image
  3. Send the message
  4. Observe the chat history

Expected Behavior

The uploaded image should be displayed within the user's message bubble, similar to how received images from AI are displayed.

Actual Behavior

The message bubble appears empty/blank. The image attachment is not visible in the UI, though the backend correctly processes and forwards it to the AI (AI can see and respond to the image content).

Root Cause Analysis

After investigation, the issue appears to be in the frontend bundle (dist/control-ui/assets/index-*.js). The user's message component does not render the attachments array, while AI messages with images are displayed correctly.

The backend and Gateway correctly handle the image (as confirmed by AI responses to image content), so this is purely a frontend UI rendering limitation.

Workaround

Currently using Feishu/Lark channel for image-heavy conversations, as it fully supports image rendering for both user and AI messages.

Suggested Fix

Update the user message component in Control UI to render image attachments similar to how AI message images are handled.

extent analysis

TL;DR

Update the user message component in the Control UI frontend bundle to render image attachments.

Guidance

  • Investigate the dist/control-ui/assets/index-*.js file to identify why the attachments array is not being rendered for user messages.
  • Compare the rendering logic for AI messages with images to the user message component to identify differences.
  • Verify that the image attachment data is correctly passed to the user message component.
  • Consider temporarily using the Feishu/Lark channel for image-heavy conversations as a workaround.

Example

No code example is provided due to the lack of specific implementation details.

Notes

The fix requires modifying the frontend code, and the exact changes will depend on the current implementation of the user message component.

Recommendation

Apply workaround: Use the Feishu/Lark channel for image-heavy conversations until the Control UI frontend bundle is updated to render image attachments correctly. This is because the Feishu/Lark channel is confirmed to fully support image rendering for both user and AI messages.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

openclaw - ✅(Solved) Fix Control UI (webchat) does not render user-sent image attachments in chat interface [1 pull requests, 1 comments, 2 participants]