From 6a2a7645ce27579c290719e1ffd255e702120caa Mon Sep 17 00:00:00 2001 From: Matthew Chen Date: Wed, 20 May 2020 13:50:29 -0300 Subject: [PATCH] Message send failures are not fatal to group updates. --- SignalServiceKit/src/groups/GroupManager.swift | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/SignalServiceKit/src/groups/GroupManager.swift b/SignalServiceKit/src/groups/GroupManager.swift index 3c970108bc..5c61684729 100644 --- a/SignalServiceKit/src/groups/GroupManager.swift +++ b/SignalServiceKit/src/groups/GroupManager.swift @@ -1367,7 +1367,18 @@ public class GroupManager: NSObject { // DURABLE CLEANUP - currently one caller uses the completion handler to delete the tappable error message // which causes this code to be called. Once we're more aggressive about durable sending retry, // we could get rid of this "retryable tappable error message". - return self.messageSender.sendMessage(.promise, message.asPreparer) + if thread.isGroupV1Thread { + return self.messageSender.sendMessage(.promise, message.asPreparer) + } else { + assert(thread.isGroupV2Thread) + return firstly { + return self.messageSender.sendMessage(.promise, message.asPreparer) + }.recover(on: .global()) { error in + // Failure to send a "group update" message should not + // be considered a failure when updating a v2 group. + Logger.error("Error sending group update: \(error)") + } + } } }