46f20e0dfe
* fix(web): keep dockview group alive on task switch to stop layout collapse On a fast-path env switch, the incoming session chat was added only after removeEphemeralPanels closed the outgoing chat. When that chat was the last surviving panel in its group (e.g. the default layout's chat column), removing it first emptied — and so destroyed — the group. The captured group id then no longer existed, and post-#1165 the old `referenceGroup: "sidebar"` fallback is dead, so addPanel ran with an undefined position: dockview dropped the incoming chat into the active (terminal) group and collapsed the grid root to a vertical stack. The corrupted layout was then persisted, so it survived reloads. Add the incoming session panel before removing the outgoing one, anchored at the outgoing panel's current index, so the group stays alive throughout the swap. Removing the panels ahead of the insert point shifts the new panel into the same final slot, so computeSurvivingIndex is no longer needed. * docs(web): note the raw-index equivalence assumption in env switch