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)
This commit is contained in:
committed by
Peter Steinberger
parent
490bbd10fc
commit
9e9f2babeb
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user