diff --git a/SignalServiceKit/src/Contacts/ContactsUpdater.m b/SignalServiceKit/src/Contacts/ContactsUpdater.m index 22a65c45a..4fa4ddb79 100644 --- a/SignalServiceKit/src/Contacts/ContactsUpdater.m +++ b/SignalServiceKit/src/Contacts/ContactsUpdater.m @@ -53,19 +53,27 @@ NS_ASSUME_NONNULL_BEGIN { if (identifiers.count < 1) { OWSFail(@"%@ Cannot lookup zero identifiers", self.logTag); - failure(OWSErrorWithCodeDescription(OWSErrorCodeInvalidMethodParameters, @"Cannot lookup zero identifiers")); + DispatchMainThreadSafe(^{ + failure( + OWSErrorWithCodeDescription(OWSErrorCodeInvalidMethodParameters, @"Cannot lookup zero identifiers")); + }); return; } [self contactIntersectionWithSet:[NSSet setWithArray:identifiers] - success:^(NSSet *recipients) { - if (recipients.count == 0) { - DDLogInfo( - @"%@ in %s no contacts are Signal users", self.logTag, __PRETTY_FUNCTION__); - } - success(recipients.allObjects); - } - failure:failure]; + success:^(NSSet *recipients) { + if (recipients.count == 0) { + DDLogInfo(@"%@ in %s no contacts are Signal users", self.logTag, __PRETTY_FUNCTION__); + } + DispatchMainThreadSafe(^{ + success(recipients.allObjects); + }); + } + failure:^(NSError *error) { + DispatchMainThreadSafe(^{ + failure(error); + }); + }]; } - (void)contactIntersectionWithSet:(NSSet *)recipientIdsToLookup