Merge branch 'dev' into profile-icons

pull/45/head
Mikunj 6 years ago
commit 0e5ea89fda

@ -108,7 +108,7 @@ public final class LokiGroupChatPoller : NSObject {
} }
} }
// Poll // Poll
let _ = LokiGroupChatAPI.getMessages(for: group.serverID, on: group.server).done { messages in let _ = LokiGroupChatAPI.getMessages(for: group.serverID, on: group.server).done(on: .main) { messages in
messages.reversed().forEach { message in messages.reversed().forEach { message in
if message.hexEncodedPublicKey != userHexEncodedPublicKey { if message.hexEncodedPublicKey != userHexEncodedPublicKey {
processIncomingMessage(message) processIncomingMessage(message)

@ -149,8 +149,6 @@ ConversationColorName const kConversationColorName_Default = ConversationColorNa
NSDate *_Nullable archivalDate = [coder decodeObjectOfClass:NSDate.class forKey:@"archivalDate"]; NSDate *_Nullable archivalDate = [coder decodeObjectOfClass:NSDate.class forKey:@"archivalDate"];
_isArchivedByLegacyTimestampForSorting = _isArchivedByLegacyTimestampForSorting =
[self.class legacyIsArchivedWithLastMessageDate:lastMessageDate archivalDate:archivalDate]; [self.class legacyIsArchivedWithLastMessageDate:lastMessageDate archivalDate:archivalDate];
_friendRequestStatus = LKThreadFriendRequestStatusNone;
return self; return self;
} }

@ -1407,17 +1407,19 @@ NS_ASSUME_NONNULL_BEGIN
[self.primaryStorage setIDForMessageWithServerID:dataMessage.publicChatInfo.serverID to:incomingMessage.uniqueId in:transaction]; [self.primaryStorage setIDForMessageWithServerID:dataMessage.publicChatInfo.serverID to:incomingMessage.uniqueId in:transaction];
} }
NSString *url = [OWSLinkPreview previewURLForRawBodyText:incomingMessage.body]; dispatch_async(dispatch_get_main_queue(), ^{
if (url != nil) { NSString *url = [OWSLinkPreview previewURLForRawBodyText:incomingMessage.body];
[OWSLinkPreview tryToBuildPreviewInfoObjcWithPreviewUrl:url] if (url != nil) {
.thenOn(dispatch_get_main_queue(), ^(OWSLinkPreviewDraft *linkPreviewDraft) { [OWSLinkPreview tryToBuildPreviewInfoObjcWithPreviewUrl:url]
[OWSPrimaryStorage.sharedManager.dbReadWriteConnection readWriteWithBlock:^(YapDatabaseReadWriteTransaction *transaction) { .thenOn(dispatch_get_main_queue(), ^(OWSLinkPreviewDraft *linkPreviewDraft) {
OWSLinkPreview *linkPreview = [OWSLinkPreview buildValidatedLinkPreviewFromInfo:linkPreviewDraft transaction:transaction error:nil]; [OWSPrimaryStorage.sharedManager.dbReadWriteConnection readWriteWithBlock:^(YapDatabaseReadWriteTransaction *transaction) {
incomingMessage.linkPreview = linkPreview; OWSLinkPreview *linkPreview = [OWSLinkPreview buildValidatedLinkPreviewFromInfo:linkPreviewDraft transaction:transaction error:nil];
[incomingMessage saveWithTransaction:transaction]; incomingMessage.linkPreview = linkPreview;
}]; [incomingMessage saveWithTransaction:transaction];
}); }];
} });
}
});
return incomingMessage; return incomingMessage;
} }
@ -1505,15 +1507,17 @@ NS_ASSUME_NONNULL_BEGIN
transaction:transaction]; transaction:transaction];
if (linkPreview != nil) { if (linkPreview != nil) {
[OWSLinkPreview tryToBuildPreviewInfoObjcWithPreviewUrl:linkPreview.urlString] dispatch_async(dispatch_get_main_queue(), ^{
.thenOn(dispatch_get_main_queue(), ^(OWSLinkPreviewDraft *linkPreviewDraft) { [OWSLinkPreview tryToBuildPreviewInfoObjcWithPreviewUrl:linkPreview.urlString]
if (linkPreviewDraft.jpegImageData == nil) { return; } .thenOn(dispatch_get_main_queue(), ^(OWSLinkPreviewDraft *linkPreviewDraft) {
[OWSPrimaryStorage.sharedManager.dbReadWriteConnection readWriteWithBlock:^(YapDatabaseReadWriteTransaction *transaction) { if (linkPreviewDraft.jpegImageData == nil) { return; }
NSString *attachmentID = [OWSLinkPreview buildValidatedLinkPreviewFromInfo:linkPreviewDraft transaction:transaction error:nil].imageAttachmentId; [OWSPrimaryStorage.sharedManager.dbReadWriteConnection readWriteWithBlock:^(YapDatabaseReadWriteTransaction *transaction) {
linkPreview.imageAttachmentId = attachmentID; NSString *attachmentID = [OWSLinkPreview buildValidatedLinkPreviewFromInfo:linkPreviewDraft transaction:transaction error:nil].imageAttachmentId;
incomingMessage.linkPreview = linkPreview; linkPreview.imageAttachmentId = attachmentID;
[incomingMessage saveWithTransaction:transaction]; incomingMessage.linkPreview = linkPreview;
}]; [incomingMessage saveWithTransaction:transaction];
}];
});
}); });
}; };

@ -1544,7 +1544,7 @@ NSString *const OWSMessageSenderRateLimitedException = @"RateLimitedException";
// A friend request means we don't have a session with the person // A friend request means we don't have a session with the person
// There's no point to check for it // There's no point to check for it
Boolean isFriendRequest = [messageSend.message isKindOfClass:LKFriendRequestMessage.class]; BOOL isFriendRequest = [messageSend.message isKindOfClass:LKFriendRequestMessage.class];
if (!isFriendRequest) { if (!isFriendRequest) {
[self throws_ensureRecipientHasSessionForMessageSend:messageSend deviceId:deviceId]; [self throws_ensureRecipientHasSessionForMessageSend:messageSend deviceId:deviceId];
} }

Loading…
Cancel
Save