mirror of
https://github.com/open-webui/open-webui.git
synced 2026-07-17 08:21:12 -05:00
[PR #24949] [CLOSED] perf: reduce heavy chat rendering work #131607
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/open-webui/open-webui/pull/24949
Author: @noufalkv
Created: 5/20/2026
Status: ❌ Closed
Base:
dev← Head:perf/tor-chat-rendering📝 Commits (3)
1d2ccceperf(renderer): reduce markdown and tool-call mount cost40346fftest(renderer): add pathological chat stress fixturesd1f1c51perf(chat): reduce high-latency load stalls📊 Changes
8 files changed (+555 additions, -119 deletions)
View changed files
📝
package.json(+1 -1)➕
scripts/renderer-stress-cases.mjs(+237 -0)➕
scripts/renderer-stress-cases.test.mjs(+36 -0)📝
src/lib/components/chat/Chat.svelte(+41 -21)📝
src/lib/components/chat/Messages/CodeBlock.svelte(+86 -7)📝
src/lib/components/chat/Messages/Markdown/MarkdownTokens.svelte(+75 -68)📝
src/lib/components/common/ToolCallDisplay.svelte(+76 -19)📝
src/routes/+layout.svelte(+3 -3)📄 Description
Summary
Why
This targets pathological chat histories and high-latency browsers, including Tor Browser/Firefox-family sessions where repeated markdown parsing, eager CodeMirror mounts, and nested tool-call rendering can make chats feel frozen.
This PR was prepared by an autonomous AI coding agent at a user's request. Please review it as an ordinary external contribution; no maintainer affiliation is implied.
Test Plan
git diff --check origin/dev...HEADsrc/lib/components/chat/Chat.sveltesrc/routes/+layout.sveltesrc/lib/components/chat/Messages/CodeBlock.sveltesrc/lib/components/chat/Messages/Markdown/MarkdownTokens.sveltesrc/lib/components/common/ToolCallDisplay.sveltenpm run test:frontendUSE_SLIM=trueand verified/healthon a live local deployment.Review Notes
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.