diff --git a/SignalMessaging/ViewControllers/SelectThreadViewController.m b/SignalMessaging/ViewControllers/SelectThreadViewController.m index 489d64c7a..b31babc62 100644 --- a/SignalMessaging/ViewControllers/SelectThreadViewController.m +++ b/SignalMessaging/ViewControllers/SelectThreadViewController.m @@ -353,9 +353,7 @@ NS_ASSUME_NONNULL_BEGIN - (NSArray *)filteredThreadsWithSearchText { - NSString *searchTerm = [[self.searchBar text] ows_stripped]; - - return [self.fullTextSearcher filterThreads:self.threadViewHelper.threads withSearchText:searchTerm]; + return self.threadViewHelper.threads; } - (NSArray *)filteredSignalAccountsWithSearchText diff --git a/SignalMessaging/Views/ThreadViewHelper.m b/SignalMessaging/Views/ThreadViewHelper.m index 199d164fb..abb743a4c 100644 --- a/SignalMessaging/Views/ThreadViewHelper.m +++ b/SignalMessaging/Views/ThreadViewHelper.m @@ -7,6 +7,8 @@ #import #import #import +#import +#import #import #import #import @@ -198,7 +200,16 @@ NS_ASSUME_NONNULL_BEGIN TSThread *thread = [[transaction extension:TSThreadDatabaseViewExtensionName] objectAtIndexPath:[NSIndexPath indexPathForItem:(NSInteger)item inSection:(NSInteger)section] withMappings:self.threadMappings]; - [threads addObject:thread]; + if (!thread.shouldThreadBeVisible || !thread.isContactFriend) { continue; } + if ([thread isKindOfClass:TSContactThread.class]) { + NSString *publicKey = thread.contactIdentifier; + if ([LKUserDisplayNameUtilities getPrivateChatDisplayNameFor:publicKey] == nil) { continue; } + if ([LKDatabaseUtilities getMasterHexEncodedPublicKeyFor:publicKey in:transaction] == nil) { + [threads addObject:thread]; + } + } else { + [threads addObject:thread]; + } } } }];