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.
Bundled plugins
Drop a <name>/plugin.{ts,tsx} here that default-exports a HermesPlugin and
it registers automatically at boot (vite glob in ../contrib/plugins.ts), with
the same inventory + live enable/disable contract as runtime plugins.
Keep this tree for real shipped plugins (and the small authoring fixtures that
dogfood the SDK). One-off demos that rebuild a core chrome piece 1:1 do not
belong here — they double the UI and confuse Settings ▸ Plugins. Publish those
in the companion
hermes-example-plugins
repo instead.
User- and agent-authored plugins load at runtime from
$HERMES_HOME/desktop-plugins/<name>/plugin.js (the disk door) — see the
hermes-desktop-plugins skill.