From 1558d8c6c53116848bc736d0885f88ed34503ba3 Mon Sep 17 00:00:00 2001 From: Matthew Chen Date: Fri, 14 Apr 2017 13:38:04 -0400 Subject: [PATCH 1/2] Avoid lost messages by acknowledges message receipt after the message is processed. // FREEBIE --- Signal/src/Jobs/MessageFetcherJob.swift | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Signal/src/Jobs/MessageFetcherJob.swift b/Signal/src/Jobs/MessageFetcherJob.swift index 66d97ab50..2a63dfcaf 100644 --- a/Signal/src/Jobs/MessageFetcherJob.swift +++ b/Signal/src/Jobs/MessageFetcherJob.swift @@ -39,9 +39,10 @@ class MessageFetcherJob: NSObject { let runPromise = self.fetchUndeliveredMessages().then { (envelopes: [OWSSignalServiceProtosEnvelope], more: Bool) -> Void in for envelope in envelopes { Logger.info("\(self.TAG) received envelope.") - self.messagesManager.handleReceivedEnvelope(envelope) - - self.acknowledgeDelivery(envelope: envelope) + self.messagesManager.handleReceivedEnvelope(envelope, completion: { + // Don't acknowledge delivery until the envelope has been processed. + self.acknowledgeDelivery(envelope: envelope) + }) } if more { Logger.info("\(self.TAG) more messages, so recursing.") From f41762c31642e0242579dcfd1b794faebe1c2162 Mon Sep 17 00:00:00 2001 From: Matthew Chen Date: Mon, 17 Apr 2017 16:08:25 -0400 Subject: [PATCH 2/2] [SSK] Avoid lost messages. // FREEBIE --- Podfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Podfile.lock b/Podfile.lock index 11382f4c9..1591643da 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -138,7 +138,7 @@ CHECKOUT OPTIONS: :commit: 7054e4b13ee5bcd6d524adb6dc9a726e8c466308 :git: https://github.com/WhisperSystems/JSQMessagesViewController.git SignalServiceKit: - :commit: 2367ab743968c2135e02655d8417d2c3017f30f6 + :commit: 91aeddf383ec50e70425103e80c1eb734b25fa53 :git: https://github.com/WhisperSystems/SignalServiceKit.git SocketRocket: :commit: 877ac7438be3ad0b45ef5ca3969574e4b97112bf