Add replayable error for signed key failure
Disable message sending if signed key updates fail too many times, but allow the user to retry sending. // FREEBIE
This commit is contained in:
parent
e0fd188d42
commit
cd0fe7037b
5 changed files with 77 additions and 7 deletions
|
@ -211,6 +211,9 @@
|
|||
if (result instanceof Error) {
|
||||
errors = [result];
|
||||
this.saveErrors(errors);
|
||||
if (result.name === 'SignedPreKeyRotationError') {
|
||||
getAccountManager().rotateSignedPreKey();
|
||||
}
|
||||
} else {
|
||||
errors = result.errors;
|
||||
this.saveErrors(errors);
|
||||
|
@ -283,7 +286,8 @@
|
|||
var error = _.find(this.get('errors'), function(e) {
|
||||
return (e.name === 'MessageError' ||
|
||||
e.name === 'OutgoingMessageError' ||
|
||||
e.name === 'SendMessageNetworkError');
|
||||
e.name === 'SendMessageNetworkError' ||
|
||||
e.name === 'SignedPreKeyRotationError');
|
||||
});
|
||||
return !!error;
|
||||
},
|
||||
|
@ -292,11 +296,18 @@
|
|||
return e.number === number &&
|
||||
(e.name === 'MessageError' ||
|
||||
e.name === 'OutgoingMessageError' ||
|
||||
e.name === 'SendMessageNetworkError');
|
||||
e.name === 'SendMessageNetworkError' ||
|
||||
e.name === 'SignedPreKeyRotationError');
|
||||
});
|
||||
this.set({errors: errors[1]});
|
||||
return errors[0][0];
|
||||
},
|
||||
isReplayableError: function(e) {
|
||||
return (e.name === 'MessageError' ||
|
||||
e.name === 'OutgoingMessageError' ||
|
||||
e.name === 'SendMessageNetworkError' ||
|
||||
e.name === 'SignedPreKeyRotationError');
|
||||
},
|
||||
|
||||
resend: function(number) {
|
||||
var error = this.removeOutgoingErrors(number);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue