Skip to content

Mission Control: remember the layout per project - #270

Merged
pallaoro merged 4 commits into
mainfrom
shoudl-we-introduce-another-mission-control
Sep 28, 2026
Merged

pallaoro merged 4 commits into
mainfrom
shoudl-we-introduce-another-mission-control

Conversation

@pallaoro

Copy link
Copy Markdown
Member

Mission Control's layout was one app-wide choice. Each project now keeps its own (ateam.mcLayout.<projectId>, same scheme as the per-project tile order), since one project may run twice the terminals of another.

  • Read during render, not synced in an effect, so switching projects never paints the previous project's layout (which would also flick the 3x2 sidebar rail).
  • A project never set falls back to the old app-wide choice; a stored value naming a layout that no longer exists is ignored.
  • The layout lock stays app-wide.

Verified in the dev app over CDP: project A on 3x2 (rail on, 3 columns), project B on Split (sidebar expanded, 2 columns), and switching back and forth restores each.

A sixth-tile page for watching more agents at once. While the 3x2 layout
is on screen the sidebar collapses to the rail without touching the saved
preference; leaving the layout or view restores it, and expanding by hand
holds until you leave. The pager now spells out its Cmd+Alt+Up/Down
shortcut.
One project may run twice the terminals of another, so each project keeps
its own layout under ateam.mcLayout.<projectId>. It is read during render
so switching projects never paints the previous project's layout (which
would also flick the 3x2 rail). Projects never set fall back to the old
app-wide choice, and a saved value naming a layout that no longer exists
is ignored.
…nother-mission-control

# Conflicts:
#	apps/desktop/src/renderer/src/App.tsx
@pallaoro
pallaoro merged commit e0dfa7f into main Sep 28, 2026
1 check passed
@pallaoro pallaoro mentioned this pull request Sep 28, 2026
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