mirror of
https://github.com/open-webui/open-webui.git
synced 2026-07-16 14:39:31 -05:00
[GH-ISSUE #23171] issue: message.done state is unreliable — switching chats or refreshing the page causes premature display of thinking process and action buttons #35433
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 (Mar 28, 2026).
Original GitHub issue: https://github.com/open-webui/open-webui/issues/23171
Check Existing Issues
Installation Method
Git Clone
Open WebUI Version
v0.8.12
Ollama Version (if applicable)
No response
Operating System
Mac 26
Browser (if applicable)
No response
Confirmation
README.md.Expected Behavior
The thinking process block and action buttons should only appear when the message has genuinely finished generating, regardless of page navigation or refresh.
Actual Behavior
Currently, the message.done flag is used to determine whether a message has finished generating. However, this state is unreliable — it can be lost when the user switches to another conversation or refreshes the page while a response is still being generated.
This leads to a concrete UI bug: even though a message may still be actively generating, the thinking/reasoning process block and action buttons (copy, regenerate, etc.) appear prematurely, because message.done defaults to a "completed" state after the state is lost.
Steps to Reproduce
Logs & Screenshots
Additional Information
Proposed Solution
Instead of relying solely on
message.done(a per-message, easily-lost flag), use context to pass down two key pieces of state:With this approach, the UI logic becomes:
This makes the "done" state derived and deterministic rather than relying on a flag that can be lost due to client-side state resets.
@tjbck commented on GitHub (Apr 1, 2026):
Fixed in dev.