issue: switching a rated reply to the other thumb keeps its old score and reason
Before Submitting
- I searched open and closed issues and discussions for an existing report.
- I checked whether this is already fixed on the
devbranch or latest source. - I understand that maintainers want a well-written issue before any code pull request.
- I am using the latest available version of Open WebUI for my install method.
- This is not a security vulnerability.
Installation Method
Git Clone
Open WebUI Version
dev at a096961a31499be23890b98a040ecf2917405568
Operating System
Ubuntu 26.04.1 LTS
Browser
Firefox 155.0
Ollama Version
0.34.0
Summary
The rating form only lets a Bad Response take a score from 1 to 5 and a Good Response take a score from 6 to 10. Switching a rated reply to the other thumb keeps the old score, so the saved feedback can say the model won with a score of 1, or lost with a score of 9. The chosen reason carries over the same way, so a Bad Response can be saved with a reason from the Good Response list.
Expected Behavior
A saved rating always matches its thumb. A Good Response is stored with a score from 6 to 10 and a Bad Response with a score from 1 to 5, the same range the form enforces when a reply is first rated. The saved reason also comes from that thumb's own list.
Actual Behavior
After switching thumbs, the feedback entry in Admin Panel, Evaluations, Feedback shows the new result with the old score and reason:
- A reply first rated
Bad Responsewith 1, then switched toGood Response, showsWONwith a rating of 1. - A reply first rated
Good Responsewith 9 and the reasonThorough explanation, then switched toBad Response, showsLOSTwith a rating of 9 and the reason "thorough_explanation". That reason is only offered for aGood Response.
In the reopened form, the old score is still highlighted even though its button is now disabled, and Save accepts it. The leaderboard rankings are not affected, because they use only the thumb. The mismatch shows in the Feedback Details view.
Steps to Reproduce
- Send any message to a model and wait for the reply to finish.
- Click
Bad Responseon the reply, choose 1, and clickSave. The toast "Thanks for your feedback!" appears. - Click
Good Responseon the same reply. The form reopens with 1 still highlighted. - Click
Savewithout changing the score. - Go to Admin Panel, Evaluations, Feedback, and open the entry for that reply. It shows
WONwith a rating of 1.
The reverse also reproduces it, and shows the reason carrying over. Rate Good Response with 9, pick Thorough explanation, and click Save. Then click Bad Response and save. The entry shows LOST with a rating of 9 and the reason "thorough_explanation".
Logs, Screenshots, and Config
WON with a rating of 1:
LOST with a rating of 9 and a reason from the Good Response list:
I did not capture browser console or server logs.
Additional Information
Anchored to a096961a31499be23890b98a040ecf2917405568.
The form disables scores outside the thumb's range. This lock has existed since e54879aeb17920afc3aa009d09e0e7546582d47a (2024-11-19), which added the 1 to 10 scale. https://github.com/open-webui/open-webui/blob/a096961a31499be23890b98a040ecf2917405568/src/lib/components/chat/Messages/RateComment.svelte#L147
Clicking a thumb saves the new result right away and spreads the previous annotation into it, so the old score is stored with the flipped thumb before the form is even saved. https://github.com/open-webui/open-webui/blob/a096961a31499be23890b98a040ecf2917405568/src/lib/components/chat/Messages/ResponseMessage.svelte#L458-L468
The form only loads a score or reason when none is selected, and its save handler sends both without checking them against the thumb. The reason buttons switch to the other thumb's list, so the kept reason is not among the buttons shown, but it is still sent. https://github.com/open-webui/open-webui/blob/a096961a31499be23890b98a040ecf2917405568/src/lib/components/chat/Messages/RateComment.svelte#L46-L59 https://github.com/open-webui/open-webui/blob/a096961a31499be23890b98a040ecf2917405568/src/lib/components/chat/Messages/RateComment.svelte#L69-L71 https://github.com/open-webui/open-webui/blob/a096961a31499be23890b98a040ecf2917405568/src/lib/components/chat/Messages/RateComment.svelte#L85-L103
Clearing the stored score and reason when the thumb changes would force a new pick that matches the thumb.
Source: open-webui/open-webui