Keep the chat request edit input opaque over Agents Window backgrounds - #334021
Merged
Justin Chen (justschen) merged 2 commits intoSep 4, 2026
Conversation
Co-authored-by: justschen <54879025+justschen@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Fix translucency of chat request edit input
Keep the chat request edit input opaque over Agents Window backgrounds
Sep 2, 2026
Justin Chen (justschen)
approved these changes
Sep 4, 2026
Justin Chen (justschen)
marked this pull request as ready for review
September 4, 2026 20:18
Justin Chen (justschen)
enabled auto-merge (squash)
September 4, 2026 20:18
TylerLeonhardt
approved these changes
Sep 4, 2026
Anthony Kim (anthonykim1)
approved these changes
Sep 4, 2026
Justin Chen (justschen)
deleted the
copilot/fix-chat-request-edit-opacity
branch
September 4, 2026 21:56
TylerLeonhardt
added a commit
that referenced
this pull request
Sep 4, 2026
Regenerated by CI. Most entries are this PR repainting the composer, and the NewSessionChatBackground pair is the fixture it adds. One entry is not from here: chatInput/ResponsiveModelResizeCycleMinimal/Dark. #334021 landed after the manifest was last regenerated and changed chatView.css without refreshing it, so this PR is the first regeneration to pick that up. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
TylerLeonhardt
added a commit
that referenced
this pull request
Sep 5, 2026
Regenerated by CI. Most entries are this PR repainting the composer, and the NewSessionChatBackground pair is the fixture it adds. One entry is not from here: chatInput/ResponsiveModelResizeCycleMinimal/Dark. #334021 landed after the manifest was last regenerated and changed chatView.css without refreshing it, so this PR is the first regeneration to pick that up. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
TylerLeonhardt
added a commit
that referenced
this pull request
Sep 5, 2026
…334655) * sessions: drop the composer card, give each control its own surface Over a chat background the new-session composer sat on a single frosted card, while a started session gives every control its own surface. This makes the composer match the started session. - Delete `.new-chat-widget-content`'s card styling: the padding, blur, border, radius and shadow. - Give the bottom-row action labels and the workspace pills an opaque `--session-view-background` fill, and put a 2px gap between the agent host config controls now that they no longer share one surface. - Keep the hover tint opaque. `--vscode-toolbar-hoverBackground` is translucent, so it goes on `background-image` as a flat gradient and composites over the opaque fill instead of replacing it. - Frame the bottom-row chips when a chat background is set, the same move the in-session secondary toolbar makes in `chatView.css`. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> * Address review: high-contrast chip frame, fixture layering The chip frame over a chat background used commandCenter.inactiveBorder, which — unlike its sibling border tokens — registers no hcDark/hcLight value, so it stayed a 25%-alpha wash in high contrast. Put contrastBorder first, the way the rest of the codebase does: high-contrast themes define it, others fall through. The chat-background fixture painted its opaque base on .session-view, which production makes transparent so the wallpaper can show. Move that base onto the part instead. Both screenshots are byte-identical, since the wallpaper is positioned and always painted above a static background either way — but the fixture now stacks its layers the way the real window does. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> * Refresh the blocks-ci screenshot manifest Regenerated by CI. Most entries are this PR repainting the composer, and the NewSessionChatBackground pair is the fixture it adds. One entry is not from here: chatInput/ResponsiveModelResizeCycleMinimal/Dark. #334021 landed after the manifest was last regenerated and changed chatView.css without refreshing it, so this PR is the first regeneration to pick that up. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> * Restore the resize-cycle hash the manifest refresh clobbered ResponsiveModelResizeCycleMinimal/Dark is not a fixture this branch touches, but the regenerated manifest I pasted carried a one-off hash for it. Put back the value main has held across ~20 regenerations, which is also what the latest run produced. That fixture is the only blocksCi one that sets virtualTime.enabled to false, and it drives 19 sequential resize widths on wall-clock time, so its final frame can land mid-settle on a loaded runner. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
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.
Description
Clicking a user request bubble to edit it in the Agents Window let the custom chat background show through the edit input, since the editing
.chat-input-containeronly gets the translucent--vscode-chat-requestBubbleBackground(#ffffff13in 2026-dark) while the Monaco editor background inside it is deliberately transparent.The request bubble itself already avoids this with an Agents Window opacity composition — opaque
--session-view-backgroundbase, translucent token layered on as a gradient. This applies the same composition to the edit surface that replaces it.Changes
src/vs/sessions/contrib/chat/browser/media/chatView.css: adds the opaque-base-plus-tint override for the editing input under.has-chat-background, next to the existing request-bubble rules. Covers both editing selectors fromchat.css, so it holds for the defaultchat.editRequests: inline(input inside the request row) and forinput(composer as edit surface).src/vs/sessions/contrib/chat/test/browser/chatView.test.ts: regression test beside the existing request-bubble opacity test, snapshot-asserting the computed edit-input background for both editing surfaces, plus a control part without.has-chat-backgroundto confirm the override stays scoped.