Skip to content

Keep page chat at sidebar width at the 1150px breakpoint - #116

Open
charan-rathore wants to merge 3 commits into
CopilotKit:mainfrom
charan-rathore:fix-page-chat-sidebar-width
Open

charan-rathore wants to merge 3 commits into
CopilotKit:mainfrom
charan-rathore:fix-page-chat-sidebar-width

Conversation

@charan-rathore

@charan-rathore charan-rathore commented Oct 7, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Keep the page conversation's .live-chat at the available sidebar width instead of its max-content width.

At the 1150px breakpoint, the page assistant shrinks from 360px to 330px. Its chat is a flex child with auto horizontal margins and no explicit width, so it can remain wider than the panel. A normal specialist name plus the chat controls is enough to expose the overflow.

Related: #69. This reproduces a narrower-breakpoint variant at 1150px, not the original report's approximately 1320px. Do not treat this as proof that every case in #69 is fixed.

Regression coverage

The browser test renders the real Chat, ChatTranscript and PageReviewCard components into the page sidebar shell using repository CSS. SDK hooks and voice are mocked; there is no model request or Docker setup. Playwright Chromium checks sidebar containment at 1320, 1150, 901, 900, 700 and 390px. On unmodified main, the test fails at 1150px: sidebar scrollWidth 357 vs clientWidth 329. With the CSS rule, all widths pass.

Validation

Brought the branch up to current main and fixed the browser test setup. It tries installed Chrome only when Playwright's default browser is missing. A bad configured browser path and other launch errors still fail normally.

On Node 24.22.3, formatting, lint, type checks, all 355 tests and the build pass. The browser test uses the real chat components with mocked SDK hooks, not a live model session. At 1150px it fails without the width rule and passes with it. All six tested widths pass with the rule.

Knip's default parser hit an allocation error locally. Both checks completed with its built-in standard parser and reported the same existing findings on unchanged main and this branch. I haven't changed the Knip configuration or hidden any findings. New CI is pending.

AI-assisted implementation and regression preparation.

@charan-rathore

Copy link
Copy Markdown
Contributor Author

Brought the branch up to current main and fixed the browser test setup. It tries installed Chrome only when Playwright's default browser is missing. A bad configured browser path and other launch errors still fail normally.

On Node 24.22.3, formatting, lint, type checks, all 355 tests and the build pass. The browser test uses the real chat components with mocked SDK hooks, not a live model session. At 1150px it fails without the width rule and passes with it. All six tested widths pass with the rule.

Knip's default parser hit an allocation error locally. Both checks completed with its built-in standard parser and reported the same existing findings on unchanged main and this branch. I haven't changed the Knip configuration or hidden any findings. New CI is pending.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant