From b95cc4ba75d366ec2ec836202e7e770652f88a44 Mon Sep 17 00:00:00 2001 From: Max Radermacher Date: Mon, 21 Apr 2025 11:29:51 -0500 Subject: [PATCH] =?UTF-8?q?Don=E2=80=99t=20assume=20users=20are=20register?= =?UTF-8?q?ed=20from=20sends?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Messages/MessageSender+SenderKey.swift | 9 --------- SignalServiceKit/Messages/MessageSender.swift | 17 ----------------- 2 files changed, 26 deletions(-) diff --git a/SignalServiceKit/Messages/MessageSender+SenderKey.swift b/SignalServiceKit/Messages/MessageSender+SenderKey.swift index d8e8993168..233d63337e 100644 --- a/SignalServiceKit/Messages/MessageSender+SenderKey.swift +++ b/SignalServiceKit/Messages/MessageSender+SenderKey.swift @@ -215,15 +215,6 @@ extension MessageSender { } sendResult.success.forEach { recipient in - // If we're sending a story, we generally get a 200, even if the account - // doesn't exist. Therefore, don't use this to mark accounts as registered. - if !message.isStorySend { - let recipientFetcher = DependenciesBridge.shared.recipientFetcher - let recipient = recipientFetcher.fetchOrCreate(serviceId: recipient.serviceId, tx: tx) - let recipientManager = DependenciesBridge.shared.recipientManager - recipientManager.markAsRegisteredAndSave(recipient, shouldUpdateStorageService: true, tx: tx) - } - SSKEnvironment.shared.profileManagerRef.didSendOrReceiveMessage( serviceId: recipient.serviceId, localIdentifiers: localIdentifiers, diff --git a/SignalServiceKit/Messages/MessageSender.swift b/SignalServiceKit/Messages/MessageSender.swift index ee9513ba7a..0d995722c8 100644 --- a/SignalServiceKit/Messages/MessageSender.swift +++ b/SignalServiceKit/Messages/MessageSender.swift @@ -1589,23 +1589,6 @@ public class MessageSender { resendResponse.didPerformMessageSend(sentDeviceMessages, to: messageSend.serviceId, tx: transaction) } - // If we've just delivered a message to a user, we know they have a valid - // Signal account. However, if we're sending a story, the server will - // always tell us the recipient is registered, so we can't use this as an - // affirmate indication for the existence of an account. - // - // This is low trust because we don't actually know for sure the fully - // qualified address is valid. - if !message.isStorySend { - let recipientFetcher = DependenciesBridge.shared.recipientFetcher - let recipient = recipientFetcher.fetchOrCreate( - serviceId: messageSend.serviceId, - tx: transaction - ) - let recipientManager = DependenciesBridge.shared.recipientManager - recipientManager.markAsRegisteredAndSave(recipient, shouldUpdateStorageService: true, tx: transaction) - } - SSKEnvironment.shared.profileManagerRef.didSendOrReceiveMessage( serviceId: messageSend.serviceId, localIdentifiers: messageSend.localIdentifiers,