Remove TSGroupMetaMessage

This commit is contained in:
Max Radermacher 2026-01-26 12:05:26 -06:00 committed by GitHub
parent 9120db61de
commit c4b902f854
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
38 changed files with 44 additions and 156 deletions

View File

@ -568,7 +568,6 @@ extension BackupArchiveTSOutgoingMessageArchiver: BackupArchive.TSMessageEditHis
expireTimerVersion: nil,
expireStartedAt: expireStartDate,
isVoiceMessage: false,
groupMetaMessage: .unspecified,
isSmsMessageRestoredFromBackup: chatItem.sms,
isViewOnceMessage: false,
isViewOnceComplete: false,

View File

@ -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

View File

@ -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

View File

@ -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,

View File

@ -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

View File

@ -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,

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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,

View File

@ -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

View File

@ -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;

View File

@ -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;

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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
}

View File

@ -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 { }

View File

@ -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,