Merge branch 'mkirk/group-delivery' into release/2.24.0

This commit is contained in:
Michael Kirk 2018-04-19 14:57:50 -04:00
commit 15891523b6
16 changed files with 37 additions and 26 deletions

View file

@ -3700,7 +3700,7 @@ NS_ASSUME_NONNULL_BEGIN
expiresInSeconds:(configuration.isEnabled ? configuration.durationSeconds
: 0)expireStartedAt:0
isVoiceMessage:NO
groupMetaMessage:TSGroupMessageNone
groupMetaMessage:TSGroupMessageUnspecified
quotedMessage:nil];
DDLogError(@"%@ resurrectNewOutgoingMessages2 timestamp: %llu.", self.logTag, message.timestamp);
[messages addObject:message];
@ -3778,7 +3778,7 @@ NS_ASSUME_NONNULL_BEGIN
expiresInSeconds:0
expireStartedAt:0
isVoiceMessage:NO
groupMetaMessage:TSGroupMessageNone
groupMetaMessage:TSGroupMessageUnspecified
quotedMessage:nil];
[message saveWithTransaction:transaction];
[message updateWithMessageState:TSOutgoingMessageStateSentToService transaction:transaction];
@ -4016,7 +4016,7 @@ NS_ASSUME_NONNULL_BEGIN
expiresInSeconds:0
expireStartedAt:0
isVoiceMessage:isVoiceMessage
groupMetaMessage:TSGroupMessageNone
groupMetaMessage:TSGroupMessageUnspecified
quotedMessage:quotedMessage];
if (attachmentId.length > 0 && filename.length > 0) {

View file

@ -138,7 +138,7 @@ NS_ASSUME_NONNULL_BEGIN
expiresInSeconds:expiresInSeconds
expireStartedAt:0
isVoiceMessage:[attachment isVoiceMessage]
groupMetaMessage:TSGroupMessageNone
groupMetaMessage:TSGroupMessageUnspecified
quotedMessage:[quotedReplyModel buildQuotedMessage]];
[messageSender enqueueAttachment:attachment.dataSource

View file

@ -28,7 +28,7 @@ NS_ASSUME_NONNULL_BEGIN
expiresInSeconds:0
expireStartedAt:0
isVoiceMessage:NO
groupMetaMessage:TSGroupMessageNone
groupMetaMessage:TSGroupMessageUnspecified
quotedMessage:nil];
if (!self) {
return self;

View file

@ -94,7 +94,7 @@ NS_ASSUME_NONNULL_BEGIN
expiresInSeconds:transcript.expirationDuration
expireStartedAt:transcript.expirationStartedAt
isVoiceMessage:NO
groupMetaMessage:TSGroupMessageNone
groupMetaMessage:TSGroupMessageUnspecified
quotedMessage:transcript.quotedMessage];
// TODO: When written, desktop didn't yet support sending quotedMessages, so we didn't have a

View file

@ -21,7 +21,7 @@ NS_ASSUME_NONNULL_BEGIN
expiresInSeconds:0
expireStartedAt:0
isVoiceMessage:NO
groupMetaMessage:TSGroupMessageNone
groupMetaMessage:TSGroupMessageUnspecified
quotedMessage:nil];
if (!self) {

View file

@ -37,7 +37,7 @@ NS_ASSUME_NONNULL_BEGIN
expiresInSeconds:0
expireStartedAt:0
isVoiceMessage:NO
groupMetaMessage:TSGroupMessageNone
groupMetaMessage:TSGroupMessageUnspecified
quotedMessage:nil];
if (!self) {
return self;

View file

@ -23,7 +23,7 @@ NS_ASSUME_NONNULL_BEGIN
expiresInSeconds:0
expireStartedAt:0
isVoiceMessage:NO
groupMetaMessage:TSGroupMessageNone
groupMetaMessage:TSGroupMessageUnspecified
quotedMessage:nil];
}

View file

@ -27,7 +27,7 @@ NS_ASSUME_NONNULL_BEGIN
expiresInSeconds:0
expireStartedAt:0
isVoiceMessage:NO
groupMetaMessage:TSGroupMessageNone
groupMetaMessage:TSGroupMessageUnspecified
quotedMessage:nil];
if (!self) {
return self;

View file

@ -33,7 +33,7 @@ NS_ASSUME_NONNULL_BEGIN
expiresInSeconds:0
expireStartedAt:0
isVoiceMessage:NO
groupMetaMessage:TSGroupMessageNone
groupMetaMessage:TSGroupMessageUnspecified
quotedMessage:nil];
if (!self) {
return self;

View file

@ -34,7 +34,7 @@ NS_ASSUME_NONNULL_BEGIN
expiresInSeconds:0
expireStartedAt:0
isVoiceMessage:NO
groupMetaMessage:TSGroupMessageNone
groupMetaMessage:TSGroupMessageUnspecified
quotedMessage:nil];
if (self) {

View file

@ -18,7 +18,7 @@ NS_ASSUME_NONNULL_BEGIN
expiresInSeconds:0
expireStartedAt:0
isVoiceMessage:NO
groupMetaMessage:TSGroupMessageNone
groupMetaMessage:TSGroupMessageUnspecified
quotedMessage:nil];
}

