From 5530b8d701c7061dda2a2d6f1837c3823749dec7 Mon Sep 17 00:00:00 2001 From: Matthew Chen Date: Mon, 23 Jul 2018 17:12:58 -0400 Subject: [PATCH] Respond to CR. --- SignalServiceKit/src/Contacts/TSThread.m | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/SignalServiceKit/src/Contacts/TSThread.m b/SignalServiceKit/src/Contacts/TSThread.m index 4ec7946fe..187eb2206 100644 --- a/SignalServiceKit/src/Contacts/TSThread.m +++ b/SignalServiceKit/src/Contacts/TSThread.m @@ -97,6 +97,7 @@ NS_ASSUME_NONNULL_BEGIN NSMutableArray *interactionIds = [NSMutableArray new]; YapDatabaseViewTransaction *interactionsByThread = [transaction ext:TSMessageDatabaseViewExtensionName]; OWSAssert(interactionsByThread); + __block BOOL didDetectCorruption = NO; [interactionsByThread enumerateKeysInGroup:self.uniqueId usingBlock:^(NSString *collection, NSString *key, NSUInteger index, BOOL *stop) { if (![key isKindOfClass:[NSString class]] || key.length < 1) { @@ -104,11 +105,17 @@ NS_ASSUME_NONNULL_BEGIN self.logTag, key, [key class]); + didDetectCorruption = YES; return; } [interactionIds addObject:key]; }]; + if (didDetectCorruption) { + DDLogWarn(@"%@ incrementing version of: %@", self.logTag, TSMessageDatabaseViewExtensionName); + [OWSPrimaryStorage incrementVersionOfDatabaseExtension:TSMessageDatabaseViewExtensionName]; + } + for (NSString *interactionId in interactionIds) { // We need to fetch each interaction, since [TSInteraction removeWithTransaction:] does important work. TSInteraction *_Nullable interaction =