diff --git a/src/Messages/OWSMessageSender.m b/src/Messages/OWSMessageSender.m index ac1f25f3d..6c894f75b 100644 --- a/src/Messages/OWSMessageSender.m +++ b/src/Messages/OWSMessageSender.m @@ -483,6 +483,11 @@ NSString *const OWSMessageSenderRateLimitedException = @"RateLimitedException"; }; switch (statuscode) { + case 401: { + DDLogWarn(@"%@ Unable to send due to invalid credentials. Did the user's client get de-authed by registering elsewhere?", self.tag); + NSError *error = OWSErrorWithCodeDescription(OWSErrorCodeSignalServiceFailure, NSLocalizedString(@"ERROR_DESCRIPTION_SENDING_UNAUTHORIZED", @"Error message when attempting to send message")); + return failureHandler(error); + } case 404: { [self unregisteredRecipient:recipient message:message thread:thread]; NSError *error = OWSErrorMakeNoSuchSignalRecipientError(); diff --git a/src/Util/OWSError.h b/src/Util/OWSError.h index 9e921487c..897b020f9 100644 --- a/src/Util/OWSError.h +++ b/src/Util/OWSError.h @@ -14,6 +14,7 @@ typedef NS_ENUM(NSInteger, OWSErrorCode) { OWSErrorCodeUntrustedIdentityKey = 25, OWSErrorCodeFailedToSendOutgoingMessage = 30, OWSErrorCodeFailedToDecryptMessage = 100, + OWSErrorCodeSignalServiceFailure = 1001, OWSErrorCodeUserError = 2001, };