mirror of
https://github.com/open-webui/open-webui.git
synced 2026-07-11 10:03:05 -05:00
[GH-ISSUE #19308] feat: Display chat messages on demand or paginated to improve page performance on low-end computers #18835
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?
Originally created by @ShirasawaSama on GitHub (Nov 20, 2025).
Original GitHub issue: https://github.com/open-webui/open-webui/issues/19308
Check Existing Issues
Verify Feature Scope
Problem Description
When the context of a chat log becomes extremely large—especially when involving functions like thinking processes, tool invocations, image generation, or online searches—the entire page loads all chat records at once. This causes the entire page to freeze for over ten seconds.
The computer in the screenshot uses an Intel i3 low-power laptop CPU. At this point, the entire page is completely unresponsive.
Desired Solution you'd like
When clicking into a chat history, only load the last two or three messages. Only display additional entries (still two or three at a time) when there's more space on the page or the user scrolls up.
Example: https://svelte.dev/playground/2239cc4c861c41d18abbc858248f5a0d?version=5.43.12
Alternatives Considered
The entire chat page uses virtual scrolling, but since the chart is rendered asynchronously, its height may change. It's uncertain whether Svelte's virtual scrolling module will work reliably.
Additional Context
No response
@tjbck commented on GitHub (Nov 20, 2025):
This is already the case no? All messages are retrieved but only the last few messages are rendered. Please check the implemenation.