Merge branch 'dev' of https://github.com/loki-project/loki-messenger-ios into sync-closed-group

pull/104/head
Ryan ZHAO 5 years ago
commit 6724733387

@ -216,6 +216,8 @@ typedef NS_ENUM(NSInteger, LKThreadFriendRequestStatus) {
*/ */
- (void)removeOldIncomingFriendRequestMessagesIfNeededWithTransaction:(YapDatabaseReadWriteTransaction *)transaction; - (void)removeOldIncomingFriendRequestMessagesIfNeededWithTransaction:(YapDatabaseReadWriteTransaction *)transaction;
- (TSInteraction *)getLastInteractionWithTransaction:(YapDatabaseReadTransaction *)transaction;
@end @end
NS_ASSUME_NONNULL_END NS_ASSUME_NONNULL_END

@ -292,12 +292,17 @@ ConversationColorName const kConversationColorName_Default = ConversationColorNa
{ {
__block TSInteraction *interaction; __block TSInteraction *interaction;
[self.dbReadConnection readWithBlock:^(YapDatabaseReadTransaction *transaction) { [self.dbReadConnection readWithBlock:^(YapDatabaseReadTransaction *transaction) {
YapDatabaseViewTransaction *interactions = [transaction ext:TSMessageDatabaseViewExtensionName]; interaction = [self getLastInteractionWithTransaction:transaction];
interaction = [interactions lastObjectInGroup:self.uniqueId];
}]; }];
return interaction; return interaction;
} }
- (TSInteraction *)getLastInteractionWithTransaction:(YapDatabaseReadTransaction *)transaction
{
YapDatabaseViewTransaction *interactions = [transaction ext:TSMessageDatabaseViewExtensionName];
return [interactions lastObjectInGroup:self.uniqueId];
}
/** /**
* Useful for tests and debugging. In production use an enumeration method. * Useful for tests and debugging. In production use an enumeration method.
*/ */

@ -1800,7 +1800,7 @@ NS_ASSUME_NONNULL_BEGIN
if (thread.friendRequestStatus == LKThreadFriendRequestStatusNone) { return; } if (thread.friendRequestStatus == LKThreadFriendRequestStatusNone) { return; }
// Become happy friends and go on great adventures // Become happy friends and go on great adventures
[thread saveFriendRequestStatus:LKThreadFriendRequestStatusFriends withTransaction:transaction]; [thread saveFriendRequestStatus:LKThreadFriendRequestStatusFriends withTransaction:transaction];
TSOutgoingMessage *existingFriendRequestMessage = [thread.lastInteraction as:TSOutgoingMessage.class]; TSOutgoingMessage *existingFriendRequestMessage = [[thread getLastInteractionWithTransaction:transaction] as:TSOutgoingMessage.class];
if (existingFriendRequestMessage != nil && existingFriendRequestMessage.isFriendRequest) { if (existingFriendRequestMessage != nil && existingFriendRequestMessage.isFriendRequest) {
[existingFriendRequestMessage saveFriendRequestStatus:LKMessageFriendRequestStatusAccepted withTransaction:transaction]; [existingFriendRequestMessage saveFriendRequestStatus:LKMessageFriendRequestStatusAccepted withTransaction:transaction];
} }

Loading…
Cancel
Save