[PR #20992] [CLOSED] fix: prevent empty embeds attribute from rendering as {} in tool calls UI #25868

Closed
opened 2026-04-20 06:10:17 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/open-webui/open-webui/pull/20992
Author: @cannontrodder
Created: 1/28/2026
Status: Closed

Base: mainHead: fix/empty-embeds-rendering


📝 Commits (1)

  • 4dc6bae fix: prevent empty embeds attribute from rendering as {} in tool calls UI

📊 Changes

1 file changed (+2 additions, -2 deletions)

View changed files

📝 backend/open_webui/utils/middleware.py (+2 -2)

📄 Description

Summary

Fixes #20991

When a tool call has no embeds, an empty {} is incorrectly rendered in the UI. This is caused by the default value for embeds being an empty string "" instead of an empty list [].

Changes

  • Changed default value for tool_result_embeds from "" to []
  • Only include embeds attribute in HTML when non-empty

Root Cause

The empty string default gets JSON-encoded to '""' and HTML-escaped to '""'. The frontend's parseJSONString() then fails to parse this correctly, resulting in a JSON parse error and {} being rendered.

Testing

  • Before: Tool calls without embeds show {} and console error
  • After: Tool calls without embeds render cleanly with no spurious content

Checklist

  • Code follows project style guidelines
  • Minimal change to fix the issue
  • No breaking changes to existing functionality

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/open-webui/open-webui/pull/20992 **Author:** [@cannontrodder](https://github.com/cannontrodder) **Created:** 1/28/2026 **Status:** ❌ Closed **Base:** `main` ← **Head:** `fix/empty-embeds-rendering` --- ### 📝 Commits (1) - [`4dc6bae`](https://github.com/open-webui/open-webui/commit/4dc6bae6f5388d5712c65ad2f21ec4b77849aeb4) fix: prevent empty embeds attribute from rendering as {} in tool calls UI ### 📊 Changes **1 file changed** (+2 additions, -2 deletions) <details> <summary>View changed files</summary> 📝 `backend/open_webui/utils/middleware.py` (+2 -2) </details> ### 📄 Description ## Summary Fixes #20991 When a tool call has no embeds, an empty `{}` is incorrectly rendered in the UI. This is caused by the default value for `embeds` being an empty string `""` instead of an empty list `[]`. ## Changes - Changed default value for `tool_result_embeds` from `""` to `[]` - Only include `embeds` attribute in HTML when non-empty ## Root Cause The empty string default gets JSON-encoded to `'""'` and HTML-escaped to `'&quot;&quot;'`. The frontend's `parseJSONString()` then fails to parse this correctly, resulting in a JSON parse error and `{}` being rendered. ## Testing - Before: Tool calls without embeds show `{}` and console error - After: Tool calls without embeds render cleanly with no spurious content ## Checklist - [x] Code follows project style guidelines - [x] Minimal change to fix the issue - [x] No breaking changes to existing functionality --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
GiteaMirror added the pull-request label 2026-04-20 06:10:17 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/open-webui#25868