#30053·open-webui

issue: switching a rated reply to the other thumb keeps its old score and reason

Author: silentoplayzCreated Sep 15, 2026Updated Sep 17, 2026
Labelsbugconfirmed issue

Before Submitting

  • I searched open and closed issues and discussions for an existing report.
  • I checked whether this is already fixed on the dev branch 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 Response with 1, then switched to Good Response, shows WON with a rating of 1.
  • A reply first rated Good Response with 9 and the reason Thorough explanation, then switched to Bad Response, shows LOST with a rating of 9 and the reason "thorough_explanation". That reason is only offered for a Good 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

  1. Send any message to a model and wait for the reply to finish.
  2. Click Bad Response on the reply, choose 1, and click Save. The toast "Thanks for your feedback!" appears.
  3. Click Good Response on the same reply. The form reopens with 1 still highlighted.
  4. Click Save without changing the score.
  5. Go to Admin Panel, Evaluations, Feedback, and open the entry for that reply. It shows WON with 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.