Repository navigation
Conversation
…gles no longer shift chat
Contributor
Author
|
Note 🤖 Claude Opus 5.5 on behalf of Oliver Closing. This removes the intended behavior where the card docks wherever it fits, with the chat moving aside to make room. That behavior should stay. I'm trying a smaller approach that keeps it. |
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.
Note
🤖 Claude Opus 5.5 on behalf of Oliver
Problem
When the workspace card is docked, it pushes the centered chat left (about 126px at a 1280px window). Opening or closing the right panel or the left sidebar moves the canvas width across the docking threshold partway through the animation. The card switches between docked and popover, and the chat jumps sideways.
Fix
The card now docks only when it fits beside the full-width centered chat. Otherwise it opens as a popover, the same one narrow windows already use. Docking never moves the chat, so there's no jump to animate. The code that pushed the chat left is removed.
The trade-off: the card stays docked down to about a 1384px canvas, where it used to stay docked down to about 1012px. Between those widths it's now a popover.
This replaces #18058, which kept the old threshold and needed about 800 lines of JavaScript to animate the jump.
Evidence
Videos were recorded at the slowest panel speed (400ms).
Right panel, before: the chat jumps when the card undocks.
https://gh-file-drop-api-prod-galwoqjslzlnws6s.oliver-boorstein.workers.dev/f/b473e2cdc3bcba02/before-right-panel.mp4
Right panel, after: the chat stays centered.
https://gh-file-drop-api-prod-galwoqjslzlnws6s.oliver-boorstein.workers.dev/f/0887082032453091/after-right-panel.mp4
Left sidebar, before
https://gh-file-drop-api-prod-galwoqjslzlnws6s.oliver-boorstein.workers.dev/f/f9f2134f6bec1530/before-left-sidebar.mp4
Left sidebar, after
https://gh-file-drop-api-prod-galwoqjslzlnws6s.oliver-boorstein.workers.dev/f/12aca28d6ad1e594/after-left-sidebar.mp4
The sidebar clips also stutter in both versions. That comes from re-rendering ChatView, which #18057 addresses separately.
At 1280px, before: the card is docked and the chat is pushed left and narrowed.

At 1280px, after: the chat is centered and the card opens as a popover.

Validation
vp test runonchatCanvasLayout.test.tsandthreadDetailsCardLayout.test.ts. A new check runs at every width from 1000 to 1800px and confirms that the chat is in the same place with or without the card, and that a docked card stays clear of the chat. It fails onmain.Scope and approval
There is no triaged issue for this. I'm sharing it with maintainers directly. It changes when the card docks, which is a product decision, so it's a draft until a maintainer agrees with the new threshold.
Made with Claude Opus 5.5 and GPT-6.1 Sol in Claude Code, orchestrated from T3 Code.