|
|
|
@ -102,7 +102,17 @@
|
|
|
|
|
MessageError.prototype = new ReplayableError();
|
|
|
|
|
MessageError.prototype.constructor = MessageError;
|
|
|
|
|
|
|
|
|
|
function UnregisteredUserError(number, httpError) {
|
|
|
|
|
this.name = 'UnregisteredUserError';
|
|
|
|
|
this.number = number;
|
|
|
|
|
this.code = httpError.code;
|
|
|
|
|
this.message = httpError.message;
|
|
|
|
|
this.stack = httpError.stack;
|
|
|
|
|
}
|
|
|
|
|
UnregisteredUserError.prototype = new Error();
|
|
|
|
|
UnregisteredUserError.prototype.constructor = UnregisteredUserError;
|
|
|
|
|
|
|
|
|
|
window.textsecure.UnregisteredUserError = UnregisteredUserError;
|
|
|
|
|
window.textsecure.SendMessageNetworkError = SendMessageNetworkError;
|
|
|
|
|
window.textsecure.IncomingIdentityKeyError = IncomingIdentityKeyError;
|
|
|
|
|
window.textsecure.OutgoingIdentityKeyError = OutgoingIdentityKeyError;
|
|
|
|
@ -38570,9 +38580,13 @@ OutgoingMessage.prototype = {
|
|
|
|
|
|
|
|
|
|
transmitMessage: function(number, jsonData, timestamp) {
|
|
|
|
|
return this.server.sendMessages(number, jsonData, timestamp).catch(function(e) {
|
|
|
|
|
if (e.name === 'HTTPError' && (e.code !== 409 && e.code !== 410 && e.code !== 404)) {
|
|
|
|
|
if (e.name === 'HTTPError' && (e.code !== 409 && e.code !== 410)) {
|
|
|
|
|
// 409 and 410 should bubble and be handled by doSendMessage
|
|
|
|
|
// 404 should throw UnregisteredUserError
|
|
|
|
|
// all other network errors can be retried later.
|
|
|
|
|
if (e.code === 404) {
|
|
|
|
|
throw new textsecure.UnregisteredUserError(number, e);
|
|
|
|
|
}
|
|
|
|
|
throw new textsecure.SendMessageNetworkError(number, jsonData, e, timestamp);
|
|
|
|
|
}
|
|
|
|
|
throw e;
|
|
|
|
|