- Sidebar lists all planning sessions for the project (any status) with
inline status badges, relative timestamps, "+ New session", and an
inline delete confirm. Mobile collapses to a single pane with a back
chevron in the header.
- Closing the modal (X / Escape / overlay) no longer cancels the server
session — it stays in the list, resumable. Only an explicit Delete
cancels + removes. Removes the now-redundant minimize button.
- Add re-sync on reopen so a session whose terminal SSE event was missed
doesn't stay stuck on a stale loading view; previously only a hard
reload recovered.
- Persist user-chosen modal width/height across opens via localStorage,
driven by a ResizeObserver on the modal element.
- Theme the modal scrollbars to match the rest of the app.
- Banner dismiss only hides the banner now — it must not delete the
underlying session, since sessions are first-class in the new sidebar.
- Refresh background sessions list on SSE reconnect so the footer "AI N"
pill never gets stuck on tombstoned sessions after a network blip.
- Drop selection + broadcast completion on Create Task / Create Tasks
so the footer count drops in lockstep instead of waiting on SSE.
- Auto-scroll the AI thinking output as new tokens stream in (only when
already pinned to the tail).
- Guard overlay-click dismissal with a mousedown-on-overlay check so
releasing a resize drag outside the modal doesn't close it.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>