Uh oh!
There was an error while loading. Please reload this page.
fix(console-ai): Studio dock remembers a collapse; folded layout side-by-side at xl (ADR-0057 UX #2477) - #2478
Merged
Merged
Conversation
…-by-side at xl (ADR-0057 UX, #2477) - Studio right dock persists collapse per-tab (own sessionStorage key), so it no longer re-expands on every pillar/package switch or Studio re-entry. The stored flag is now explicit '0'/'1' (not remove-on-collapse) so a default-expanded surface can actually remember being collapsed. - Folded canvas+properties go side by side from xl (1280, was 2xl): the common laptop keeps the WYSIWYG canvas visible while editing properties instead of the auto-hiding tabs. The side-by-side inspector is slimmer at xl, wider at 2xl, so the canvas keeps usable width beside the ~420px dock. Refs #2477 (ADR-0057 UX follow-ups) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The latest updates on your projects. Learn more about Vercel for GitHub. |
Contributor
✅ Console Performance Budget
📦 Bundle Size Report
Size Limits
|
os-zhuang
commented
Jul 14, 2026
ContributorAuthor
Live browser proof (ADR-0054) — local rig, 1440×900 viewport, Studio design surface: #2 — Studio dock remembers a collapse
#3 — folded canvas + properties side by side at
 |
Uh oh!
There was an error while loading. Please reload this page.
This was referenced Jul 14, 2026
Merged
os-zhuang added a commit
that referenced
this pull request
Jul 14, 2026
…2485) * feat(console-ai): edit-mode empty state distinct from magic-flow build (ADR-0057 A1.b) When the build surface is opened to edit an existing app (?package=X), the empty-state guidance was still the magic-flow 'describe an app to build' copy + from-scratch starters — wrong for editing a bound app. Now the build surface has two empty states, keyed on editPackageId: - magic flow (no ?package=): 'Build with AI' + build-a-CRM/tracker starters. - edit mode (?package=X): 'Editing "<app>"' + 'what would you like to change… I'll modify this app in place' + change-oriented starters (add a field / object / dashboard / automation). App name comes from metadata (editAppLabel); falls back to a generic 'Edit this app' title until metadata loads, so a raw package id (app.xadv) never flashes. agentEmptyState + buildAgentSuggestions gain the edit branch and are exported + unit-tested (8 cases). Empty state stays string-props into ChatbotEnhanced — no plugin-chatbot change. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * fix(console-ai): clear plaintext chat cache on logout / user switch Conversation content + tool payloads are cached in localStorage in plaintext (objectstack:ai-chat-conversation-id:* and :ai-chat-messages:*). They were never cleared on logout, so on a shared machine the next profile user could read the prior user's AI threads (which may contain data surfaced by the ask agent). useChatConversation now purges all objectstack:ai-chat-* keys when the signed-in user changes (defined -> undefined = logout, or u1 -> u2 = switch). A mid-session auth flicker would also purge, but that only forces a harmless server re-fetch. New exported purgeChatCaches() so an explicit logout path can also call it. Unit-tested (purge scope, no-purge-on-initial-mount, logout, user-switch). Refs #2478 (M2). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> --------- Co-authored-by: Jack Zhuang <277994282+os-zhuang@users.noreply.github.com> Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
This was referenced Aug 10, 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.
First two of the post-cleanup UX follow-ups from #2477 (ADR-0057). Small, contained changes in already-touched files.
#2 — Studio dock remembers a collapse (per-tab)
The Studio right copilot still mounts expanded by default, but a user who collapses it to get the classic three-zone canvas no longer sees it re-open on every pillar / package switch or Studio re-entry.
Root cause: the stored expanded flag used remove-on-collapse, so on a default-expanded surface "collapsed" read back as "unset" → fell to the default → re-expanded. Fixed by storing an explicit
'0'/'1'(parseStoredDockExpandednow returnsboolean | null, callers fall back onnull), under a Studio-specific sessionStorage key so it never shares state with the console dock. Console dock behavior is unchanged (default-collapsed either way).#3 — Folded canvas + properties side by side from
xl(was2xl)On the common laptop (1280–1512) the folded center fell into tabs, which auto-hide the canvas the moment you select a block — breaking the WYSIWYG "edit and watch it apply" loop. Lowered the side-by-side breakpoint to
xl(1280); the side-by-side inspector is slimmer atxland grows at2xl, so the canvas keeps usable width beside the ~420px dock. Belowxlthe tabs remain (no room for three columns + chat).Verification
tsc --noEmitclean; app-shell +apps/consolebuild green.npx vitest runlayout / console-ai / studio-design: 16 files, 81 tests green. New coverage: the stored-flag round trip proving a default-expanded surface stays collapsed after an explicit collapse (and console default-collapsed is unaffected);parseStoredDockExpandedtri-state.Refs #2477 · ADR-0057