[GH-ISSUE #8129] Status Descriptions sent by Functions that contain characters were corrupted by i18n after v0.5.0 #118324

Closed
opened 2026-05-20 19:45:04 -05:00 by GiteaMirror · 2 comments
Owner

Originally created by @DmitriyAlergant on GitHub (Dec 27, 2024).
Original GitHub issue: https://github.com/open-webui/open-webui/issues/8129

Bug Report

Installation Method

Open-WebUI 0.5.1, via Docker

Environment

  • Open WebUI Version: 0.5.1
  • Operating System: Docker / Mac OS
  • Browser (if applicable): Chrome

Confirmation:

  • I have read and followed all the instructions provided in the README.md.
  • I am on the latest version of both Open WebUI and Ollama.
  • I have included the browser console logs.
  • I have included the Docker container logs.
  • I have provided the exact steps to reproduce the bug in the "Steps to Reproduce" section below.

Expected Behavior:

Expected to continue seeing the full original status string as it was sent by the pipe function

Actual Behavior:

Seeing status string containing only some of the tokens (sometimes differently), likely coming from i18next "Interpolation" of plurals.

Description

Bug Summary:

After the recent update, status descriptions generated by some functions that contain characters like : are not displayed correctly. Example, status string generated by a pipe function with cost tracking controls:

3.90s | 241 input tokens | This request: $0.00 | Chat total: $0.00 | Completed

How it is rendered by Open WebUI with i18n:

$0.00 | Chat total. $0.00 | Completed

I was able to trace the issue down to the following line in ResponseMessage.svelte

  {:else}
	  {$i18n.t(status?.description)}
  {/if}

Previously (till 0.4.8), status description was not passed through i18n. Now, i18n is interpreting some characters like : as special characters and corrupting the entire message. This isn't right.

Reproduction Details

Create a function with the following code

from pydantic import BaseModel, Field


class Pipe:
    class Valves(BaseModel):
        pass

    def __init__(self):
        self.type = "pipe"
        self.id = "demo_status_issue"
        self.name = "demo_status_issue"

        self.valves = self.Valves()

    async def pipe(
        self,
        body,
        __event_emitter__,
    ):

        await __event_emitter__(
            {
                "type": "status",
                "data": {
                    "description": "3.90s | 241 input tokens | This request: $0.00 | Chat total: $0.00 | Completed",
                    "done": True,
                },
            }
        )

        return "Hello World"

And talk to this "model"

Logs and Screenshots

CleanShot 2024-12-27 at 03 01 38@2x

Originally created by @DmitriyAlergant on GitHub (Dec 27, 2024). Original GitHub issue: https://github.com/open-webui/open-webui/issues/8129 # Bug Report ## Installation Method Open-WebUI 0.5.1, via Docker ## Environment - **Open WebUI Version:** 0.5.1 - **Operating System:** Docker / Mac OS - **Browser (if applicable):** Chrome **Confirmation:** - [X] I have read and followed all the instructions provided in the README.md. - [X] I am on the latest version of both Open WebUI and Ollama. - [ ] I have included the browser console logs. - [ ] I have included the Docker container logs. - [ ] I have provided the exact steps to reproduce the bug in the "Steps to Reproduce" section below. ## Expected Behavior: Expected to continue seeing the full original status string as it was sent by the pipe function ## Actual Behavior: Seeing status string containing only some of the tokens (sometimes differently), likely coming from i18next "Interpolation" of plurals. ## Description **Bug Summary:** After the recent update, status descriptions generated by some functions that contain characters like : are not displayed correctly. Example, status string generated by a pipe function with cost tracking controls: ```3.90s | 241 input tokens | This request: $0.00 | Chat total: $0.00 | Completed``` How it is rendered by Open WebUI with i18n: ```$0.00 | Chat total. $0.00 | Completed``` I was able to trace the issue down to the following line in ResponseMessage.svelte ``` {:else} {$i18n.t(status?.description)} {/if} ``` Previously (till 0.4.8), status description was not passed through i18n. Now, i18n is interpreting some characters like : as special characters and corrupting the entire message. This isn't right. ## Reproduction Details Create a function with the following code ``` from pydantic import BaseModel, Field class Pipe: class Valves(BaseModel): pass def __init__(self): self.type = "pipe" self.id = "demo_status_issue" self.name = "demo_status_issue" self.valves = self.Valves() async def pipe( self, body, __event_emitter__, ): await __event_emitter__( { "type": "status", "data": { "description": "3.90s | 241 input tokens | This request: $0.00 | Chat total: $0.00 | Completed", "done": True, }, } ) return "Hello World" ``` And talk to this "model" ## Logs and Screenshots ![CleanShot 2024-12-27 at 03 01 38@2x](https://github.com/user-attachments/assets/de02fa50-3a0b-4077-8bfc-4b2b0a45b5b2)
Author
Owner

@tjbck commented on GitHub (Dec 27, 2024):

Should be addressed with #8130

<!-- gh-comment-id:2563437644 --> @tjbck commented on GitHub (Dec 27, 2024): Should be addressed with #8130
Author
Owner

@DmitriyAlergant commented on GitHub (Dec 27, 2024):

Thanks!

<!-- gh-comment-id:2563446670 --> @DmitriyAlergant commented on GitHub (Dec 27, 2024): Thanks!
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/open-webui#118324