diff --git a/SignalServiceKit/src/Storage/TSDatabaseView.h b/SignalServiceKit/src/Storage/TSDatabaseView.h index 21a434229..92279916c 100644 --- a/SignalServiceKit/src/Storage/TSDatabaseView.h +++ b/SignalServiceKit/src/Storage/TSDatabaseView.h @@ -25,8 +25,7 @@ extern NSString *const TSSecondaryDevicesDatabaseViewExtensionName; + (BOOL)hasPendingViewRegistrations; -// This method must be called _AFTER_ registerThreadInteractionsDatabaseView. -+ (void)asyncRegisterThreadDatabaseView; ++ (void)registerThreadDatabaseView; + (void)registerThreadInteractionsDatabaseView; + (void)asyncRegisterThreadOutgoingMessagesDatabaseView; diff --git a/SignalServiceKit/src/Storage/TSDatabaseView.m b/SignalServiceKit/src/Storage/TSDatabaseView.m index 973591896..ccd3ed960 100644 --- a/SignalServiceKit/src/Storage/TSDatabaseView.m +++ b/SignalServiceKit/src/Storage/TSDatabaseView.m @@ -207,7 +207,7 @@ NSString *const TSSecondaryDevicesDatabaseViewExtensionName = @"TSSecondaryDevic async:YES]; } -+ (void)asyncRegisterThreadDatabaseView ++ (void)registerThreadDatabaseView { YapDatabaseView *threadView = [[TSStorageManager sharedManager].database registeredExtension:TSThreadDatabaseViewExtensionName]; @@ -249,15 +249,8 @@ NSString *const TSSecondaryDevicesDatabaseViewExtensionName = @"TSSecondaryDevic YapDatabaseView *databaseView = [[YapDatabaseView alloc] initWithGrouping:viewGrouping sorting:viewSorting versionTag:@"2" options:options]; - [[TSStorageManager sharedManager].database - asyncRegisterExtension:databaseView - withName:TSThreadDatabaseViewExtensionName - completionBlock:^(BOOL ready) { - OWSCAssert(ready); - - DDLogInfo( - @"%@ asyncRegisterExtension: %@ -> %d", self.tag, TSThreadDatabaseViewExtensionName, ready); - }]; + [[TSStorageManager sharedManager].database registerExtension:databaseView + withName:TSThreadDatabaseViewExtensionName]; } /** diff --git a/SignalServiceKit/src/Storage/TSStorageManager.m b/SignalServiceKit/src/Storage/TSStorageManager.m index d1c0cfdb5..18e4ef8e2 100644 --- a/SignalServiceKit/src/Storage/TSStorageManager.m +++ b/SignalServiceKit/src/Storage/TSStorageManager.m @@ -192,6 +192,7 @@ static NSString *keychainDBPassAccount = @"TSDatabasePass"; - (void)setupDatabaseWithSafeBlockingMigrations:(void (^_Nonnull)())safeBlockingMigrationsBlock { // Synchronously register extensions which are essential for views. + [TSDatabaseView registerThreadDatabaseView]; [TSDatabaseView registerThreadInteractionsDatabaseView]; [TSDatabaseView registerUnreadDatabaseView]; [self.database registerExtension:[TSDatabaseSecondaryIndexes registerTimeStampIndex] withName:@"idx"]; @@ -209,7 +210,6 @@ static NSString *keychainDBPassAccount = @"TSDatabasePass"; // // All sync registrations must be done before all async registrations, // or the sync registrations will block on the async registrations. - [TSDatabaseView asyncRegisterThreadDatabaseView]; [TSDatabaseView asyncRegisterUnseenDatabaseView]; [TSDatabaseView asyncRegisterThreadOutgoingMessagesDatabaseView]; [TSDatabaseView asyncRegisterThreadSpecialMessagesDatabaseView];