|
|
@ -337,12 +337,13 @@ NS_ASSUME_NONNULL_BEGIN
|
|
|
|
int deviceId = messageEnvelope.sourceDevice;
|
|
|
|
int deviceId = messageEnvelope.sourceDevice;
|
|
|
|
dispatch_async([OWSDispatch sessionStoreQueue], ^{
|
|
|
|
dispatch_async([OWSDispatch sessionStoreQueue], ^{
|
|
|
|
if (![storageManager containsSession:recipientId deviceId:deviceId]) {
|
|
|
|
if (![storageManager containsSession:recipientId deviceId:deviceId]) {
|
|
|
|
|
|
|
|
__block TSErrorMessage *errorMessage;
|
|
|
|
[self.dbConnection readWriteWithBlock:^(YapDatabaseReadWriteTransaction *transaction) {
|
|
|
|
[self.dbConnection readWriteWithBlock:^(YapDatabaseReadWriteTransaction *transaction) {
|
|
|
|
TSErrorMessage *errorMessage =
|
|
|
|
errorMessage =
|
|
|
|
[TSErrorMessage missingSessionWithEnvelope:messageEnvelope withTransaction:transaction];
|
|
|
|
[TSErrorMessage missingSessionWithEnvelope:messageEnvelope withTransaction:transaction];
|
|
|
|
[errorMessage saveWithTransaction:transaction];
|
|
|
|
[errorMessage saveWithTransaction:transaction];
|
|
|
|
[self notififyForErrorMessage:errorMessage withEnvelope:messageEnvelope];
|
|
|
|
|
|
|
|
}];
|
|
|
|
}];
|
|
|
|
|
|
|
|
[self notififyForErrorMessage:errorMessage withEnvelope:messageEnvelope];
|
|
|
|
DDLogError(@"Skipping message envelope for unknown session.");
|
|
|
|
DDLogError(@"Skipping message envelope for unknown session.");
|
|
|
|
completion(nil);
|
|
|
|
completion(nil);
|
|
|
|
return;
|
|
|
|
return;
|
|
|
|