From 63e0a5285c112af8569393bcfde303245fe50ae7 Mon Sep 17 00:00:00 2001 From: Ryan Zhao Date: Mon, 14 Feb 2022 16:34:22 +1100 Subject: [PATCH] minor refactor to prevent dead lock --- Session/Home/GlobalSearch/GlobalSearchViewController.swift | 3 ++- SessionMessagingKit/Database/OWSPrimaryStorage.m | 3 ++- SessionMessagingKit/Messages/Signal/TSInfoMessage.m | 2 +- SignalUtilitiesKit/Profile Pictures/ProfilePictureView.swift | 3 ++- 4 files changed, 7 insertions(+), 4 deletions(-) diff --git a/Session/Home/GlobalSearch/GlobalSearchViewController.swift b/Session/Home/GlobalSearch/GlobalSearchViewController.swift index ae6dc757e..77de3d0b6 100644 --- a/Session/Home/GlobalSearch/GlobalSearchViewController.swift +++ b/Session/Home/GlobalSearch/GlobalSearchViewController.swift @@ -13,6 +13,7 @@ class GlobalSearchViewController: BaseVC, UITableViewDelegate, UITableViewDataSo } } var recentSearchResults: [String] = Array(Storage.shared.getRecentSearchResults().reversed()) + var defaultSearchResults: HomeScreenSearchResultSet = HomeScreenSearchResultSet.noteToSelfOnly var searchResultSet: HomeScreenSearchResultSet = HomeScreenSearchResultSet.empty private var lastSearchText: String? var searcher: FullTextSearcher { @@ -137,7 +138,7 @@ class GlobalSearchViewController: BaseVC, UITableViewDelegate, UITableViewDataSo let searchText = rawSearchText.stripped guard searchText.count > 0 else { - searchResultSet = HomeScreenSearchResultSet.noteToSelfOnly + searchResultSet = defaultSearchResults lastSearchText = nil reloadTableData() return diff --git a/SessionMessagingKit/Database/OWSPrimaryStorage.m b/SessionMessagingKit/Database/OWSPrimaryStorage.m index ae897bf48..77371835e 100644 --- a/SessionMessagingKit/Database/OWSPrimaryStorage.m +++ b/SessionMessagingKit/Database/OWSPrimaryStorage.m @@ -65,7 +65,8 @@ void VerifyRegistrationsForPrimaryStorage(OWSStorage *storage) if (self) { [self loadDatabase]; - + + self.database.maxConnectionPoolCount = 5; // Increase max connection pool count, default is 3. _dbReadPool = [[YapDatabaseConnectionPool alloc] initWithDatabase:self.database]; _dbReadWriteConnection = [self newDatabaseConnection]; _uiDatabaseConnection = [self newDatabaseConnection]; diff --git a/SessionMessagingKit/Messages/Signal/TSInfoMessage.m b/SessionMessagingKit/Messages/Signal/TSInfoMessage.m index f6d221ee1..fd8697df8 100644 --- a/SessionMessagingKit/Messages/Signal/TSInfoMessage.m +++ b/SessionMessagingKit/Messages/Signal/TSInfoMessage.m @@ -111,7 +111,7 @@ NSUInteger TSInfoMessageSchemaVersion = 1; if ([thread isKindOfClass: [TSContactThread class]]) { TSContactThread *contactThread = (TSContactThread *)thread; NSString *sessionID = contactThread.contactSessionID; - NSString *name = contactThread.name; + NSString *name = [contactThread nameWithTransaction:transaction]; if ([name isEqual:sessionID]) { name = [NSString stringWithFormat:@"%@...%@", [sessionID substringToIndex:4], [sessionID substringFromIndex:sessionID.length - 4]]; } diff --git a/SignalUtilitiesKit/Profile Pictures/ProfilePictureView.swift b/SignalUtilitiesKit/Profile Pictures/ProfilePictureView.swift index b91303954..e60c6fe5e 100644 --- a/SignalUtilitiesKit/Profile Pictures/ProfilePictureView.swift +++ b/SignalUtilitiesKit/Profile Pictures/ProfilePictureView.swift @@ -82,7 +82,6 @@ public final class ProfilePictureView : UIView { update() } else { // A one-to-one chat let thread = thread as! TSContactThread - hasTappableProfilePicture = OWSProfileManager.shared().profileAvatar(forRecipientId: thread.contactSessionID()) != nil update(for: thread.contactSessionID()) } } @@ -92,8 +91,10 @@ public final class ProfilePictureView : UIView { func getProfilePicture(of size: CGFloat, for publicKey: String) -> UIImage? { guard !publicKey.isEmpty else { return nil } if let profilePicture = OWSProfileManager.shared().profileAvatar(forRecipientId: publicKey) { + hasTappableProfilePicture = true return profilePicture } else { + hasTappableProfilePicture = false // TODO: Pass in context? let displayName = Storage.shared.getContact(with: publicKey)?.name ?? publicKey return Identicon.generatePlaceholderIcon(seed: publicKey, text: displayName, size: size)