Repository navigation
Fix undefined and misnamed CSS variables in Fluent theme and decorator styles - #5890
Open
Eugene (OEvgeny) wants to merge 5 commits into
Open
Eugene (OEvgeny) wants to merge 5 commits into
Eugene (OEvgeny) wants to merge 5 commits into
Conversation
added 4 commits
October 17, 2026 05:40
--webchat-part-grouping__bubble--max-width in PartGroupingDecorator but missed CopilotMessageHeader.module.css, so the header had no max width and spanned the full transcript width in the Fluent variant.
The citation and numbered link hover rule uses --webchat-colorBrandStroke2Hover, which was never mapped to the Fluent token, so the hover border took the text color. Map it next to colorBrandStroke2 and colorBrandStroke2Pressed.
--webchat-decorator-*-color3Fade read the --webchat-*-color1Fade hook, so --webchat-borderFlair-color3Fade and --webchat-borderLoader-color3Fade had no effect. Read them, falling back to color1Fade to keep the current look for hosts that only set color1Fade. Update the changelog entry to cover all fixes.
Eugene (OEvgeny)
force-pushed
the
OEvgeny/fix-copilot-message-header-max-width
branch
from
October 17, 2026 12:40
d9ad648 to
bc370d7
Compare
Eugene (OEvgeny)
marked this pull request as ready for review
October 17, 2026 14:33
Eugene (OEvgeny)
requested review from
William Wong (compulim),
Chris Whitten (cwhitten) and
TJ Durnford (tdurnford)
as code owners
October 17, 2026 14:33
William Wong (compulim)
previously approved these changes
Oct 18, 2026
Eugene (OEvgeny)
dismissed
William Wong (compulim)’s stale review
via
October 18, 2026 01:12
945db6c
Eugene (OEvgeny)
enabled auto-merge (squash)
October 18, 2026 01:12
This branch has not been deployed
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.
Changelog Entry
Fixed
CopilotMessageHeaderis limited to the maximum message bubble width again instead of spanning the full transcript width in the Fluent theme, citation links in the Fluent theme use the brand stroke color for their hover border instead of the text color, and--webchat-borderFlair-color3Fadeand--webchat-borderLoader-color3Fadenow set the third fade color of the border flair and loader, in PR #5890, by @OEvgenyDescription
A cross-check of the
var(--webchat…)uses in the CSS modules ofcomponentandfluent-themeagainst the defined names found three bugs:CopilotMessageHeaderlimits its width with--webchat__bubble--max-width. feat: fold activity decorator into part grouping #5608 renamed that variable to--webchat-part-grouping__bubble--max-widthbut missed this file, so the header has no max width. In the Fluent variant, when Web Chat is wider than 450px, a long bot name and the "AI-generated content may be incorrect" badge run past the message bubble to the edge of the transcript.--webchat-colorBrandStroke2Hover. feat: fluent expansion #5258 added the hover and pressed border colors but mapped only the Stroke2Pressed token, so the hover border takes the text color (#0f548cinstead of#77b7f7withwebLightTheme).--webchat-…-color1Fadehook instead of--webchat-…-color3Fade, so hosts cannot set it.Design
100%, and the header already fills the row there.--webchat-colorBrandStroke2Hover(used without aFluentProvider) is#5fc7f3. Fluent mapscolorBrandStroke2Hoverto brand[120] (#77b7f7inwebLightTheme). The neighboring fallbacks use a teal ramp at Fluent's positions (colorBrandStroke2#9edcf7is [140],colorBrandBackground2Pressed#7fd2f5is [130]), which has no [120] value, so#5fc7f3continues its evenly spaced [160] to [130] steps by one step. The same extrapolation gives Fluent's own web and Teams [120] within 5/255.color3Fadefalls back to thecolor1Fadehook, thentransparent. Hosts that set onlycolor1Fadesee no change. Without hooks, all fades staytransparent.Specific Changes
CopilotMessageHeader.module.css:max-widthuses--webchat-part-grouping__bubble--max-widthTheme.module.css: added--webchat-colorBrandStroke2Hover, mapped to the FluentcolorBrandStroke2HovertokenBorderFlair.module.css,BorderLoader.module.css:color3Fadereads--webchat-borderFlair-color3Fade/--webchat-borderLoader-color3Fadepart-grouping/copilotMessageHeader.htmlandcopilotMessageHeader.copilot.html:CopilotMessageHeaderas thePartGroupDecoratorheader for a bot with a long name, checks name, tooltip, and badge, snapshot (the Copilot variant snapshot is the same as before the fix)fluentTheme/citation.hover.html: hovers a citation, checks:hover, snapshotdecorator/borderFadeColors.html: sets the fade color hooks, freezes the loader and the flair, checks which one is shown, snapshotsCHANGELOG.mdReview Checklist
z-index)package.jsonandpackage-lock.jsonreviewed