Problem
Below 768 pixels the Control sidebar is hidden and the top bar has no New control. A user with an existing session sees only the transcript. They cannot switch sessions or start one.
Where
components/control/session-list.tsx:266 and :309: both containers carry hidden ... md:flex.
components/control/control-top-bar.tsx has no new-session or session-switch control.
- Reference pattern:
components/top-bar.tsx:133-146 uses a left Sheet drawer for mobile navigation.
Fix
- Add a menu button to the Control top bar, visible only below
md, that opens SessionList inside a Sheet (same component as the desktop sidebar, no fork).
- Make sure the New button inside the sheet goes through
startNewSession from use-control-session-actions.ts, the same handler as every other entry point. Do not build a new target object.
- Close the sheet on session select.
Exit criteria
Out of scope
GitHub issue #347 (mobile workspace shell). Two of its sub-items are real (components/mobile/workspace-shell.tsx:26,36 should use isPane(), and activeId is destructured and discarded at :75) but it is a different surface.
https://claude.ai/code/session_01SQ4nS96XYRztd5w9QkubPf
Resolution verified on 2026-10-03
Merged in #563. At a 390px production viewport, the Sessions drawer switched a saved chat and closed after selection; New opened the composer with Mogplex/mogplex preselected. The long-title header keeps navigation on the breadcrumb row. All required PR and merge-queue checks passed.
Both changes are serving on mogplex.com at commit 43a410fcc9416c8bd03978ac61f8a21cfbd6f3ef. Production smoke passed and the matching Trigger worker is 20261003.4.
Problem
Below 768 pixels the Control sidebar is hidden and the top bar has no New control. A user with an existing session sees only the transcript. They cannot switch sessions or start one.
Where
components/control/session-list.tsx:266and:309: both containers carryhidden ... md:flex.components/control/control-top-bar.tsxhas no new-session or session-switch control.components/top-bar.tsx:133-146uses a leftSheetdrawer for mobile navigation.Fix
md, that opensSessionListinside aSheet(same component as the desktop sidebar, no fork).startNewSessionfromuse-control-session-actions.ts, the same handler as every other entry point. Do not build a new target object.Exit criteria
tests/e2e/at a 390 pixel viewport: open/control, open the drawer, click New, confirm the composer appears with the current project preselected.pnpm lint,pnpm typecheck,pnpm test, targeted e2e pass.Out of scope
GitHub issue #347 (mobile workspace shell). Two of its sub-items are real (
components/mobile/workspace-shell.tsx:26,36should useisPane(), andactiveIdis destructured and discarded at:75) but it is a different surface.https://claude.ai/code/session_01SQ4nS96XYRztd5w9QkubPf
Resolution verified on 2026-10-03
Merged in #563. At a 390px production viewport, the Sessions drawer switched a saved chat and closed after selection; New opened the composer with Mogplex/mogplex preselected. The long-title header keeps navigation on the breadcrumb row. All required PR and merge-queue checks passed.
Both changes are serving on mogplex.com at commit
43a410fcc9416c8bd03978ac61f8a21cfbd6f3ef. Production smoke passed and the matching Trigger worker is20261003.4.