Repository navigation
Conversation
… group chat The agent loop writes an internal "(empty)" sentinel when the nudge/prefill/empties/fallback ladder all fail. The gateway converts it into a user-friendly notice at delivery, but the desktop group-chat bridge appended the raw sentinel into the room log (seen posting "(empty)" in a Bot Mode group room), and it synced to the shared ui_meta for mobile. Normalize at the single choke point, appendGroupChatEntry, mirroring gateway/run.py substitution so group chat and gateway surfaces show the same text. (pass)/empty silence semantics unchanged. Includes a regression test proven to fail on the pre-fix code. Fixes NousResearch#94308
Right fix shape, and the exact-trim equality faithfully mirrors the canonical matcher (
|
|
Merged via #96239 (rebase-merge) — your normalization fix is on main as-authored: a588685. Thanks @RibatTRW — you were the earliest submitter on the sentinel-protocol seam (00:08!), and your append-time rewrite of the exact |
Problem
A bot in the desktop Bot Mode group chat posts the raw "(empty)" when its turn produces no output. The gateway shows a friendly notice instead. The desktop bridge does not.
Fix
Normalize the sentinel at appendGroupChatEntry, matching the gateway text (gateway/run.py). "(pass)" silence and all other text are unchanged.
Tests
node --test apps/desktop/src/plugins/hermes-bots/tests/group-chat-empty-sentinel.test.mjs(2 pass). The test fails when the fix is reverted.Fixes #94308