From 86a0efedc605854c2deadce021df329b76aec9fd Mon Sep 17 00:00:00 2001 From: Michael Kirk Date: Tue, 23 Oct 2018 09:07:23 -0600 Subject: [PATCH] Don't delete session upon starting retry --- Signal/src/Jobs/SessionResetJob.swift | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/Signal/src/Jobs/SessionResetJob.swift b/Signal/src/Jobs/SessionResetJob.swift index 858c53ff1..fb23b151b 100644 --- a/Signal/src/Jobs/SessionResetJob.swift +++ b/Signal/src/Jobs/SessionResetJob.swift @@ -60,7 +60,6 @@ public class SessionResetJobQueue: NSObject, JobQueue { } } -@objc(OWSSessionResetJob) public class SessionResetOperation: OWSOperation, DurableOperation { // MARK: DurableOperation @@ -101,12 +100,17 @@ public class SessionResetOperation: OWSOperation, DurableOperation { // MARK: + var firstAttempt = true + override public func run() { assert(self.durableOperationDelegate != nil) - self.dbConnection.readWrite { transaction in - Logger.info("deleting sessions for recipient: \(self.recipientId)") - self.primaryStorage.deleteAllSessions(forContact: self.recipientId, protocolContext: transaction) + if firstAttempt { + self.dbConnection.readWrite { transaction in + Logger.info("deleting sessions for recipient: \(self.recipientId)") + self.primaryStorage.deleteAllSessions(forContact: self.recipientId, protocolContext: transaction) + } + firstAttempt = false } let endSessionMessage = EndSessionMessage(timestamp: NSDate.ows_millisecondTimeStamp(), in: self.contactThread)