← Back to PRs

#7660: fix(signal): route group reactions to group sessions

by ClawdadBot open 2026-02-03 03:01 View on GitHub →
channel: signal size: S
signal-cli sends group reaction events with groupInfo in dataMessage, not in the reaction object itself. The code was only checking reaction.groupInfo, causing group reactions to be misrouted to DM sessions (or dropped entirely when sender lookup failed). Fix: Fall back to dataMessage.groupInfo when reaction.groupInfo is empty. Adds test case verifying group reactions are properly routed. <!-- greptile_comment --> <h2>Greptile Overview</h2> <h3>Greptile Summary</h3> This PR fixes Signal group reaction routing by falling back to `dataMessage.groupInfo` when `reaction.groupInfo` is missing (as emitted by signal-cli), ensuring reaction notifications go to the correct group session instead of being misrouted to DMs or dropped. It also adds a regression test that simulates a group reaction where the group context exists only on the `dataMessage` and asserts the system event is enqueued on the group session and not the DM session. <h3>Confidence Score: 5/5</h3> - This PR looks safe to merge; it’s a small, targeted routing fix with a focused regression test. - The change only broadens how group context is extracted for reaction-only messages (adding a fallback to the already-parsed `dataMessage`), and the added test covers the reported signal-cli payload shape. No other routing logic or side effects were modified. - No files require special attention <!-- greptile_other_comments_section --> <sub>(2/5) Greptile learns from your feedback when you react with thumbs up/down!</sub> **Context used:** - Context from `dashboard` - CLAUDE.md ([source](https://app.greptile.com/review/custom-context?memory=fd949e91-5c3a-4ab5-90a1-cbe184fd6ce8)) - Context from `dashboard` - AGENTS.md ([source](https://app.greptile.com/review/custom-context?memory=0d0c8278-ef8e-4d6c-ab21-f5527e322f13)) <!-- /greptile_comment -->

Most Similar PRs