Uh oh!
There was an error while loading. Please reload this page.
feat(console/ai): draggable chat ↔ preview split (ChatGPT/Claude-style) - #1705
Merged
Conversation
When the Live Canvas preview opened, the chat column was a fixed 42% — no way to rebalance. Add a draggable divider between the chat and the preview, like ChatGPT's canvas / Claude's artifacts: - Drag the divider to resize; width persists (localStorage). - Clamped both ways so neither pane collapses: chat ≥ 360px, and never so wide the preview drops below 420px. A ResizeObserver re-clamps when the window shrinks or the chats list collapses. - Double-click the divider to reset; ←/→ resize by 24px when it's focused (role="separator", keyboard-accessible). - A transparent overlay during the drag keeps pointer events flowing past the canvas iframe (which would otherwise swallow them). Clamp logic is a pure exported `clampChatPaneWidth`; the hook keeps all DOM reads in handlers/effects (none during render). Test: 482 pass (5 new on the clamp — floor, preview-room cap, in-range, tiny container, unmeasured). tsc clean; no new lint errors. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The latest updates on your projects. Learn more about Vercel for GitHub. |
Contributor
✅ Console Performance Budget
📦 Bundle Size Report
Size Limits
|
This was referenced Jun 13, 2026
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 freeto 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.
Why
When the Live Canvas preview opens, the chat column was a fixed 42% — no way to rebalance. Continuing the "preview makes it cramped" thread (#1703), add a draggable divider between chat and preview, like ChatGPT's canvas / Claude's artifacts.
What
ResizeObserverre-clamps when the window shrinks or the chats list collapses.role="separator", keyboard-accessible).Clamp logic is a pure exported
clampChatPaneWidth; theuseResizableChatPanehook keeps all DOM reads in handlers/effects (none during render).Verification
tscclean; no new lint errors.Desktop-only divider (
md:block), matching the desktop split. Pairs with the collapsible list (#1703) — together they make the preview workspace comfortable on any width.Note: clamp + persistence are unit-tested; I haven't captured a live-rig screenshot of the drag (needs a console rebuild into the EE rig) — can do on request.
🤖 Generated with Claude Code