Skip to content
This repository was archived by the owner on Aug 17, 2026. It is now read-only.

feat: hide canonical Bot Chats from the global Sessions sidebar (#46) - #64

Merged
teknium1 merged 1 commit into
mainfrom
feat/hide-bot-chats
Aug 15, 2026
Merged

feat: hide canonical Bot Chats from the global Sessions sidebar (#46)#64
teknium1 merged 1 commit into
mainfrom
feat/hide-bot-chats

Conversation

@teknium1

Copy link
Copy Markdown
Contributor

Fixes #46.

Bot Chats are plugin-owned forever-chats but were byte-identical to ordinary desktop sessions, so they cluttered the global Sessions sidebar. Core hermes-agent#86797 added a generic hidden session flag (sidebar-hide, still fully resumable by its owning surface). This wires it up:

  • $hideBotChats pref (default ON), persisted via ctx.storage('hide-bot-chats').
  • createCanonicalChat passes hidden:true on session.create when the pref is on (core defers it via pending_hidden until the row exists).
  • setHideBotChats(): flips + persists the pref and reconciles existing canonical chats via the session.set_hidden RPC (bounded batch over $botMeta[*].chat).
  • Eye toggle in the Bots header (eye-closed = hidden) to flip it live.

Graceful degradation: older gateways ignore the unknown hidden param / lack session.set_hidden, so Bot Chats simply stay visible — no breakage. Bot Chats keep source=desktop (no agent platform mis-tag, unlike a source-retag approach).

Requires the core flag (hermes-agent#86797, merged) + a gateway restart to take effect. Tests: hidden passed when pref on / omitted when off / toggle reconciles existing chats. Full suite 52/52.

Bot Chats are plugin-owned forever-chats but were byte-identical to ordinary
desktop sessions, so they cluttered the global Sessions sidebar. Core
hermes-agent#86797 added a generic 'hidden' session flag (sidebar-hide, still
fully resumable). This wires it up:

- $hideBotChats pref (default ON), persisted via ctx.storage('hide-bot-chats').
- createCanonicalChat passes hidden:true on session.create when the pref is on
  (core defers it via pending_hidden until the row exists).
- setHideBotChats(): flips + persists the pref and reconciles EXISTING canonical
  chats via the session.set_hidden RPC (bounded batch over $botMeta[*].chat).
- Eye toggle in the Bots header (eye-closed = hidden) to flip it live.

Feature-detected by omission: older gateways ignore the unknown hidden param /
lack session.set_hidden, so Bot Chats simply stay visible — no breakage. Bot
Chats keep source=desktop (no platform mis-tag). Requires the core flag
(hermes-agent#86797, merged) + gateway restart to take effect. Tests: hidden
passed when pref on / omitted when off / toggle reconciles. Full suite 52/52.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Feature Request: Option to toggle/hide Bot Chats from the main Sessions sidebar

1 participant