Remove TSGroupMetaMessage
This commit is contained in:
parent
9120db61de
commit
c4b902f854
@ -568,7 +568,6 @@ extension BackupArchiveTSOutgoingMessageArchiver: BackupArchive.TSMessageEditHis
|
||||
expireTimerVersion: nil,
|
||||
expireStartedAt: expireStartDate,
|
||||
isVoiceMessage: false,
|
||||
groupMetaMessage: .unspecified,
|
||||
isSmsMessageRestoredFromBackup: chatItem.sms,
|
||||
isViewOnceMessage: false,
|
||||
isViewOnceComplete: false,
|
||||
|
||||
@ -83,7 +83,7 @@ class OWSGroupCallMessageSerializer: SDSSerializer {
|
||||
let expireStartedAt: UInt64? = nil
|
||||
let expiresAt: UInt64? = nil
|
||||
let expiresInSeconds: UInt32? = nil
|
||||
let groupMetaMessage: TSGroupMetaMessage? = nil
|
||||
let groupMetaMessage: Int? = nil
|
||||
let hasLegacyMessageState: Bool? = nil
|
||||
let hasSyncedTranscript: Bool? = nil
|
||||
let wasNotCreatedLocally: Bool? = nil
|
||||
|
||||
@ -83,7 +83,7 @@ class TSCallSerializer: SDSSerializer {
|
||||
let expireStartedAt: UInt64? = nil
|
||||
let expiresAt: UInt64? = nil
|
||||
let expiresInSeconds: UInt32? = nil
|
||||
let groupMetaMessage: TSGroupMetaMessage? = nil
|
||||
let groupMetaMessage: Int? = nil
|
||||
let hasLegacyMessageState: Bool? = nil
|
||||
let hasSyncedTranscript: Bool? = nil
|
||||
let wasNotCreatedLocally: Bool? = nil
|
||||
|
||||
@ -192,7 +192,6 @@ public class SentMessageTranscriptReceiverImpl: SentMessageTranscriptReceiver {
|
||||
expireTimerVersion: messageParams.expireTimerVersion,
|
||||
expireStartedAt: messageParams.expirationStartedAt,
|
||||
isVoiceMessage: false,
|
||||
groupMetaMessage: .unspecified,
|
||||
isSmsMessageRestoredFromBackup: false,
|
||||
isViewOnceMessage: messageParams.isViewOnceMessage,
|
||||
isViewOnceComplete: false,
|
||||
|
||||
@ -726,7 +726,6 @@ public class GroupManager: NSObject {
|
||||
|
||||
let message = OutgoingGroupUpdateMessage(
|
||||
in: thread,
|
||||
groupMetaMessage: .update,
|
||||
expiresInSeconds: dmConfigurationStore.durationSeconds(for: thread, tx: transaction),
|
||||
groupChangeProtoData: groupChangeProtoData,
|
||||
additionalRecipients: Self.invitedMembers(in: thread),
|
||||
@ -753,7 +752,6 @@ public class GroupManager: NSObject {
|
||||
let dmConfigurationStore = DependenciesBridge.shared.disappearingMessagesConfigurationStore
|
||||
let message = OutgoingGroupUpdateMessage(
|
||||
in: thread,
|
||||
groupMetaMessage: .new,
|
||||
expiresInSeconds: dmConfigurationStore.durationSeconds(for: thread, tx: tx),
|
||||
additionalRecipients: Self.invitedMembers(in: thread),
|
||||
isUrgent: true,
|
||||
@ -779,12 +777,7 @@ public class GroupManager: NSObject {
|
||||
guard groupThread.groupModel.groupsVersion == .V2 else {
|
||||
return false
|
||||
}
|
||||
switch message.groupMetaMessage {
|
||||
case .update, .new:
|
||||
return true
|
||||
default:
|
||||
return false
|
||||
}
|
||||
return message is OutgoingGroupUpdateMessage
|
||||
}
|
||||
|
||||
// MARK: - Group Database
|
||||
|
||||
@ -241,7 +241,6 @@ public struct OutgoingEditMessageWrapper: EditMessageWrapper {
|
||||
expireTimerVersion: isLatestRevision ? message.expireTimerVersion?.uint32Value : 0,
|
||||
expireStartedAt: message.expireStartedAt,
|
||||
isVoiceMessage: message.isVoiceMessage,
|
||||
groupMetaMessage: message.groupMetaMessage,
|
||||
isSmsMessageRestoredFromBackup: message.isSmsMessageRestoredFromBackup,
|
||||
isViewOnceMessage: message.isViewOnceMessage,
|
||||
isViewOnceComplete: message.isViewOnceComplete,
|
||||
|
||||
@ -83,7 +83,7 @@ class OWSDisappearingConfigurationUpdateInfoMessageSerializer: SDSSerializer {
|
||||
let expireStartedAt: UInt64? = model.expireStartedAt
|
||||
let expiresAt: UInt64? = model.expiresAt
|
||||
let expiresInSeconds: UInt32? = model.expiresInSeconds
|
||||
let groupMetaMessage: TSGroupMetaMessage? = nil
|
||||
let groupMetaMessage: Int? = nil
|
||||
let hasLegacyMessageState: Bool? = nil
|
||||
let hasSyncedTranscript: Bool? = nil
|
||||
let wasNotCreatedLocally: Bool? = nil
|
||||
|
||||
@ -83,7 +83,7 @@ class OWSVerificationStateChangeMessageSerializer: SDSSerializer {
|
||||
let expireStartedAt: UInt64? = model.expireStartedAt
|
||||
let expiresAt: UInt64? = model.expiresAt
|
||||
let expiresInSeconds: UInt32? = model.expiresInSeconds
|
||||
let groupMetaMessage: TSGroupMetaMessage? = nil
|
||||
let groupMetaMessage: Int? = nil
|
||||
let hasLegacyMessageState: Bool? = nil
|
||||
let hasSyncedTranscript: Bool? = nil
|
||||
let wasNotCreatedLocally: Bool? = nil
|
||||
|
||||
@ -83,7 +83,7 @@ class TSErrorMessageSerializer: SDSSerializer {
|
||||
let expireStartedAt: UInt64? = model.expireStartedAt
|
||||
let expiresAt: UInt64? = model.expiresAt
|
||||
let expiresInSeconds: UInt32? = model.expiresInSeconds
|
||||
let groupMetaMessage: TSGroupMetaMessage? = nil
|
||||
let groupMetaMessage: Int? = nil
|
||||
let hasLegacyMessageState: Bool? = nil
|
||||
let hasSyncedTranscript: Bool? = nil
|
||||
let wasNotCreatedLocally: Bool? = nil
|
||||
|
||||
@ -83,7 +83,7 @@ class TSIncomingMessageSerializer: SDSSerializer {
|
||||
let expireStartedAt: UInt64? = model.expireStartedAt
|
||||
let expiresAt: UInt64? = model.expiresAt
|
||||
let expiresInSeconds: UInt32? = model.expiresInSeconds
|
||||
let groupMetaMessage: TSGroupMetaMessage? = nil
|
||||
let groupMetaMessage: Int? = nil
|
||||
let hasLegacyMessageState: Bool? = nil
|
||||
let hasSyncedTranscript: Bool? = nil
|
||||
let wasNotCreatedLocally: Bool? = nil
|
||||
|
||||
@ -83,7 +83,7 @@ class TSInfoMessageSerializer: SDSSerializer {
|
||||
let expireStartedAt: UInt64? = model.expireStartedAt
|
||||
let expiresAt: UInt64? = model.expiresAt
|
||||
let expiresInSeconds: UInt32? = model.expiresInSeconds
|
||||
let groupMetaMessage: TSGroupMetaMessage? = nil
|
||||
let groupMetaMessage: Int? = nil
|
||||
let hasLegacyMessageState: Bool? = nil
|
||||
let hasSyncedTranscript: Bool? = nil
|
||||
let wasNotCreatedLocally: Bool? = nil
|
||||
|
||||
@ -50,7 +50,7 @@ public struct InteractionRecord: SDSRecord {
|
||||
public let expireStartedAt: UInt64?
|
||||
public let expiresAt: UInt64?
|
||||
public let expiresInSeconds: UInt32?
|
||||
public let groupMetaMessage: TSGroupMetaMessage?
|
||||
public let groupMetaMessage: Int?
|
||||
public let hasLegacyMessageState: Bool?
|
||||
public let hasSyncedTranscript: Bool?
|
||||
public let wasNotCreatedLocally: Bool?
|
||||
@ -229,7 +229,7 @@ public extension InteractionRecord {
|
||||
expireStartedAt = row[20]
|
||||
expiresAt = row[21]
|
||||
expiresInSeconds = row[22]
|
||||
groupMetaMessage = row[23].flatMap { TSGroupMetaMessage(rawValue: $0) }
|
||||
groupMetaMessage = row[23]
|
||||
hasLegacyMessageState = row[24]
|
||||
hasSyncedTranscript = row[25]
|
||||
wasNotCreatedLocally = row[26]
|
||||
@ -827,9 +827,7 @@ extension TSInteraction {
|
||||
let storyTimestamp: NSNumber? = SDSDeserialization.optionalNumericAsNSNumber(record.storyTimestamp, name: "storyTimestamp", conversion: { NSNumber(value: $0) })
|
||||
let wasRemotelyDeleted: Bool = try SDSDeserialization.required(record.wasRemotelyDeleted, name: "wasRemotelyDeleted")
|
||||
let customMessage: String? = record.customMessage
|
||||
guard let groupMetaMessage: TSGroupMetaMessage = record.groupMetaMessage else {
|
||||
throw SDSError.missingRequiredField()
|
||||
}
|
||||
let groupMetaMessage: Int = try SDSDeserialization.required(record.groupMetaMessage, name: "groupMetaMessage")
|
||||
let hasLegacyMessageState: Bool = try SDSDeserialization.required(record.hasLegacyMessageState, name: "hasLegacyMessageState")
|
||||
let hasSyncedTranscript: Bool = try SDSDeserialization.required(record.hasSyncedTranscript, name: "hasSyncedTranscript")
|
||||
let isVoiceMessage: Bool = try SDSDeserialization.required(record.isVoiceMessage, name: "isVoiceMessage")
|
||||
@ -929,9 +927,7 @@ extension TSInteraction {
|
||||
let storyTimestamp: NSNumber? = SDSDeserialization.optionalNumericAsNSNumber(record.storyTimestamp, name: "storyTimestamp", conversion: { NSNumber(value: $0) })
|
||||
let wasRemotelyDeleted: Bool = try SDSDeserialization.required(record.wasRemotelyDeleted, name: "wasRemotelyDeleted")
|
||||
let customMessage: String? = record.customMessage
|
||||
guard let groupMetaMessage: TSGroupMetaMessage = record.groupMetaMessage else {
|
||||
throw SDSError.missingRequiredField()
|
||||
}
|
||||
let groupMetaMessage: Int = try SDSDeserialization.required(record.groupMetaMessage, name: "groupMetaMessage")
|
||||
let hasLegacyMessageState: Bool = try SDSDeserialization.required(record.hasLegacyMessageState, name: "hasLegacyMessageState")
|
||||
let hasSyncedTranscript: Bool = try SDSDeserialization.required(record.hasSyncedTranscript, name: "hasSyncedTranscript")
|
||||
let isVoiceMessage: Bool = try SDSDeserialization.required(record.isVoiceMessage, name: "isVoiceMessage")
|
||||
@ -2017,9 +2013,7 @@ extension TSInteraction {
|
||||
let storyTimestamp: NSNumber? = SDSDeserialization.optionalNumericAsNSNumber(record.storyTimestamp, name: "storyTimestamp", conversion: { NSNumber(value: $0) })
|
||||
let wasRemotelyDeleted: Bool = try SDSDeserialization.required(record.wasRemotelyDeleted, name: "wasRemotelyDeleted")
|
||||
let customMessage: String? = record.customMessage
|
||||
guard let groupMetaMessage: TSGroupMetaMessage = record.groupMetaMessage else {
|
||||
throw SDSError.missingRequiredField()
|
||||
}
|
||||
let groupMetaMessage: Int = try SDSDeserialization.required(record.groupMetaMessage, name: "groupMetaMessage")
|
||||
let hasLegacyMessageState: Bool = try SDSDeserialization.required(record.hasLegacyMessageState, name: "hasLegacyMessageState")
|
||||
let hasSyncedTranscript: Bool = try SDSDeserialization.required(record.hasSyncedTranscript, name: "hasSyncedTranscript")
|
||||
let isVoiceMessage: Bool = try SDSDeserialization.required(record.isVoiceMessage, name: "isVoiceMessage")
|
||||
@ -2284,7 +2278,7 @@ extension TSInteraction: DeepCopyable {
|
||||
let storyTimestamp: NSNumber? = modelToCopy.storyTimestamp
|
||||
let wasRemotelyDeleted: Bool = modelToCopy.wasRemotelyDeleted
|
||||
let customMessage: String? = modelToCopy.customMessage
|
||||
let groupMetaMessage: TSGroupMetaMessage = modelToCopy.groupMetaMessage
|
||||
let groupMetaMessage: Int = modelToCopy.groupMetaMessage
|
||||
let hasLegacyMessageState: Bool = modelToCopy.hasLegacyMessageState
|
||||
let hasSyncedTranscript: Bool = modelToCopy.hasSyncedTranscript
|
||||
let isVoiceMessage: Bool = modelToCopy.isVoiceMessage
|
||||
@ -2419,7 +2413,7 @@ extension TSInteraction: DeepCopyable {
|
||||
let storyTimestamp: NSNumber? = modelToCopy.storyTimestamp
|
||||
let wasRemotelyDeleted: Bool = modelToCopy.wasRemotelyDeleted
|
||||
let customMessage: String? = modelToCopy.customMessage
|
||||
let groupMetaMessage: TSGroupMetaMessage = modelToCopy.groupMetaMessage
|
||||
let groupMetaMessage: Int = modelToCopy.groupMetaMessage
|
||||
let hasLegacyMessageState: Bool = modelToCopy.hasLegacyMessageState
|
||||
let hasSyncedTranscript: Bool = modelToCopy.hasSyncedTranscript
|
||||
let isVoiceMessage: Bool = modelToCopy.isVoiceMessage
|
||||
@ -2545,7 +2539,7 @@ extension TSInteraction: DeepCopyable {
|
||||
let storyTimestamp: NSNumber? = modelToCopy.storyTimestamp
|
||||
let wasRemotelyDeleted: Bool = modelToCopy.wasRemotelyDeleted
|
||||
let customMessage: String? = modelToCopy.customMessage
|
||||
let groupMetaMessage: TSGroupMetaMessage = modelToCopy.groupMetaMessage
|
||||
let groupMetaMessage: Int = modelToCopy.groupMetaMessage
|
||||
let hasLegacyMessageState: Bool = modelToCopy.hasLegacyMessageState
|
||||
let hasSyncedTranscript: Bool = modelToCopy.hasSyncedTranscript
|
||||
let isVoiceMessage: Bool = modelToCopy.isVoiceMessage
|
||||
@ -4608,7 +4602,7 @@ extension InteractionRecord {
|
||||
expireStartedAt,
|
||||
expiresAt,
|
||||
expiresInSeconds,
|
||||
groupMetaMessage?.rawValue,
|
||||
groupMetaMessage,
|
||||
hasLegacyMessageState,
|
||||
hasSyncedTranscript,
|
||||
wasNotCreatedLocally,
|
||||
@ -4701,7 +4695,7 @@ extension TSInteractionSerializer {
|
||||
static var expireStartedAtColumn: SDSColumnMetadata { SDSColumnMetadata(columnName: "expireStartedAt", columnType: .int64, isOptional: true) }
|
||||
static var expiresAtColumn: SDSColumnMetadata { SDSColumnMetadata(columnName: "expiresAt", columnType: .int64, isOptional: true) }
|
||||
static var expiresInSecondsColumn: SDSColumnMetadata { SDSColumnMetadata(columnName: "expiresInSeconds", columnType: .int64, isOptional: true) }
|
||||
static var groupMetaMessageColumn: SDSColumnMetadata { SDSColumnMetadata(columnName: "groupMetaMessage", columnType: .int, isOptional: true) }
|
||||
static var groupMetaMessageColumn: SDSColumnMetadata { SDSColumnMetadata(columnName: "groupMetaMessage", columnType: .int64, isOptional: true) }
|
||||
static var hasLegacyMessageStateColumn: SDSColumnMetadata { SDSColumnMetadata(columnName: "hasLegacyMessageState", columnType: .int, isOptional: true) }
|
||||
static var hasSyncedTranscriptColumn: SDSColumnMetadata { SDSColumnMetadata(columnName: "hasSyncedTranscript", columnType: .int, isOptional: true) }
|
||||
static var wasNotCreatedLocallyColumn: SDSColumnMetadata { SDSColumnMetadata(columnName: "wasNotCreatedLocally", columnType: .int, isOptional: true) }
|
||||
@ -5131,7 +5125,7 @@ class TSInteractionSerializer: SDSSerializer {
|
||||
let expireStartedAt: UInt64? = nil
|
||||
let expiresAt: UInt64? = nil
|
||||
let expiresInSeconds: UInt32? = nil
|
||||
let groupMetaMessage: TSGroupMetaMessage? = nil
|
||||
let groupMetaMessage: Int? = nil
|
||||
let hasLegacyMessageState: Bool? = nil
|
||||
let hasSyncedTranscript: Bool? = nil
|
||||
let wasNotCreatedLocally: Bool? = nil
|
||||
|
||||
@ -83,7 +83,7 @@ class TSMessageSerializer: SDSSerializer {
|
||||
let expireStartedAt: UInt64? = model.expireStartedAt
|
||||
let expiresAt: UInt64? = model.expiresAt
|
||||
let expiresInSeconds: UInt32? = model.expiresInSeconds
|
||||
let groupMetaMessage: TSGroupMetaMessage? = nil
|
||||
let groupMetaMessage: Int? = nil
|
||||
let hasLegacyMessageState: Bool? = nil
|
||||
let hasSyncedTranscript: Bool? = nil
|
||||
let wasNotCreatedLocally: Bool? = nil
|
||||
|
||||
@ -8,7 +8,6 @@ public import LibSignalClient
|
||||
@objcMembers
|
||||
public class TSOutgoingMessageBuilder: TSMessageBuilder {
|
||||
public var isVoiceMessage: Bool
|
||||
public var groupMetaMessage: TSGroupMetaMessage
|
||||
public var groupChangeProtoData: Data?
|
||||
public var wasNotCreatedLocally: Bool
|
||||
|
||||
@ -23,7 +22,6 @@ public class TSOutgoingMessageBuilder: TSMessageBuilder {
|
||||
expireTimerVersion: UInt32?,
|
||||
expireStartedAt: UInt64?,
|
||||
isVoiceMessage: Bool,
|
||||
groupMetaMessage: TSGroupMetaMessage,
|
||||
isSmsMessageRestoredFromBackup: Bool,
|
||||
isViewOnceMessage: Bool,
|
||||
isViewOnceComplete: Bool,
|
||||
@ -41,7 +39,6 @@ public class TSOutgoingMessageBuilder: TSMessageBuilder {
|
||||
isPoll: Bool,
|
||||
) {
|
||||
self.isVoiceMessage = isVoiceMessage
|
||||
self.groupMetaMessage = groupMetaMessage
|
||||
self.groupChangeProtoData = groupChangeProtoData
|
||||
self.wasNotCreatedLocally = wasNotCreatedLocally
|
||||
|
||||
@ -81,7 +78,6 @@ public class TSOutgoingMessageBuilder: TSMessageBuilder {
|
||||
expireTimerVersion: UInt32? = nil,
|
||||
expireStartedAt: UInt64? = nil,
|
||||
isVoiceMessage: Bool = false,
|
||||
groupMetaMessage: TSGroupMetaMessage = .unspecified,
|
||||
isSmsMessageRestoredFromBackup: Bool = false,
|
||||
isViewOnceMessage: Bool = false,
|
||||
isViewOnceComplete: Bool = false,
|
||||
@ -108,7 +104,6 @@ public class TSOutgoingMessageBuilder: TSMessageBuilder {
|
||||
expireTimerVersion: expireTimerVersion,
|
||||
expireStartedAt: expireStartedAt,
|
||||
isVoiceMessage: isVoiceMessage,
|
||||
groupMetaMessage: groupMetaMessage,
|
||||
isSmsMessageRestoredFromBackup: isSmsMessageRestoredFromBackup,
|
||||
isViewOnceMessage: isViewOnceMessage,
|
||||
isViewOnceComplete: isViewOnceComplete,
|
||||
|
||||
@ -83,7 +83,7 @@ class TSOutgoingMessageSerializer: SDSSerializer {
|
||||
let expireStartedAt: UInt64? = model.expireStartedAt
|
||||
let expiresAt: UInt64? = model.expiresAt
|
||||
let expiresInSeconds: UInt32? = model.expiresInSeconds
|
||||
let groupMetaMessage: TSGroupMetaMessage? = model.groupMetaMessage
|
||||
let groupMetaMessage: Int? = model.groupMetaMessage
|
||||
let hasLegacyMessageState: Bool? = model.hasLegacyMessageState
|
||||
let hasSyncedTranscript: Bool? = model.hasSyncedTranscript
|
||||
let wasNotCreatedLocally: Bool? = model.wasNotCreatedLocally
|
||||
|
||||
@ -39,15 +39,6 @@ typedef NS_CLOSED_ENUM(NSInteger, TSOutgoingMessageState) {
|
||||
|
||||
NSString *NSStringForOutgoingMessageState(TSOutgoingMessageState value);
|
||||
|
||||
typedef NS_ENUM(NSInteger, TSGroupMetaMessage) {
|
||||
TSGroupMetaMessageUnspecified,
|
||||
TSGroupMetaMessageNew,
|
||||
TSGroupMetaMessageUpdate,
|
||||
TSGroupMetaMessageDeliver,
|
||||
TSGroupMetaMessageQuit,
|
||||
TSGroupMetaMessageRequestInfo,
|
||||
};
|
||||
|
||||
typedef NS_ENUM(NSInteger, EncryptionStyle) {
|
||||
EncryptionStyleWhisper,
|
||||
EncryptionStylePlaintext
|
||||
@ -156,7 +147,7 @@ typedef NS_ENUM(NSInteger, EncryptionStyle) {
|
||||
storyTimestamp:(nullable NSNumber *)storyTimestamp
|
||||
wasRemotelyDeleted:(BOOL)wasRemotelyDeleted
|
||||
customMessage:(nullable NSString *)customMessage
|
||||
groupMetaMessage:(TSGroupMetaMessage)groupMetaMessage
|
||||
groupMetaMessage:(NSInteger)groupMetaMessage
|
||||
hasLegacyMessageState:(BOOL)hasLegacyMessageState
|
||||
hasSyncedTranscript:(BOOL)hasSyncedTranscript
|
||||
isVoiceMessage:(BOOL)isVoiceMessage
|
||||
@ -185,7 +176,7 @@ NS_DESIGNATED_INITIALIZER NS_SWIFT_NAME(init(grdbId:uniqueId:receivedAtTimestamp
|
||||
@property (atomic, readonly, nullable) NSString *customMessage;
|
||||
@property (atomic, nullable) NSString *mostRecentFailureText;
|
||||
|
||||
@property (atomic, readonly) TSGroupMetaMessage groupMetaMessage;
|
||||
@property (atomic, readonly) NSInteger groupMetaMessage;
|
||||
|
||||
@property (nonatomic, readonly) BOOL isVoiceMessage;
|
||||
|
||||
|
||||
@ -48,7 +48,7 @@ NSUInteger const TSOutgoingMessageSchemaVersion = 1;
|
||||
|
||||
@property (atomic) BOOL hasSyncedTranscript;
|
||||
@property (atomic, nullable) NSString *customMessage;
|
||||
@property (atomic) TSGroupMetaMessage groupMetaMessage;
|
||||
@property (atomic) NSInteger groupMetaMessage;
|
||||
@property (nonatomic, readonly) NSUInteger outgoingMessageSchemaVersion;
|
||||
|
||||
@property (nonatomic, readonly) TSOutgoingMessageState legacyMessageState;
|
||||
@ -101,7 +101,7 @@ NSUInteger const TSOutgoingMessageSchemaVersion = 1;
|
||||
storyTimestamp:(nullable NSNumber *)storyTimestamp
|
||||
wasRemotelyDeleted:(BOOL)wasRemotelyDeleted
|
||||
customMessage:(nullable NSString *)customMessage
|
||||
groupMetaMessage:(TSGroupMetaMessage)groupMetaMessage
|
||||
groupMetaMessage:(NSInteger)groupMetaMessage
|
||||
hasLegacyMessageState:(BOOL)hasLegacyMessageState
|
||||
hasSyncedTranscript:(BOOL)hasSyncedTranscript
|
||||
isVoiceMessage:(BOOL)isVoiceMessage
|
||||
@ -372,7 +372,6 @@ NSUInteger const TSOutgoingMessageSchemaVersion = 1;
|
||||
}
|
||||
|
||||
_recipientAddressStates = [recipientAddressStates copy];
|
||||
_groupMetaMessage = [[self class] groupMetaMessageForBuilder:outgoingMessageBuilder];
|
||||
_hasSyncedTranscript = NO;
|
||||
_outgoingMessageSchemaVersion = TSOutgoingMessageSchemaVersion;
|
||||
_changeActionsProtoData = outgoingMessageBuilder.groupChangeProtoData;
|
||||
@ -393,7 +392,6 @@ NSUInteger const TSOutgoingMessageSchemaVersion = 1;
|
||||
}
|
||||
|
||||
_recipientAddressStates = [recipientAddressStates copy];
|
||||
_groupMetaMessage = [[self class] groupMetaMessageForBuilder:outgoingMessageBuilder];
|
||||
_hasSyncedTranscript = NO;
|
||||
_outgoingMessageSchemaVersion = TSOutgoingMessageSchemaVersion;
|
||||
_changeActionsProtoData = outgoingMessageBuilder.groupChangeProtoData;
|
||||
@ -402,33 +400,6 @@ NSUInteger const TSOutgoingMessageSchemaVersion = 1;
|
||||
return self;
|
||||
}
|
||||
|
||||
/// Compute the appropriate "group meta message" for a given message builder.
|
||||
///
|
||||
/// At the time of writing, the "meta message" property appears to be entirely
|
||||
/// unused except for determining if a given `TSOutgoingMessage` should be
|
||||
/// saved. It is, however, part of the `TSInteraction` database schema, so will
|
||||
/// be non-trivial to do away with entirely.
|
||||
///
|
||||
/// - SeeAlso ``shouldBeSaved``
|
||||
+ (TSGroupMetaMessage)groupMetaMessageForBuilder:(TSOutgoingMessageBuilder *)builder
|
||||
{
|
||||
TSThread *thread = builder.thread;
|
||||
TSGroupMetaMessage groupMetaMessage = builder.groupMetaMessage;
|
||||
|
||||
if ([thread isKindOfClass:TSGroupThread.class]) {
|
||||
// Unless specified, we assume group messages are "deliver", or "normal" messages.
|
||||
if (groupMetaMessage == TSGroupMetaMessageUnspecified) {
|
||||
return TSGroupMetaMessageDeliver;
|
||||
} else {
|
||||
return groupMetaMessage;
|
||||
}
|
||||
} else {
|
||||
// Explicit group meta message only makes sense for group threads.
|
||||
OWSAssertDebug(groupMetaMessage == TSGroupMetaMessageUnspecified);
|
||||
return TSGroupMetaMessageUnspecified;
|
||||
}
|
||||
}
|
||||
|
||||
#pragma mark -
|
||||
|
||||
- (TSOutgoingMessageState)messageState
|
||||
@ -459,21 +430,6 @@ NSUInteger const TSOutgoingMessageSchemaVersion = 1;
|
||||
return (self.hasLegacyMessageState && self.messageState == TSOutgoingMessageStateSent);
|
||||
}
|
||||
|
||||
- (BOOL)shouldBeSaved
|
||||
{
|
||||
if (!super.shouldBeSaved) {
|
||||
return NO;
|
||||
}
|
||||
if (self.groupMetaMessage == TSGroupMetaMessageDeliver || self.groupMetaMessage == TSGroupMetaMessageUnspecified) {
|
||||
return YES;
|
||||
}
|
||||
|
||||
// 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.
|
||||
return NO;
|
||||
}
|
||||
|
||||
- (void)updateStoredMessageState
|
||||
{
|
||||
_storedMessageState = self.messageState;
|
||||
|
||||
@ -83,7 +83,7 @@ class TSUnreadIndicatorInteractionSerializer: SDSSerializer {
|
||||
let expireStartedAt: UInt64? = nil
|
||||
let expiresAt: UInt64? = nil
|
||||
let expiresInSeconds: UInt32? = nil
|
||||
let groupMetaMessage: TSGroupMetaMessage? = nil
|
||||
let groupMetaMessage: Int? = nil
|
||||
let hasLegacyMessageState: Bool? = nil
|
||||
let hasSyncedTranscript: Bool? = nil
|
||||
let wasNotCreatedLocally: Bool? = nil
|
||||
|
||||
@ -83,7 +83,7 @@ class TSInvalidIdentityKeyErrorMessageSerializer: SDSSerializer {
|
||||
let expireStartedAt: UInt64? = model.expireStartedAt
|
||||
let expiresAt: UInt64? = model.expiresAt
|
||||
let expiresInSeconds: UInt32? = model.expiresInSeconds
|
||||
let groupMetaMessage: TSGroupMetaMessage? = nil
|
||||
let groupMetaMessage: Int? = nil
|
||||
let hasLegacyMessageState: Bool? = nil
|
||||
let hasSyncedTranscript: Bool? = nil
|
||||
let wasNotCreatedLocally: Bool? = nil
|
||||
|
||||
@ -83,7 +83,7 @@ class TSInvalidIdentityKeyReceivingErrorMessageSerializer: SDSSerializer {
|
||||
let expireStartedAt: UInt64? = model.expireStartedAt
|
||||
let expiresAt: UInt64? = model.expiresAt
|
||||
let expiresInSeconds: UInt32? = model.expiresInSeconds
|
||||
let groupMetaMessage: TSGroupMetaMessage? = nil
|
||||
let groupMetaMessage: Int? = nil
|
||||
let hasLegacyMessageState: Bool? = nil
|
||||
let hasSyncedTranscript: Bool? = nil
|
||||
let wasNotCreatedLocally: Bool? = nil
|
||||
|
||||
@ -83,7 +83,7 @@ class TSInvalidIdentityKeySendingErrorMessageSerializer: SDSSerializer {
|
||||
let expireStartedAt: UInt64? = model.expireStartedAt
|
||||
let expiresAt: UInt64? = model.expiresAt
|
||||
let expiresInSeconds: UInt32? = model.expiresInSeconds
|
||||
let groupMetaMessage: TSGroupMetaMessage? = nil
|
||||
let groupMetaMessage: Int? = nil
|
||||
let hasLegacyMessageState: Bool? = nil
|
||||
let hasSyncedTranscript: Bool? = nil
|
||||
let wasNotCreatedLocally: Bool? = nil
|
||||
|
||||
@ -83,7 +83,7 @@ class OWSAddToContactsOfferMessageSerializer: SDSSerializer {
|
||||
let expireStartedAt: UInt64? = model.expireStartedAt
|
||||
let expiresAt: UInt64? = model.expiresAt
|
||||
let expiresInSeconds: UInt32? = model.expiresInSeconds
|
||||
let groupMetaMessage: TSGroupMetaMessage? = nil
|
||||
let groupMetaMessage: Int? = nil
|
||||
let hasLegacyMessageState: Bool? = nil
|
||||
let hasSyncedTranscript: Bool? = nil
|
||||
let wasNotCreatedLocally: Bool? = nil
|
||||
|
||||
@ -83,7 +83,7 @@ class OWSAddToProfileWhitelistOfferMessageSerializer: SDSSerializer {
|
||||
let expireStartedAt: UInt64? = model.expireStartedAt
|
||||
let expiresAt: UInt64? = model.expiresAt
|
||||
let expiresInSeconds: UInt32? = model.expiresInSeconds
|
||||
let groupMetaMessage: TSGroupMetaMessage? = nil
|
||||
let groupMetaMessage: Int? = nil
|
||||
let hasLegacyMessageState: Bool? = nil
|
||||
let hasSyncedTranscript: Bool? = nil
|
||||
let wasNotCreatedLocally: Bool? = nil
|
||||
|
||||
@ -83,7 +83,7 @@ class OWSRecoverableDecryptionPlaceholderSerializer: SDSSerializer {
|
||||
let expireStartedAt: UInt64? = model.expireStartedAt
|
||||
let expiresAt: UInt64? = model.expiresAt
|
||||
let expiresInSeconds: UInt32? = model.expiresInSeconds
|
||||
let groupMetaMessage: TSGroupMetaMessage? = nil
|
||||
let groupMetaMessage: Int? = nil
|
||||
let hasLegacyMessageState: Bool? = nil
|
||||
let hasSyncedTranscript: Bool? = nil
|
||||
let wasNotCreatedLocally: Bool? = nil
|
||||
|
||||
@ -83,7 +83,7 @@ class OWSUnknownContactBlockOfferMessageSerializer: SDSSerializer {
|
||||
let expireStartedAt: UInt64? = model.expireStartedAt
|
||||
let expiresAt: UInt64? = model.expiresAt
|
||||
let expiresInSeconds: UInt32? = model.expiresInSeconds
|
||||
let groupMetaMessage: TSGroupMetaMessage? = nil
|
||||
let groupMetaMessage: Int? = nil
|
||||
let hasLegacyMessageState: Bool? = nil
|
||||
let hasSyncedTranscript: Bool? = nil
|
||||
let wasNotCreatedLocally: Bool? = nil
|
||||
|
||||
@ -83,7 +83,7 @@ class OWSUnknownProtocolVersionMessageSerializer: SDSSerializer {
|
||||
let expireStartedAt: UInt64? = model.expireStartedAt
|
||||
let expiresAt: UInt64? = model.expiresAt
|
||||
let expiresInSeconds: UInt32? = model.expiresInSeconds
|
||||
let groupMetaMessage: TSGroupMetaMessage? = nil
|
||||
let groupMetaMessage: Int? = nil
|
||||
let hasLegacyMessageState: Bool? = nil
|
||||
let hasSyncedTranscript: Bool? = nil
|
||||
let wasNotCreatedLocally: Bool? = nil
|
||||
|
||||
@ -43,7 +43,6 @@ final class OutgoingGroupUpdateMessage: TSOutgoingMessage {
|
||||
|
||||
init(
|
||||
in thread: TSGroupThread,
|
||||
groupMetaMessage: TSGroupMetaMessage,
|
||||
expiresInSeconds: UInt32 = 0,
|
||||
groupChangeProtoData: Data? = nil,
|
||||
additionalRecipients: some Sequence<ServiceId>,
|
||||
@ -54,7 +53,6 @@ final class OutgoingGroupUpdateMessage: TSOutgoingMessage {
|
||||
let builder: TSOutgoingMessageBuilder = .withDefaultValues(
|
||||
thread: thread,
|
||||
expiresInSeconds: expiresInSeconds,
|
||||
groupMetaMessage: groupMetaMessage,
|
||||
groupChangeProtoData: groupChangeProtoData,
|
||||
)
|
||||
self.isUpdateUrgent = isUrgent
|
||||
|
||||
@ -83,7 +83,7 @@ class OWSIncomingArchivedPaymentMessageSerializer: SDSSerializer {
|
||||
let expireStartedAt: UInt64? = model.expireStartedAt
|
||||
let expiresAt: UInt64? = model.expiresAt
|
||||
let expiresInSeconds: UInt32? = model.expiresInSeconds
|
||||
let groupMetaMessage: TSGroupMetaMessage? = nil
|
||||
let groupMetaMessage: Int? = nil
|
||||
let hasLegacyMessageState: Bool? = nil
|
||||
let hasSyncedTranscript: Bool? = nil
|
||||
let wasNotCreatedLocally: Bool? = nil
|
||||
|
||||
@ -83,7 +83,7 @@ class OWSIncomingPaymentMessageSerializer: SDSSerializer {
|
||||
let expireStartedAt: UInt64? = model.expireStartedAt
|
||||
let expiresAt: UInt64? = model.expiresAt
|
||||
let expiresInSeconds: UInt32? = model.expiresInSeconds
|
||||
let groupMetaMessage: TSGroupMetaMessage? = nil
|
||||
let groupMetaMessage: Int? = nil
|
||||
let hasLegacyMessageState: Bool? = nil
|
||||
let hasSyncedTranscript: Bool? = nil
|
||||
let wasNotCreatedLocally: Bool? = nil
|
||||
|
||||
@ -83,7 +83,7 @@ class OWSOutgoingArchivedPaymentMessageSerializer: SDSSerializer {
|
||||
let expireStartedAt: UInt64? = model.expireStartedAt
|
||||
let expiresAt: UInt64? = model.expiresAt
|
||||
let expiresInSeconds: UInt32? = model.expiresInSeconds
|
||||
let groupMetaMessage: TSGroupMetaMessage? = model.groupMetaMessage
|
||||
let groupMetaMessage: Int? = model.groupMetaMessage
|
||||
let hasLegacyMessageState: Bool? = model.hasLegacyMessageState
|
||||
let hasSyncedTranscript: Bool? = model.hasSyncedTranscript
|
||||
let wasNotCreatedLocally: Bool? = model.wasNotCreatedLocally
|
||||
|
||||
@ -57,7 +57,7 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
storyTimestamp:(nullable NSNumber *)storyTimestamp
|
||||
wasRemotelyDeleted:(BOOL)wasRemotelyDeleted
|
||||
customMessage:(nullable NSString *)customMessage
|
||||
groupMetaMessage:(TSGroupMetaMessage)groupMetaMessage
|
||||
groupMetaMessage:(NSInteger)groupMetaMessage
|
||||
hasLegacyMessageState:(BOOL)hasLegacyMessageState
|
||||
hasSyncedTranscript:(BOOL)hasSyncedTranscript
|
||||
isVoiceMessage:(BOOL)isVoiceMessage
|
||||
@ -121,7 +121,7 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
storyTimestamp:(nullable NSNumber *)storyTimestamp
|
||||
wasRemotelyDeleted:(BOOL)wasRemotelyDeleted
|
||||
customMessage:(nullable NSString *)customMessage
|
||||
groupMetaMessage:(TSGroupMetaMessage)groupMetaMessage
|
||||
groupMetaMessage:(NSInteger)groupMetaMessage
|
||||
hasLegacyMessageState:(BOOL)hasLegacyMessageState
|
||||
hasSyncedTranscript:(BOOL)hasSyncedTranscript
|
||||
isVoiceMessage:(BOOL)isVoiceMessage
|
||||
|
||||
@ -129,7 +129,7 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
storyTimestamp:(nullable NSNumber *)storyTimestamp
|
||||
wasRemotelyDeleted:(BOOL)wasRemotelyDeleted
|
||||
customMessage:(nullable NSString *)customMessage
|
||||
groupMetaMessage:(TSGroupMetaMessage)groupMetaMessage
|
||||
groupMetaMessage:(NSInteger)groupMetaMessage
|
||||
hasLegacyMessageState:(BOOL)hasLegacyMessageState
|
||||
hasSyncedTranscript:(BOOL)hasSyncedTranscript
|
||||
isVoiceMessage:(BOOL)isVoiceMessage
|
||||
|
||||
@ -83,7 +83,7 @@ class OWSOutgoingPaymentMessageSerializer: SDSSerializer {
|
||||
let expireStartedAt: UInt64? = model.expireStartedAt
|
||||
let expiresAt: UInt64? = model.expiresAt
|
||||
let expiresInSeconds: UInt32? = model.expiresInSeconds
|
||||
let groupMetaMessage: TSGroupMetaMessage? = model.groupMetaMessage
|
||||
let groupMetaMessage: Int? = model.groupMetaMessage
|
||||
let hasLegacyMessageState: Bool? = model.hasLegacyMessageState
|
||||
let hasSyncedTranscript: Bool? = model.hasSyncedTranscript
|
||||
let wasNotCreatedLocally: Bool? = model.wasNotCreatedLocally
|
||||
|
||||
@ -58,7 +58,7 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
storyTimestamp:(nullable NSNumber *)storyTimestamp
|
||||
wasRemotelyDeleted:(BOOL)wasRemotelyDeleted
|
||||
customMessage:(nullable NSString *)customMessage
|
||||
groupMetaMessage:(TSGroupMetaMessage)groupMetaMessage
|
||||
groupMetaMessage:(NSInteger)groupMetaMessage
|
||||
hasLegacyMessageState:(BOOL)hasLegacyMessageState
|
||||
hasSyncedTranscript:(BOOL)hasSyncedTranscript
|
||||
isVoiceMessage:(BOOL)isVoiceMessage
|
||||
@ -111,7 +111,7 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
storyTimestamp:(nullable NSNumber *)storyTimestamp
|
||||
wasRemotelyDeleted:(BOOL)wasRemotelyDeleted
|
||||
customMessage:(nullable NSString *)customMessage
|
||||
groupMetaMessage:(TSGroupMetaMessage)groupMetaMessage
|
||||
groupMetaMessage:(NSInteger)groupMetaMessage
|
||||
hasLegacyMessageState:(BOOL)hasLegacyMessageState
|
||||
hasSyncedTranscript:(BOOL)hasSyncedTranscript
|
||||
isVoiceMessage:(BOOL)isVoiceMessage
|
||||
|
||||
@ -131,7 +131,7 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
storyTimestamp:(nullable NSNumber *)storyTimestamp
|
||||
wasRemotelyDeleted:(BOOL)wasRemotelyDeleted
|
||||
customMessage:(nullable NSString *)customMessage
|
||||
groupMetaMessage:(TSGroupMetaMessage)groupMetaMessage
|
||||
groupMetaMessage:(NSInteger)groupMetaMessage
|
||||
hasLegacyMessageState:(BOOL)hasLegacyMessageState
|
||||
hasSyncedTranscript:(BOOL)hasSyncedTranscript
|
||||
isVoiceMessage:(BOOL)isVoiceMessage
|
||||
|
||||
@ -132,7 +132,6 @@ public class OutgoingMessageFactory: Factory {
|
||||
expireTimerVersion: expireTimerVersionBuilder(),
|
||||
expireStartedAt: expireStartedAtBuilder(),
|
||||
isVoiceMessage: isVoiceMessageBuilder(),
|
||||
groupMetaMessage: groupMetaMessageBuilder(),
|
||||
isSmsMessageRestoredFromBackup: isSmsMessageRestoredFromBackupBuilder(),
|
||||
isViewOnceMessage: isViewOnceMessageBuilder(),
|
||||
isViewOnceComplete: false,
|
||||
@ -210,10 +209,6 @@ public class OutgoingMessageFactory: Factory {
|
||||
return false
|
||||
}
|
||||
|
||||
public var groupMetaMessageBuilder: () -> TSGroupMetaMessage = {
|
||||
return .unspecified
|
||||
}
|
||||
|
||||
public var isSmsMessageRestoredFromBackupBuilder: () -> Bool = {
|
||||
return false
|
||||
}
|
||||
|
||||
@ -10,7 +10,6 @@ extension RPRecentCallType: Codable { }
|
||||
extension TSErrorMessageType: Codable { }
|
||||
extension TSInfoMessageType: Codable { }
|
||||
extension OWSVerificationState: Codable { }
|
||||
extension TSGroupMetaMessage: Codable { }
|
||||
extension SDSRecordType: Codable { }
|
||||
extension TSRecentCallOfferType: Codable { }
|
||||
extension TSPaymentCurrency: Codable { }
|
||||
|
||||
@ -29,39 +29,10 @@ class OutgoingGroupUpdateMessageTest: SSKBaseTest {
|
||||
)
|
||||
}
|
||||
|
||||
func testShouldBeSaved() throws {
|
||||
// TODO: Fix this test.
|
||||
try throwSkipForCompileOnlyTest()
|
||||
|
||||
let thread = try write { try createThread(transaction: $0) }
|
||||
read { transaction in
|
||||
let metaMessages: [TSGroupMetaMessage: Bool] = [
|
||||
.unspecified: true,
|
||||
.new: false,
|
||||
.update: false,
|
||||
.deliver: true,
|
||||
.quit: false,
|
||||
.requestInfo: false,
|
||||
]
|
||||
for (groupMetaMessage, expected) in metaMessages {
|
||||
let message = OutgoingGroupUpdateMessage(
|
||||
in: thread,
|
||||
groupMetaMessage: groupMetaMessage,
|
||||
expiresInSeconds: 60,
|
||||
additionalRecipients: [],
|
||||
transaction: transaction,
|
||||
)
|
||||
let actual = message.shouldBeSaved
|
||||
XCTAssertEqual(actual, expected, "\(groupMetaMessage.rawValue)")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func testIsUrgent() throws {
|
||||
let message = try write { transaction -> OutgoingGroupUpdateMessage in
|
||||
OutgoingGroupUpdateMessage(
|
||||
in: try createThread(transaction: transaction),
|
||||
groupMetaMessage: .update,
|
||||
expiresInSeconds: 60,
|
||||
additionalRecipients: [],
|
||||
transaction: transaction,
|
||||
@ -72,7 +43,6 @@ class OutgoingGroupUpdateMessageTest: SSKBaseTest {
|
||||
let urgentMessage = try write { transaction -> OutgoingGroupUpdateMessage in
|
||||
OutgoingGroupUpdateMessage(
|
||||
in: try createThread(transaction: transaction),
|
||||
groupMetaMessage: .update,
|
||||
expiresInSeconds: 60,
|
||||
additionalRecipients: [],
|
||||
isUrgent: true,
|
||||
|
||||
Loading…
Reference in New Issue
Block a user