feat(chat): always-visible config for thumbs feedback#354
Open
herikwebb wants to merge 3 commits into
Open
Conversation
The thumbs-up/down feedback buttons were only revealed on hover, which made them easy to miss; engagement with the in-process telemetry event was correspondingly low. Add an admin-controlled traitlet, `enable_chat_feedback_always_visible`, that mirrors the existing `enable_chat_feedback` plumbing — exposed via the capabilities endpoint, read by `NBIAPI.config.chatFeedbackAlwaysVisible`, and applied as an `always-visible` modifier on `.chat-message-feedback` so the buttons render at full opacity for every assistant reply. Also drop the `!showGenerating` gate on the feedback container in always-visible mode: it previously held the buttons hidden until the `StreamEnd` WebSocket message arrived, which lands noticeably after the last text chunk and produced a perceptible lag between "reply visible" and "buttons visible." Hover mode keeps the gate, so its behavior is unchanged.
"Helpful"/"Not helpful" reads as a self-report ("was this helpful to
you?") rather than a rating of the assistant's reply. "Good response"
and "Bad response" frame the rating as feedback on the response
itself, which is what the click actually captures. Update both the
visible tooltip (title) and the screen-reader aria-label so the
wording stays consistent across assistive tech.
Pad the trailing whitespace on the new `enable_chat_feedback_always_visible` row so the closing `|` aligns with the surrounding rows in the traitlet table. Restores `jlpm run lint:check` to passing.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The feedback buttons are only visible when you hover over them and are very easy to miss. After seeing very low engagement with this mechanism, adding the option to make them always visible, similar to other popular IDEs.
enable_chat_feedback_always_visibletraitlet (defaultFalse, mirrors the existingenable_chat_feedbackplumbing end-to-end) that renders the thumbs feedback buttons at full opacity on every assistant reply instead of revealing them only on hover.!showGeneratinggate on the feedback container — the buttons were previously held back until theStreamEndWebSocket message arrived, which lands noticeably after the last text chunk and produced a perceptible lag between "reply visible" and "buttons visible". Hover mode keeps the gate, so its behavior is unchanged.Test plan
enable_chat_feedback = Trueonly (default for the new flag): thumbs hover-reveal as before; CSS gate behaves identically.enable_chat_feedback_always_visible = True(andenable_chat_feedback = True): thumbs render at full opacity for every copilot reply.StreamEndsignal — no perceptible gap between text-visible and buttons-visible.chat_feedback_always_visibledefaults tofalseinGET /notebook-intelligence/capabilitieswhen the traitlet is unset.