[PR #21881] [CLOSED] perf: remove per-word fade transitions from TextToken during streaming #41948

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

📋 Pull Request Information

Original PR: https://github.com/open-webui/open-webui/pull/21881
Author: @Classic298
Created: 2/25/2026
Status: Closed

Base: devHead: perf/remove-texttoken-fade


📝 Commits (1)

  • 8809084 perf: remove per-word fade transitions from TextToken during streaming

📊 Changes

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

View changed files

📝 src/lib/components/chat/Messages/Markdown/MarkdownInlineTokens/TextToken.svelte (+2 -14)

📄 Description

During streaming, TextToken split text by spaces and wrapped each word in a span with a 100ms CSS fade transition. This created O(words) DOM elements with active transitions that were all destroyed and recreated on every content update. Replace with direct raw text rendering, eliminating unnecessary DOM overhead during streaming.

In other words: this removes the subtle per-word fade effect when streaming in the words
@tjbck alternative: refactor to fade in per token or per batched token to at least have minor perf improvement

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.

Note

Deleting the CLA section will lead to immediate closure of your PR and it will not be merged in.


🔄 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/21881 **Author:** [@Classic298](https://github.com/Classic298) **Created:** 2/25/2026 **Status:** ❌ Closed **Base:** `dev` ← **Head:** `perf/remove-texttoken-fade` --- ### 📝 Commits (1) - [`8809084`](https://github.com/open-webui/open-webui/commit/880908448cfb7ab09f8289fde0b4c04d107859cc) perf: remove per-word fade transitions from TextToken during streaming ### 📊 Changes **1 file changed** (+2 additions, -14 deletions) <details> <summary>View changed files</summary> 📝 `src/lib/components/chat/Messages/Markdown/MarkdownInlineTokens/TextToken.svelte` (+2 -14) </details> ### 📄 Description During streaming, TextToken split text by spaces and wrapped each word in a span with a 100ms CSS fade transition. This created O(words) DOM elements with active transitions that were all destroyed and recreated on every content update. Replace with direct raw text rendering, eliminating unnecessary DOM overhead during streaming. <ins>**In other words: this removes the subtle per-word fade effect when streaming in the words @tjbck alternative: refactor to fade in per token or per batched token to at least have minor perf improvement**</ins> ### Contributor License Agreement <!-- 🚨 DO NOT DELETE THE TEXT BELOW 🚨 Keep the "Contributor License Agreement" confirmation text intact. Deleting it will trigger the CLA-Bot to INVALIDATE your PR. --> 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. > [!NOTE] > Deleting the CLA section will lead to immediate closure of your PR and it will not be merged in. --- <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 14:01:43 -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#41948