From e71393237efd41af688569c3100baf3a89226b47 Mon Sep 17 00:00:00 2001 From: ms-alan <1472110+ms-alan@users.noreply.github.com> Date: Tue, 12 May 2026 18:43:20 -0700 Subject: [PATCH] fix(signal): handle group messages from linked devices in syncMessage path Closes #23064 When Hermes connects to Signal via signal-cli in daemon mode (linked device setup), group messages sent from the user's phone were silently dropped. The syncMessage handler only processed events where destinationNumber equals the bot's own number (Note to Self). Group messages from linked devices carry a groupInfo.groupId instead of a destinationNumber. Extend the condition to also pass through sync messages that have a groupId, so group messages are promoted to dataMessage and reach the agent. --- gateway/platforms/signal.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gateway/platforms/signal.py b/gateway/platforms/signal.py index 118eb688cc9..bd731a7ab5d 100644 --- a/gateway/platforms/signal.py +++ b/gateway/platforms/signal.py @@ -446,7 +446,9 @@ class SignalAdapter(BasePlatformAdapter): if sent_msg and isinstance(sent_msg, dict): dest = sent_msg.get("destinationNumber") or sent_msg.get("destination") sent_ts = sent_msg.get("timestamp") - if dest == self._account_normalized: + sent_msg_group_info = sent_msg.get("groupInfo") or {} + sent_msg_group_id = sent_msg_group_info.get("groupId") if sent_msg_group_info else None + if dest == self._account_normalized or sent_msg_group_id: # Check if this is an echo of our own outbound reply if sent_ts and sent_ts in self._recent_sent_timestamps: self._recent_sent_timestamps.discard(sent_ts)