From a9a8bdcef6708b091f4b41d83c5a24252b1d6cf6 Mon Sep 17 00:00:00 2001 From: Kaloyan Tenchov Date: Tue, 19 May 2026 08:56:28 -0400 Subject: [PATCH] fix(signal): pass is_dm to _handle_message so DM pairing flow runs BaseChannel._handle_message uses is_dm to decide whether to issue a pairing code when is_allowed rejects the sender. Without it the base class treats every denied message as a group message and silently drops it. Forward is_dm=not is_group_message so unapproved DM users get a pairing code through the standard flow. This change only takes effect once denied DMs actually reach _handle_message (next commit); on its own it is a no-op since the policy gate still short-circuits before this call. Addresses review comment on PR #3852. --- nanobot/channels/signal.py | 1 + 1 file changed, 1 insertion(+) diff --git a/nanobot/channels/signal.py b/nanobot/channels/signal.py index 64e099f4d..01e2cd981 100644 --- a/nanobot/channels/signal.py +++ b/nanobot/channels/signal.py @@ -732,6 +732,7 @@ class SignalChannel(BaseChannel): "is_group": is_group_message, "group_id": group_id, }, + is_dm=not is_group_message, ) except Exception: await self._stop_typing(chat_id)