diff --git a/Signal/src/ViewControllers/ConversationView/ConversationViewModel.m b/Signal/src/ViewControllers/ConversationView/ConversationViewModel.m index a557e7805..d5a46e05c 100644 --- a/Signal/src/ViewControllers/ConversationView/ConversationViewModel.m +++ b/Signal/src/ViewControllers/ConversationView/ConversationViewModel.m @@ -654,13 +654,12 @@ static const int kYapDatabaseRangeMinLength = 0; NSSet *newItemIdSet = [NSSet setWithArray:newItemIdList]; // We use sets and dictionaries here to ensure perf. - NSMutableSet *deletedItemIdSet = [oldItemIdSet mutableCopy]; + NSMutableOrderedSet *deletedItemIdSet = [NSMutableOrderedSet orderedSetWithArray:oldItemIdList]; [deletedItemIdSet minusSet:newItemIdSet]; - NSMutableSet *insertedItemIdSet = [newItemIdSet mutableCopy]; + NSMutableOrderedSet *insertedItemIdSet = [NSMutableOrderedSet orderedSetWithArray:newItemIdList]; [insertedItemIdSet minusSet:oldItemIdSet]; - NSArray *deletedItemIdList = [deletedItemIdSet.allObjects sortedArrayUsingSelector:@selector(compare:)]; - NSArray *insertedItemIdList = - [insertedItemIdSet.allObjects sortedArrayUsingSelector:@selector(compare:)]; + NSArray *deletedItemIdList = [deletedItemIdSet.array copy]; + NSArray *insertedItemIdList = [insertedItemIdSet.array copy]; // Try to generate a series of "update items" that safely transform // the "old item list" into the "new item list".