Repository navigation
Conversation
The chat is the constant surface: it stays open beside every page and only hides when the main panel expands over it. Layout controls live on the main panel (expand, close), the chat reopens a closed panel, and a project's "open the chat" setting is honored again, defaulting to open. The empty chat no longer presents an agent identity: a project is context, not someone you talk to. A chat that changed a site shows its draft as a card in the conversation, with a strip above the composer while it is pending. Also restyles messages (right-aligned user bubbles, dashed queued messages, time beside the cost) and moves the connect prompt to a home banner that leaves once an agent is connected. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2 of 4 tasks
Collaborator
Author
|
Folded into #8417, which now targets main with both changes. |
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.
What is this contribution about?
Studio becomes chat-first. The chat is the one surface that is always there, and every other screen (home, a project, the Site Editor) opens beside it. This PR ships the layout, the cleanup of the empty chat, a first in-chat card for drafts, and a message restyle. It also writes down the model the chat follows from here on, including how it should pick up a sandbox. The second half of that model is not implemented yet; see "Not in this PR".
Premises
Sandbox heuristics (the model this PR documents)
name") and the draft card appears.What ships here
Layout
Empty chat
Draft card (first version)
Messages
Home
Not in this PR
How did you verify your code works?
bun run fmt,bun run lint(oxlint) andbun run knippass with no findings.tsc --noEmitpasses forapps/web.bun test --paralleloverapps/web/src(theverifytest command scoped to web) gives 4968 pass and 356 fail.seen-flag,mcp-oauthandhost-stylespass when run on their own.bun run verifyas a whole. Its test step also runs API integration tests against local services, which failed with migration and connection errors unrelated to this change, so I stopped it.use-chat-layout-state.test.ts(17 pass). The test that asserted the project setting was ignored now asserts it is honored, including?sidepanel=trueoverriding it. A new test checks that an unset setting opens the chat.Screenshots/Demonstration
Layout and the draft card. Expand and close are on the main panel; the chat stays on the right with the draft it changed.

Main panel expanded. The chat comes back from the same corner.

Main panel closed. The chat reopens it from its header.

Messages

Home banner

How to Test
Migration Notes
Review Checklist
🤖 Generated with Claude Code
Summary by cubic
Studio becomes chat-first: the chat stays open beside every page and only hides when the main panel expands over it. Expanding is a per-person preference that persists, and the project setting "open the chat" is honored again, with unset now meaning open.
For later: the sandbox heuristics (attach on first change, one draft per project per chat, publish/discard/keep as draft) are documented in this PR but not implemented yet. Opening a project still selects that project's thread, the card only approximates "the first change", and git drafts don't show a card. The banner can't detect OAuth connections.
Written for commit 153606b. Summary will update on new commits.