diff --git a/Riot/Model/Room/RoomDataSource.m b/Riot/Model/Room/RoomDataSource.m index 4fe9680c0..436405d0d 100644 --- a/Riot/Model/Room/RoomDataSource.m +++ b/Riot/Model/Room/RoomDataSource.m @@ -107,7 +107,7 @@ @synchronized(bubbles) { - NSMutableDictionary *> *updatedCellDataReadReceipts = [NSMutableDictionary dictionary]; + NSMutableDictionary *> *updatedCellDataReadReceipts = [NSMutableDictionary dictionary]; for (RoomBubbleCellData *cellData in bubbles) { for (NSString *eventId in cellData.readReceipts) @@ -124,10 +124,11 @@ if (!updatedCellDataReadReceipts[eventId]) { - updatedCellDataReadReceipts[eventId] = [cellData.readReceipts[eventId] mutableCopy]; + updatedCellDataReadReceipts[eventId] = cellData.readReceipts[eventId]; } - [updatedCellDataReadReceipts[eventId] removeObject:receiptData]; + NSPredicate *predicate = [NSPredicate predicateWithFormat:@"userId!=%@", receiptData.userId]; + updatedCellDataReadReceipts[eventId] = [updatedCellDataReadReceipts[eventId] filteredArrayUsingPredicate:predicate]; break; } }