View file

@ -22,7 +22,7 @@ typedef NS_ENUM(NSInteger, TSOutgoingMessageState) {
};
typedef NS_ENUM(NSInteger, TSGroupMetaMessage) {
TSGroupMessageNone,
TSGroupMessageUnspecified,
TSGroupMessageNew,
TSGroupMessageUpdate,
TSGroupMessageDeliver,

View file

@ -110,9 +110,6 @@ NSString *const kTSOutgoingMessageSentRecipientAll = @"kTSOutgoingMessageSentRec
[attachmentIds addObject:attachmentId];
}
TSGroupMetaMessage groupMetaMessage =
[thread isKindOfClass:TSGroupThread.class] ? TSGroupMessageDeliver : TSGroupMessageNone;
return [[TSOutgoingMessage alloc] initOutgoingMessageWithTimestamp:[NSDate ows_millisecondTimeStamp]
inThread:thread
messageBody:body
@ -120,7 +117,7 @@ NSString *const kTSOutgoingMessageSentRecipientAll = @"kTSOutgoingMessageSentRec
expiresInSeconds:expiresInSeconds
expireStartedAt:0
isVoiceMessage:NO
groupMetaMessage:groupMetaMessage
groupMetaMessage:TSGroupMessageUnspecified
quotedMessage:quotedMessage];
}
@ -162,7 +159,20 @@ NSString *const kTSOutgoingMessageSentRecipientAll = @"kTSOutgoingMessageSentRec
_messageState = TSOutgoingMessageStateAttemptingOut;
_sentRecipients = [NSArray new];
_hasSyncedTranscript = NO;
_groupMetaMessage = groupMetaMessage;
if ([thread isKindOfClass:TSGroupThread.class]) {
// Unless specified, we assume group messages are "Delivery" i.e. normal messages.
if (groupMetaMessage == TSGroupMessageUnspecified) {
_groupMetaMessage = TSGroupMessageDeliver;
} else {
_groupMetaMessage = groupMetaMessage;
}
} else {
OWSAssert(groupMetaMessage == TSGroupMessageUnspecified);
// Specifying a group meta message only makes sense for Group threads
_groupMetaMessage = TSGroupMessageUnspecified;
}
_isVoiceMessage = isVoiceMessage;
_attachmentFilenameMap = [NSMutableDictionary new];
@ -172,12 +182,11 @@ NSString *const kTSOutgoingMessageSentRecipientAll = @"kTSOutgoingMessageSentRec
- (BOOL)shouldBeSaved
{
if (!(self.groupMetaMessage == TSGroupMessageDeliver || self.groupMetaMessage == TSGroupMessageNone)) {
DDLogDebug(@"%@ Skipping save for group meta message.", self.logTag);
return NO;
if (self.groupMetaMessage == TSGroupMessageDeliver || self.groupMetaMessage == TSGroupMessageUnspecified) {
return YES;
}
return YES;
return NO;
}
- (void)saveWithTransaction:(YapDatabaseReadWriteTransaction *)transaction
@ -186,6 +195,8 @@ NSString *const kTSOutgoingMessageSentRecipientAll = @"kTSOutgoingMessageSentRec
// There's no need to save this message, since it's not displayed to the user.
//
// Should we find a need to save this in the future, we need to exclude any non-serializable properties.
DDLogDebug(@"%@ Skipping save for group meta message.", self.logTag);
return;
}

View file

@ -29,7 +29,7 @@ NS_ASSUME_NONNULL_BEGIN
expiresInSeconds:0
expireStartedAt:0
isVoiceMessage:NO
groupMetaMessage:TSGroupMessageNone
groupMetaMessage:TSGroupMessageUnspecified
quotedMessage:nil];
if (!self) {
return self;

View file

@ -31,7 +31,7 @@ NS_ASSUME_NONNULL_BEGIN
expiresInSeconds:0
expireStartedAt:0
isVoiceMessage:NO
groupMetaMessage:TSGroupMessageNone
groupMetaMessage:TSGroupMessageUnspecified
quotedMessage:nil];
if (!self) {
return self;

View file

@ -21,7 +21,7 @@ NS_ASSUME_NONNULL_BEGIN
expiresInSeconds:0
expireStartedAt:0
isVoiceMessage:NO
groupMetaMessage:TSGroupMessageNone
groupMetaMessage:TSGroupMessageUnspecified
quotedMessage:nil];
}