chore(hermes): authorize users in group via group_allowed_chats - #2393
Conversation
|
Run failed. View the logs →
|
|
Warning Indent Zero is shutting down on August 7th. Please migrate over to Indent 2.0 to continue getting PR reviews.
|
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
Included review availability: Your plan includes up to 1 review per rolling hour; 0 remain after this review. 📝 WalkthroughSummary by CodeRabbit
WalkthroughThe Telegram configuration templates now allow group chat ChangesTelegram configuration
Estimated code review effort: 1 (Trivial) | ~2 minutes Merge Risk: ⚪ Minimal · up to This localized configuration change authorizes the intended group members and has validated YAML templates; no actionable merge-blocking risk remains beyond normal checks and review. Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
| telegram: | ||
| channel_prompts: {} | ||
| require_mention: false | ||
| group_allowed_chats: '-1003813578232' |
There was a problem hiding this comment.
Prefer the documented YAML-list form for group_allowed_chats
The hermes public docs (https://hermes-agent.nousresearch.com/docs/user-guide/messaging/telegram) show this key as a list of quoted chat IDs, and upstream PR NousResearch/hermes-agent#76470 ("fix(config): decode JSON array literals into YAML lists on config set") documents the failure mode for scalar values: readers like _coerce_allow_set and the telegram env bridge split scalars on commas, so any non-list value that later contains commas or a JSON literal silently authorizes nothing — the exact bug that PR is closing on the CLI writer side.
A single comma-free ID like '-1003813578232' coerces to a one-element set today, so this works right now. But the moment a second chat is appended (e.g. '-100...,-100...') or tooling emits a JSON literal, authorization silently drops to empty and the group loses access with no error.
Suggested change (apply the same edit in config/hermes/config.template.yaml to keep the templates in lockstep per scripts/llm-update.sh:102):
| group_allowed_chats: '-1003813578232' | |
| group_allowed_chats: | |
| - '-1003813578232' |

Summary
Adds
telegram.group_allowed_chats: '-1003813578232'to the Hermes config templates so every member of the みうら/Shun group chat is authorized (per gateway authz: authorizes all members of the listed chat regardless of sender). Fixes the "Unauthorized user: 8816096318" rejection that caused Hermes to only react (thumbs-up) instead of replying in that group.Mirrors #2391 (same 2-template pattern). Requires gateway restart after hydration.
Test plan
ruby -ryamlload of both templates)Summary by cubic
Authorize all members of the みうら/Shun Telegram group in Hermes by adding
telegram.group_allowed_chats: '-1003813578232'to both config templates. Previously, Hermes rejected messages from group members and only reacted; now it will reply in that chat. This change authorizes any member of that specific chat.Rollout
-1003813578232is the correct group ID.Written for commit 46bbc17. Summary will update on new commits.