Message.send - check for missing identityKey, also add logging

FREEBIE
This commit is contained in:
Scott Nonnenberg 2017-06-23 09:25:22 -07:00
parent 551aa24e9a
commit 4ee4ad80c3
3 changed files with 4 additions and 8 deletions

View file

@ -38918,9 +38918,7 @@ OutgoingMessage.prototype = {
} else if (error.message === "Identity key changed") {
error.timestamp = this.timestamp;
error.originalMessage = this.message.toArrayBuffer();
// looks like this is an error - we don't have the identity key in this situation!
// but we need it to update the identity key when we get a OutgoingIdentityKeyError
// error.identityKey = ????;
console.log('Got "key changed" error from encrypt - no identityKey for application layer', number, deviceIds)
throw error;
} else {
this.registerError(number, "Failed to create or send message", error);

View file

@ -225,7 +225,7 @@
if (result.name === 'SignedPreKeyRotationError') {
return getAccountManager().rotateSignedPreKey();
}
else if (result.name === 'OutgoingIdentityKeyError') {
else if (result.name === 'OutgoingIdentityKeyError' && result.identityKey) {
promises.push(textsecure.storage.protocol.saveIdentity(
result.number, result.identityKey, false
));
@ -237,7 +237,7 @@
promises.push(this.sendSyncMessage());
}
promises = promises.concat(_.map(result.errors, function(error) {
if (error.name === 'OutgoingIdentityKeyError') {
if (error.name === 'OutgoingIdentityKeyError' && error.identityKey) {
return textsecure.storage.protocol.saveIdentity(
error.number, error.identityKey, false
);

View file

@ -176,9 +176,7 @@ OutgoingMessage.prototype = {
} else if (error.message === "Identity key changed") {
error.timestamp = this.timestamp;
error.originalMessage = this.message.toArrayBuffer();
// looks like this is an error - we don't have the identity key in this situation!
// but we need it to update the identity key when we get a OutgoingIdentityKeyError
// error.identityKey = ????;
console.log('Got "key changed" error from encrypt - no identityKey for application layer', number, deviceIds)
throw error;
} else {
this.registerError(number, "Failed to create or send message", error);