[PR #20996] [CLOSED] fix: prevent empty embeds from rendering as {} in tool calls UI #41500

Closed
opened 2026-04-25 13:43:49 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

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

Base: mainHead: fix/empty-embeds-rendering


📝 Commits (1)

  • 04adf5a fix: prevent empty embeds 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 along with a JavaScript console error: SyntaxError: JSON.parse: unexpected character at line 1 column 1.

Changes

  • Changed default value for tool_result_embeds from "" to [] (line 2388)
  • Only include embeds attribute in HTML when non-empty, matching the pattern used for files (line 2389)

Root Cause

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

Testing

  • Before: Tool calls without embeds show {} in red box and SyntaxError: JSON.parse: unexpected character at line 1 column 1 in console
  • After: Tool calls without embeds render cleanly with no spurious content

Test environment

  • OpenWebUI with AWS Bedrock backend via LiteLLM
  • Custom tools returning markdown (no embeds)

Checklist

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

Contributor License Agreement

By submitting this pull request, I confirm that I have read and fully agree to the Contributor License Agreement (CLA), and I am providing my contributions under its terms.


🔄 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/20996 **Author:** [@cannontrodder](https://github.com/cannontrodder) **Created:** 1/28/2026 **Status:** ❌ Closed **Base:** `main` ← **Head:** `fix/empty-embeds-rendering` --- ### 📝 Commits (1) - [`04adf5a`](https://github.com/open-webui/open-webui/commit/04adf5a63e8887495305452dd5f63e446a7f312c) fix: prevent empty embeds 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 along with a JavaScript console error: `SyntaxError: JSON.parse: unexpected character at line 1 column 1`. ## Changes - Changed default value for `tool_result_embeds` from `""` to `[]` (line 2388) - Only include `embeds` attribute in HTML when non-empty, matching the pattern used for `files` (line 2389) ## Root Cause The empty string default `""` gets JSON-encoded to `'""'` and HTML-escaped. The frontend's `parseJSONString()` then fails to parse this, causing the JSON parse error and `{}` being rendered as a fallback. ## Testing - **Before:** Tool calls without embeds show `{}` in red box and `SyntaxError: JSON.parse: unexpected character at line 1 column 1` in console - **After:** Tool calls without embeds render cleanly with no spurious content ### Test environment - OpenWebUI with AWS Bedrock backend via LiteLLM - Custom tools returning markdown (no embeds) ## Checklist - [x] Code follows project style guidelines - [x] Minimal change to fix the issue - [x] No breaking changes to existing functionality - [x] Personally tested all changes ### Contributor License Agreement By submitting this pull request, I confirm that I have read and fully agree to the [Contributor License Agreement (CLA)](https://github.com/open-webui/open-webui/blob/main/CONTRIBUTOR_LICENSE_AGREEMENT), and I am providing my contributions under its terms. --- <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-25 13:43:49 -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#41500