Merge branch 'message-replication-fix' into voice-calls-2
This commit is contained in:
commit
343a3afc0a
|
@ -28,7 +28,7 @@ extension Storage {
|
||||||
let thread = TSThread.fetch(uniqueId: threadID, transaction: transaction) else { return nil }
|
let thread = TSThread.fetch(uniqueId: threadID, transaction: transaction) else { return nil }
|
||||||
let tsMessage: TSMessage
|
let tsMessage: TSMessage
|
||||||
if message.sender == getUserPublicKey() {
|
if message.sender == getUserPublicKey() {
|
||||||
if let _ = TSOutgoingMessage.find(withTimestamp: message.sentTimestamp!) { return nil }
|
if TSOutgoingMessage.find(withTimestamp: message.sentTimestamp!) != nil { return nil }
|
||||||
let tsOutgoingMessage = TSOutgoingMessage.from(message, associatedWith: thread, using: transaction)
|
let tsOutgoingMessage = TSOutgoingMessage.from(message, associatedWith: thread, using: transaction)
|
||||||
var recipients: [String] = []
|
var recipients: [String] = []
|
||||||
if let syncTarget = message.syncTarget {
|
if let syncTarget = message.syncTarget {
|
||||||
|
@ -42,6 +42,7 @@ extension Storage {
|
||||||
}
|
}
|
||||||
tsMessage = tsOutgoingMessage
|
tsMessage = tsOutgoingMessage
|
||||||
} else {
|
} else {
|
||||||
|
if TSIncomingMessage.find(withAuthorId: message.sender!, timestamp: message.sentTimestamp!, transaction: transaction) != nil { return nil }
|
||||||
tsMessage = TSIncomingMessage.from(message, quotedMessage: quotedMessage, linkPreview: linkPreview, associatedWith: thread)
|
tsMessage = TSIncomingMessage.from(message, quotedMessage: quotedMessage, linkPreview: linkPreview, associatedWith: thread)
|
||||||
}
|
}
|
||||||
tsMessage.save(with: transaction)
|
tsMessage.save(with: transaction)
|
||||||
|
|
|
@ -34,7 +34,7 @@ public final class OpenGroupManagerV2 : NSObject {
|
||||||
let transaction = transaction as! YapDatabaseReadWriteTransaction
|
let transaction = transaction as! YapDatabaseReadWriteTransaction
|
||||||
let groupId: Data = LKGroupUtilities.getEncodedOpenGroupIDAsData("\(server).\(room)")
|
let groupId: Data = LKGroupUtilities.getEncodedOpenGroupIDAsData("\(server).\(room)")
|
||||||
|
|
||||||
if OpenGroupManagerV2.shared.pollers[server] != nil && TSGroupThread.fetch(uniqueId: TSGroupThread.threadId(fromGroupId: groupId), transaction: transaction) != nil {
|
if OpenGroupManagerV2.shared.pollers[server] != nil && TSGroupThread.fetch(groupId: groupId, transaction: transaction) != nil {
|
||||||
SNLog("Ignoring join open group attempt (already joined)")
|
SNLog("Ignoring join open group attempt (already joined)")
|
||||||
return Promise.value(())
|
return Promise.value(())
|
||||||
}
|
}
|
||||||
|
|
|
@ -407,7 +407,7 @@ extension MessageReceiver {
|
||||||
}
|
}
|
||||||
// Persist the message
|
// Persist the message
|
||||||
guard let tsMessageID = storage.persist(message, quotedMessage: tsQuotedMessage, linkPreview: owsLinkPreview,
|
guard let tsMessageID = storage.persist(message, quotedMessage: tsQuotedMessage, linkPreview: owsLinkPreview,
|
||||||
groupPublicKey: message.groupPublicKey, openGroupID: openGroupID, using: transaction) else { throw Error.noThread }
|
groupPublicKey: message.groupPublicKey, openGroupID: openGroupID, using: transaction) else { throw Error.duplicateMessage }
|
||||||
message.threadID = threadID
|
message.threadID = threadID
|
||||||
// Start attachment downloads if needed
|
// Start attachment downloads if needed
|
||||||
let isContactTrusted = Storage.shared.getContact(with: message.sender!)?.isTrusted ?? false
|
let isContactTrusted = Storage.shared.getContact(with: message.sender!)?.isTrusted ?? false
|
||||||
|
|
|
@ -30,7 +30,8 @@ extern NSString *const TSGroupThread_NotificationKey_UniqueId;
|
||||||
groupType:(GroupType) groupType
|
groupType:(GroupType) groupType
|
||||||
transaction:(YapDatabaseReadWriteTransaction *)transaction;
|
transaction:(YapDatabaseReadWriteTransaction *)transaction;
|
||||||
|
|
||||||
+ (nullable instancetype)threadWithGroupId:(NSData *)groupId transaction:(YapDatabaseReadTransaction *)transaction;
|
+ (nullable instancetype)threadWithGroupId:(NSData *)groupId transaction:(YapDatabaseReadTransaction *)transaction
|
||||||
|
NS_SWIFT_NAME(fetch(groupId:transaction:));
|
||||||
|
|
||||||
+ (NSString *)threadIdFromGroupId:(NSData *)groupId;
|
+ (NSString *)threadIdFromGroupId:(NSData *)groupId;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue