Summary
The Signal group auto-approve path only fires when the agent receives a group-invite envelope (a groupV2 update with no dataMessage). If an approved admin adds the agent as a member during group creation, no invite envelope is delivered, the handler never runs, and the group is never added to the allowlist — so all group messages (including /sethome) are silently dropped.
Evidence
Observed live: Matilde (deployed agent) was added to a group "message bus (matilde)" at creation. She received the messages but never responded; SIGNAL_GROUP_ALLOWED_USERS stayed empty (groups=disabled). Her gateway.log contained zero group invit* / auto-accept / joinGroup lines — confirming no invite envelope ever arrived. Manually adding the group ID to SIGNAL_GROUP_ALLOWED_USERS fixed it.
Code
gateway/platforms/signal.py:647-715 — auto-accept is gated on:
data_message_raw = envelope_data.get("dataMessage")
if not data_message_raw:
group_v2_invite_id = (envelope_data.get("groupV2") or {}).get("groupId") ...
if group_v2_invite_id:
# approved-only: inviter must be an approved user
...
await self._rpc("joinGroup", ...)
self.group_allow_from.add(group_v2_invite_id) # auto-approve
There is no handler for the creation-membership case (being a member in the initial group state rather than receiving a standalone invite).
Proposed fix (options)
- Docs/UX: document the supported path — create the group, then invite the agent (don't add-at-creation). Surface this in HSM's group UI.
- Code: also detect creation-membership (agent appears as a new member in a
groupV2 update for a group it isn't yet in) and run the same approved-inviter check + joinGroup + allowlist-add.
Impact
Low-severity but high-confusion: the agent looks "broken/offline" in a group when it's actually just unapproved. Bit us during Matilde bring-up (2026-06-19).
Summary
The Signal group auto-approve path only fires when the agent receives a group-invite envelope (a
groupV2update with nodataMessage). If an approved admin adds the agent as a member during group creation, no invite envelope is delivered, the handler never runs, and the group is never added to the allowlist — so all group messages (including/sethome) are silently dropped.Evidence
Observed live: Matilde (deployed agent) was added to a group "message bus (matilde)" at creation. She received the messages but never responded;
SIGNAL_GROUP_ALLOWED_USERSstayed empty (groups=disabled). Hergateway.logcontained zerogroup invit*/auto-accept/joinGrouplines — confirming no invite envelope ever arrived. Manually adding the group ID toSIGNAL_GROUP_ALLOWED_USERSfixed it.Code
gateway/platforms/signal.py:647-715— auto-accept is gated on:There is no handler for the creation-membership case (being a member in the initial group state rather than receiving a standalone invite).
Proposed fix (options)
groupV2update for a group it isn't yet in) and run the same approved-inviter check +joinGroup+ allowlist-add.Impact
Low-severity but high-confusion: the agent looks "broken/offline" in a group when it's actually just unapproved. Bit us during Matilde bring-up (2026-06-19).