LibreChat/packages
Marco Beretta 29f6ec6eae
🙈 feat: Config Option to Hide Response Feedback Buttons (#15085)
* feat: add interface option to hide response feedback buttons

Adds `interface.feedback` to librechat.yaml. When set to false, the
thumbs up/thumbs down buttons are removed from the message action row
and the feedback endpoint rejects writes with 403, so deployments that
do not consume the data can stop collecting it. Defaults to true.

* refactor: hoist the feedback gate out of the message row and into typed middleware

Reading startup config inside HoverButtons put a query observer and two Recoil
subscriptions on every message row, and rows never unmount, so the cost grew
with the conversation. Resolve the flag once per chat in useChatHelpers and
carry it on TMessageChatContext; useMessageActions withholds handleFeedback
when it is off, which the action row already treats as "no feedback controls".
The flag now stays false until the config resolves, so a disabled deployment
never flashes controls whose writes are rejected.

Move the server-side policy into requireFeedbackEnabled under packages/api so
the route keeps no policy of its own.

* test: stub the feedback gate in specs that replace the api package

The messages router now imports requireFeedbackEnabled, and express rejects an
undefined handler at require time, so every spec that mocks @librechat/api
wholesale has to carry the export.
2026-08-21 11:16:44 -04:00
..
api 🙈 feat: Config Option to Hide Response Feedback Buttons (#15085) 2026-08-21 11:16:44 -04:00
client fix: Resolve axe Violations in Sidebar, Tools Dropdown and Footer (#14979) 2026-08-20 11:52:53 -04:00
data-provider 🙈 feat: Config Option to Hide Response Feedback Buttons (#15085) 2026-08-21 11:16:44 -04:00
data-schemas 🙈 feat: Config Option to Hide Response Feedback Buttons (#15085) 2026-08-21 11:16:44 -04:00