From 9fdc3202aff3fa0082c6176b9ec001e12108d1ac Mon Sep 17 00:00:00 2001 From: Michael Kirk Date: Fri, 11 Aug 2017 09:11:55 -0400 Subject: [PATCH] White listing must happen on main thread followup to: ee613e48895855240ebc08f0a58aef970df0c101 Again, this solves a crash, but we'll want to revisit the perf implications. // FREEBIE --- SignalServiceKit/src/Protocols/ProtoBuf+OWS.m | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/SignalServiceKit/src/Protocols/ProtoBuf+OWS.m b/SignalServiceKit/src/Protocols/ProtoBuf+OWS.m index 0f6a8e500..0222a1131 100644 --- a/SignalServiceKit/src/Protocols/ProtoBuf+OWS.m +++ b/SignalServiceKit/src/Protocols/ProtoBuf+OWS.m @@ -80,7 +80,10 @@ NS_ASSUME_NONNULL_BEGIN // Once we've shared our profile key with a user (perhaps due to being // a member of a whitelisted group), make sure they're whitelisted. id profileManager = [TextSecureKitEnv sharedEnv].profileManager; - [profileManager addUserToProfileWhitelist:recipientId]; + // FIXME PERF avoid this dispatch. It's going to happen for *each* recipient in a group message. + dispatch_async(dispatch_get_main_queue(), ^{ + [profileManager addUserToProfileWhitelist:recipientId]; + }); } }