From 9e9f2babeb90006514693f52e2398297a2b5ffc7 Mon Sep 17 00:00:00 2001 From: Kasper Neist Date: Thu, 8 Jan 2026 21:39:06 +0100 Subject: [PATCH] fix(signal): use sourceUuid as fallback when sourceNumber is null Users without a visible phone number (like some Signal users) were being silently dropped. Now falls back to UUID for sender ID. - Add sourceUuid to SignalEnvelope type - Use sourceUuid when sourceNumber is not available - Only check against bot account when sourceNumber exists (avoid UUID comparison issues) --- src/signal/monitor.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/signal/monitor.ts b/src/signal/monitor.ts index 89d58cb2a..69f49dcc6 100644 --- a/src/signal/monitor.ts +++ b/src/signal/monitor.ts @@ -24,6 +24,7 @@ import { runSignalSseLoop } from "./sse-reconnect.js"; type SignalEnvelope = { sourceNumber?: string | null; + sourceUuid?: string | null; sourceName?: string | null; timestamp?: number | null; dataMessage?: SignalDataMessage | null; @@ -319,9 +320,9 @@ export async function monitorSignalProvider( envelope.dataMessage ?? envelope.editMessage?.dataMessage; if (!dataMessage) return; - const sender = envelope.sourceNumber?.trim(); + const sender = envelope.sourceNumber?.trim() || envelope.sourceUuid?.trim(); if (!sender) return; - if (account && normalizeE164(sender) === normalizeE164(account)) { + if (account && envelope.sourceNumber && normalizeE164(envelope.sourceNumber) === normalizeE164(account)) { return; } const groupId = dataMessage.groupInfo?.groupId ?? undefined;