From 6566ea694c07a1dc6852b12bcd6415232e39d77c Mon Sep 17 00:00:00 2001 From: Michael Kirk Date: Wed, 21 Jun 2017 19:10:38 -0400 Subject: [PATCH] no need to send sync messages when only 1 device // FREEBIE --- src/Messages/OWSMessageSender.m | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/Messages/OWSMessageSender.m b/src/Messages/OWSMessageSender.m index b2dd1491d..358fc6a75 100644 --- a/src/Messages/OWSMessageSender.m +++ b/src/Messages/OWSMessageSender.m @@ -1089,10 +1089,16 @@ NSString *const OWSMessageSenderRateLimitedException = @"RateLimitedException"; - (void)handleMessageSentLocally:(TSOutgoingMessage *)message { if (message.shouldSyncTranscript) { - // TODO: I suspect we shouldn't optimistically set hasSyncedTranscript. - // We could set this in a success handler for [sendSyncTranscriptForMessage:]. - [message updateWithHasSyncedTranscript:YES]; - [self sendSyncTranscriptForMessage:message]; + __block BOOL hasSecondaryDevices = NO; + [self.dbConnection readWithBlock:^(YapDatabaseReadTransaction *_Nonnull transaction) { + hasSecondaryDevices = [OWSDevice hasSecondaryDevicesWithTransaction:transaction]; + }]; + if (hasSecondaryDevices) { + // TODO: I suspect we shouldn't optimistically set hasSyncedTranscript. + // We could set this in a success handler for [sendSyncTranscriptForMessage:]. + [message updateWithHasSyncedTranscript:YES]; + [self sendSyncTranscriptForMessage:message]; + } } [OWSDisappearingMessagesJob setExpirationForMessage:message];