openclaw - 💡(How to fix) Fix Control UI drops media previews after chat history refresh

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…

Control UI can lose media previews after a chat run completes and refreshes history.

Observed cases:

  • A user sends a message with an image attachment. The optimistic user bubble initially shows the image, but after the assistant response lands and history refreshes, the user bubble is replaced by a transcript copy without the image.
  • A model/tool flow that generates or sends media can show only text/tool cards in Control UI, with no visible image after completion or page refresh.

Root Cause

The UI gives the user confidence that media was attached or generated, then removes that visible evidence later. That makes image-understanding and generated-media flows look broken even when the underlying run completed.

RAW_BUFFERClick to expand / collapse

Summary

Control UI can lose media previews after a chat run completes and refreshes history.

Observed cases:

  • A user sends a message with an image attachment. The optimistic user bubble initially shows the image, but after the assistant response lands and history refreshes, the user bubble is replaced by a transcript copy without the image.
  • A model/tool flow that generates or sends media can show only text/tool cards in Control UI, with no visible image after completion or page refresh.

Why this matters

The UI gives the user confidence that media was attached or generated, then removes that visible evidence later. That makes image-understanding and generated-media flows look broken even when the underlying run completed.

Expected behavior

  • Optimistic user attachment previews should remain visible until the transcript has an equivalent backed media representation.
  • History refresh should not replace a richer local message with a poorer text-only copy.
  • Assistant/source-reply media should render through the existing Control UI media rendering path instead of being hidden inside tool cards or dropped from final/history display.

Initial suspected area

Control UI chat history reconciliation currently compares display signatures mostly by role/text. If the transcript user message has the same text as the optimistic message but lacks media content, the optimistic message is treated as already represented and is discarded.

Likely files to inspect:

  • ui/src/ui/controllers/chat.ts
  • ui/src/ui/app-gateway.ts
  • ui/src/ui/chat/message-normalizer.ts
  • ui/src/ui/chat/grouped-render.ts
  • ui/src/test-helpers/control-ui-e2e.ts

Repro notes

This was observed in a live OCM environment with Control UI:

  1. Send a prompt with an image attachment.
  2. Confirm the image is visible in the outgoing user bubble.
  3. Wait for the assistant response / history refresh.
  4. The user image disappears from the chat transcript.

A related generated-media flow also completed with text such as “Sent it here” / “All set”, but no generated image was visible after completion or refresh.

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…

FAQ

Expected behavior

  • Optimistic user attachment previews should remain visible until the transcript has an equivalent backed media representation.
  • History refresh should not replace a richer local message with a poorer text-only copy.
  • Assistant/source-reply media should render through the existing Control UI media rendering path instead of being hidden inside tool cards or dropped from final/history display.

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 - 💡(How to fix) Fix Control UI drops media previews after chat history refresh