3c0dcbbdc7
The contextSwitching early return in isRouteSessionMismatch sat above the same-id short-circuit, so a profile or connection switch while the route already pointed at the selected session reported a mismatch and blanked the chat to the splash. On main that call returned false. Move the selected-session check ahead of the contextSwitching guard: when the selected view already owns the routed conversation there is no prior context to leak, so nothing needs hiding. The guard still denies only the transcript-retention fallback, which is the case it was added for. Adds the exact regression to route-session-state.test.ts.