feat(bluebubbles): support group mention gating - #35606
Closed
tmchow wants to merge 2 commits into
Closed
Conversation
Collaborator
tonydwb
approved these changes
May 31, 2026
tonydwb
left a comment
There was a problem hiding this comment.
Code Review Summary
Verdict: Approved ✅
Review
Adds optional require_mention support for BlueBubbles/iMessage group chats. Uses conservative default Hermes wake-word regexes, leaving DMs and default behavior unchanged.
✅ Looks Good
- Opt-in only: Default behavior unchanged. Users opt in by configuring
mention_patterns. - Clean implementation: Local to the adapter, uses regex wake words rather than changing gateway-wide dispatch semantics.
- Good test coverage: 132 lines of new tests covering adapter and config behavior.
- Documentation updated: New config/env options documented in the BlueBubbles user guide.
Reviewed by Hermes Agent (cron job)
tonydwb
approved these changes
May 31, 2026
tonydwb
left a comment
There was a problem hiding this comment.
Code Review Summary
Verdict: Approved ✅ — Add group mention gating support for BlueBubbles. Clean feature addition.
Reviewed by Hermes Agent
Contributor
|
Merged via #37091. Your commits were cherry-picked onto current main with your authorship preserved in git log, plus a small follow-up refactor collapsing the three mention-parsing helpers into one (16 fewer lines, same behavior). Thanks for the contribution! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
require_mentionsupport for BlueBubbles/iMessage group chats.mention_patternsare configured.Rationale
Other messaging adapters already support the concept of only responding in group contexts when the bot is mentioned. BlueBubbles did not have an equivalent gate, which makes iMessage group chats noisy for users who only want Hermes to respond when addressed.
BlueBubbles does not expose a stable native bot identity comparable to Slack/Telegram/Matrix mentions, so this keeps the implementation local to the adapter and uses opt-in regex wake words rather than changing gateway-wide dispatch semantics.
Test Plan
python -m pytest tests/gateway/test_bluebubbles.py -q -o 'addopts=' --tb=shortenv -u BLUEBUBBLES_HOME_CHANNEL -u BLUEBUBBLES_SERVER_URL -u BLUEBUBBLES_PASSWORD python -m pytest tests/cron/test_scheduler.py -q -o 'addopts=' --tb=shortruff check gateway/platforms/bluebubbles.py gateway/config.py tests/gateway/test_bluebubbles.pygit diff --checkNote: running
tests/cron/test_scheduler.pywithout unsetting local BlueBubbles env picks up this machine's configured BlueBubbles home channel and fails an isolation-sensitive assertion unrelated to this change. With the BlueBubbles env unset, it passes.