More outgoing message fixes.
This commit is contained in:
parent
f028627b49
commit
bb96454070
@ -40,6 +40,10 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
- (nullable SignalRecipient *)synchronousLookup:(NSString *)identifier error:(NSError **)error
|
||||
{
|
||||
OWSAssert(error);
|
||||
|
||||
DDLogInfo(@"%@ %s %@", self.logTag, __PRETTY_FUNCTION__, identifier);
|
||||
|
||||
dispatch_semaphore_t sema = dispatch_semaphore_create(0);
|
||||
|
||||
__block SignalRecipient *recipient;
|
||||
|
||||
@ -21,7 +21,8 @@ typedef NS_ENUM(NSInteger, TSOutgoingMessageState) {
|
||||
TSOutgoingMessageStateSent,
|
||||
};
|
||||
|
||||
// Used
|
||||
NSString *NSStringForOutgoingMessageState(TSOutgoingMessageState value);
|
||||
|
||||
typedef NS_ENUM(NSInteger, OWSOutgoingMessageRecipientState) {
|
||||
// Message could not be sent to recipient.
|
||||
OWSOutgoingMessageRecipientStateFailed = 0,
|
||||
@ -37,6 +38,8 @@ typedef NS_ENUM(NSInteger, OWSOutgoingMessageRecipientState) {
|
||||
OWSOutgoingMessageRecipientStateMax = OWSOutgoingMessageRecipientStateSent,
|
||||
};
|
||||
|
||||
NSString *NSStringForOutgoingMessageRecipientState(OWSOutgoingMessageRecipientState value);
|
||||
|
||||
typedef NS_ENUM(NSInteger, TSGroupMetaMessage) {
|
||||
TSGroupMessageUnspecified,
|
||||
TSGroupMessageNew,
|
||||
@ -223,6 +226,8 @@ typedef NS_ENUM(NSInteger, TSGroupMetaMessage) {
|
||||
|
||||
- (nullable NSNumber *)firstRecipientReadTimestamp;
|
||||
|
||||
- (NSString *)statusDescription;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
||||
@ -23,6 +23,36 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
NSString *const kTSOutgoingMessageSentRecipientAll = @"kTSOutgoingMessageSentRecipientAll";
|
||||
|
||||
NSString *NSStringForOutgoingMessageState(TSOutgoingMessageState value)
|
||||
{
|
||||
switch (value) {
|
||||
case TSOutgoingMessageStateSending:
|
||||
return @"TSOutgoingMessageStateSending";
|
||||
case TSOutgoingMessageStateFailed:
|
||||
return @"TSOutgoingMessageStateFailed";
|
||||
case TSOutgoingMessageStateSent_OBSOLETE:
|
||||
return @"TSOutgoingMessageStateSent_OBSOLETE";
|
||||
case TSOutgoingMessageStateDelivered_OBSOLETE:
|
||||
return @"TSOutgoingMessageStateDelivered_OBSOLETE";
|
||||
case TSOutgoingMessageStateSent:
|
||||
return @"TSOutgoingMessageStateSent";
|
||||
}
|
||||
}
|
||||
|
||||
NSString *NSStringForOutgoingMessageRecipientState(OWSOutgoingMessageRecipientState value)
|
||||
{
|
||||
switch (value) {
|
||||
case OWSOutgoingMessageRecipientStateFailed:
|
||||
return @"OWSOutgoingMessageRecipientStateFailed";
|
||||
case OWSOutgoingMessageRecipientStateSending:
|
||||
return @"OWSOutgoingMessageRecipientStateSending";
|
||||
case OWSOutgoingMessageRecipientStateSkipped:
|
||||
return @"OWSOutgoingMessageRecipientStateSkipped";
|
||||
case OWSOutgoingMessageRecipientStateSent:
|
||||
return @"OWSOutgoingMessageRecipientStateSent";
|
||||
}
|
||||
}
|
||||
|
||||
@interface TSOutgoingMessageRecipientState ()
|
||||
|
||||
@property (atomic) OWSOutgoingMessageRecipientState state;
|
||||
@ -870,6 +900,18 @@ NSString *const kTSOutgoingMessageSentRecipientAll = @"kTSOutgoingMessageSentRec
|
||||
return [builder build];
|
||||
}
|
||||
|
||||
- (NSString *)statusDescription
|
||||
{
|
||||
NSMutableString *result = [NSMutableString new];
|
||||
[result appendFormat:@"[status: %@", NSStringForOutgoingMessageState(self.messageState)];
|
||||
for (NSString *recipientId in self.recipientStateMap) {
|
||||
TSOutgoingMessageRecipientState *recipientState = self.recipientStateMap[recipientId];
|
||||
[result appendFormat:@", %@: %@", recipientId, NSStringForOutgoingMessageRecipientState(recipientState.state)];
|
||||
}
|
||||
[result appendString:@"]"];
|
||||
return [result copy];
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
||||
@ -186,7 +186,9 @@ void AssertIsOnSendingQueue()
|
||||
|
||||
- (void)didSucceed
|
||||
{
|
||||
OWSAssert(self.message.messageState == TSOutgoingMessageStateSent);
|
||||
if (self.message.messageState != TSOutgoingMessageStateSent) {
|
||||
OWSProdLogAndFail(@"%@ unexpected message status: %@", self.logTag, self.message.statusDescription);
|
||||
}
|
||||
|
||||
self.successHandler();
|
||||
}
|
||||
@ -423,7 +425,7 @@ NSString *const OWSMessageSenderRateLimitedException = @"RateLimitedException";
|
||||
{
|
||||
OWSAssert(error);
|
||||
|
||||
error = nil;
|
||||
*error = nil;
|
||||
|
||||
NSMutableArray<SignalRecipient *> *recipients = [NSMutableArray new];
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user