6e7c7c7da9
A plain roster click fronted whatever bots-workspace tab the user last had active for that bot (#96649). A '+' side thread persists in Local Storage across restarts, so it won every click forever while the row kept previewing the canonical Bot Chat (profiles.list canonical_session) — sidebar and center described two different conversations; a message typed there landed in the side thread and the row never moved. Support thread "[Bots] - Sessions is not in sync again" (bundle 7dfff039), reproduced live on origin/main. - roster-actions: the open-tab shortcut may front only the canonical chat (registry id or lineage tip, via a new onlyStoredIds allowlist on focusWorkspaceOwnerSessionTile); anything else resolves the registry and opens in place. Side tabs stay open beside it. "Open Bot Chat" in the row menu is the same action; the `canonical` option goes away. - roster-actions: when the FOCUSED Bot Chat's canonical session advances on the gateway (cron bot-chat delivery, message_agent, group round, CLI turn — none reach this window's stream), re-open it in place so the transcript refreshes instead of waiting for an app restart (#99393 class). Tests: the fronting-shortcut unit file and its e2e spec pinned the reversed behavior; replaced by one unit file (5 tests) and one e2e spec that fails on main and passes here. group-to-local-bot-handoff e2e still passes.