From 9f2a15925a6806aa165b53d65735271b8fabfbe2 Mon Sep 17 00:00:00 2001 From: Matthew Chen Date: Tue, 2 Oct 2018 09:02:08 -0400 Subject: [PATCH] Add new envelope properties for UD. --- Signal/src/Jobs/MessageFetcherJob.swift | 6 + SignalServiceKit/protobuf/SignalService.proto | 29 +- .../Messages/Interactions/TSIncomingMessage.h | 9 + .../Messages/Interactions/TSIncomingMessage.m | 26 ++ .../src/Messages/OWSMessageManager.m | 7 + .../src/Protos/Generated/SSKProto.swift | 28 ++ .../Protos/Generated/SignalService.pb.swift | 384 ++++++++++-------- 7 files changed, 302 insertions(+), 187 deletions(-) diff --git a/Signal/src/Jobs/MessageFetcherJob.swift b/Signal/src/Jobs/MessageFetcherJob.swift index 50bbb8619..bfc80def0 100644 --- a/Signal/src/Jobs/MessageFetcherJob.swift +++ b/Signal/src/Jobs/MessageFetcherJob.swift @@ -151,6 +151,12 @@ public class MessageFetcherJob: NSObject { if let content = try params.optionalBase64EncodedData(key: "content") { builder.setContent(content) } + if let serverTimestamp: UInt64 = try params.optional(key: "serverTimestamp") { + builder.setServerTimestamp(serverTimestamp) + } + if let serverGuid: String = try params.optional(key: "guid") { + builder.setServerGuid(serverGuid) + } return try builder.build() } catch { diff --git a/SignalServiceKit/protobuf/SignalService.proto b/SignalServiceKit/protobuf/SignalService.proto index 29fc87d09..3d6d0471a 100644 --- a/SignalServiceKit/protobuf/SignalService.proto +++ b/SignalServiceKit/protobuf/SignalService.proto @@ -16,24 +16,29 @@ option java_outer_classname = "SignalServiceProtos"; message Envelope { enum Type { - UNKNOWN = 0; - CIPHERTEXT = 1; - KEY_EXCHANGE = 2; - PREKEY_BUNDLE = 3; - RECEIPT = 5; + UNKNOWN = 0; + CIPHERTEXT = 1; + KEY_EXCHANGE = 2; + PREKEY_BUNDLE = 3; + RECEIPT = 5; + UNIDENTIFIED_SENDER = 6; } // @required - optional Type type = 1; + optional Type type = 1; // @required - optional string source = 2; + optional string source = 2; // @required - optional uint32 sourceDevice = 7; - optional string relay = 3; + optional uint32 sourceDevice = 7; + optional string relay = 3; // @required - optional uint64 timestamp = 5; - optional bytes legacyMessage = 6; // Contains an encrypted DataMessage - optional bytes content = 8; // Contains an encrypted Content + optional uint64 timestamp = 5; + optional bytes legacyMessage = 6; // Contains an encrypted DataMessage + optional bytes content = 8; // Contains an encrypted Content + // We may eventually want to make this required. + optional string serverGuid = 9; + // We may eventually want to make this required. + optional uint64 serverTimestamp = 10; } message Content { diff --git a/SignalServiceKit/src/Messages/Interactions/TSIncomingMessage.h b/SignalServiceKit/src/Messages/Interactions/TSIncomingMessage.h index 7d6529270..4a355deb4 100644 --- a/SignalServiceKit/src/Messages/Interactions/TSIncomingMessage.h +++ b/SignalServiceKit/src/Messages/Interactions/TSIncomingMessage.h @@ -12,6 +12,9 @@ NS_ASSUME_NONNULL_BEGIN @interface TSIncomingMessage : TSMessage +@property (nonatomic, readonly, nullable) NSNumber *serverTimestamp; +@property (nonatomic, readonly, nullable) NSString *serverGuid; + - (instancetype)initMessageWithTimestamp:(uint64_t)timestamp inThread:(nullable TSThread *)thread messageBody:(nullable NSString *)body @@ -80,6 +83,12 @@ NS_ASSUME_NONNULL_BEGIN - (void)markAsReadNowWithSendReadReceipt:(BOOL)sendReadReceipt transaction:(YapDatabaseReadWriteTransaction *)transaction; +#pragma mark - Update With... Methods + +- (void)updateWithServerTimestamp:(uint64_t)serverTimestamp transaction:(YapDatabaseReadWriteTransaction *)transaction; + +- (void)updateWithServerGuid:(NSString *)serverGuid transaction:(YapDatabaseReadWriteTransaction *)transaction; + @end NS_ASSUME_NONNULL_END diff --git a/SignalServiceKit/src/Messages/Interactions/TSIncomingMessage.m b/SignalServiceKit/src/Messages/Interactions/TSIncomingMessage.m index 7b0ab6639..0185709f8 100644 --- a/SignalServiceKit/src/Messages/Interactions/TSIncomingMessage.m +++ b/SignalServiceKit/src/Messages/Interactions/TSIncomingMessage.m @@ -20,6 +20,9 @@ NS_ASSUME_NONNULL_BEGIN @property (nonatomic, getter=wasRead) BOOL read; +@property (nonatomic, nullable) NSNumber *serverTimestamp; +@property (nonatomic, nullable) NSString *serverGuid; + @end #pragma mark - @@ -180,6 +183,29 @@ NS_ASSUME_NONNULL_BEGIN } } + +#pragma mark - Update With... Methods + +- (void)updateWithServerTimestamp:(uint64_t)serverTimestamp transaction:(YapDatabaseReadWriteTransaction *)transaction +{ + OWSAssertDebug(serverTimestamp > 0); + + [self applyChangeToSelfAndLatestCopy:transaction + changeBlock:^(TSIncomingMessage *message) { + message.serverTimestamp = @(serverTimestamp); + }]; +} + +- (void)updateWithServerGuid:(NSString *)serverGuid transaction:(YapDatabaseReadWriteTransaction *)transaction +{ + OWSAssertDebug(serverGuid.length > 0); + + [self applyChangeToSelfAndLatestCopy:transaction + changeBlock:^(TSIncomingMessage *message) { + message.serverGuid = serverGuid; + }]; +} + @end NS_ASSUME_NONNULL_END diff --git a/SignalServiceKit/src/Messages/OWSMessageManager.m b/SignalServiceKit/src/Messages/OWSMessageManager.m index 2d167dffb..5576cfd98 100644 --- a/SignalServiceKit/src/Messages/OWSMessageManager.m +++ b/SignalServiceKit/src/Messages/OWSMessageManager.m @@ -1302,6 +1302,13 @@ NS_ASSUME_NONNULL_BEGIN [incomingMessage markAsReadAtTimestamp:envelope.timestamp sendReadReceipt:NO transaction:transaction]; } + if (envelope.hasServerGuid) { + [incomingMessage updateWithServerGuid:envelope.serverGuid transaction:transaction]; + } + if (envelope.hasServerTimestamp) { + [incomingMessage updateWithServerTimestamp:envelope.serverTimestamp transaction:transaction]; + } + TSQuotedMessage *_Nullable quotedMessage = incomingMessage.quotedMessage; if (quotedMessage && quotedMessage.thumbnailAttachmentPointerId) { // We weren't able to derive a local thumbnail, so we'll fetch the referenced attachment. diff --git a/SignalServiceKit/src/Protos/Generated/SSKProto.swift b/SignalServiceKit/src/Protos/Generated/SSKProto.swift index b4ef7763c..535efa256 100644 --- a/SignalServiceKit/src/Protos/Generated/SSKProto.swift +++ b/SignalServiceKit/src/Protos/Generated/SSKProto.swift @@ -22,6 +22,7 @@ public enum SSKProtoError: Error { case keyExchange = 2 case prekeyBundle = 3 case receipt = 5 + case unidentifiedSender = 6 } private class func SSKProtoEnvelopeTypeWrap(_ value: SignalServiceProtos_Envelope.TypeEnum) -> SSKProtoEnvelopeType { @@ -31,6 +32,7 @@ public enum SSKProtoError: Error { case .keyExchange: return .keyExchange case .prekeyBundle: return .prekeyBundle case .receipt: return .receipt + case .unidentifiedSender: return .unidentifiedSender } } @@ -41,6 +43,7 @@ public enum SSKProtoError: Error { case .keyExchange: return .keyExchange case .prekeyBundle: return .prekeyBundle case .receipt: return .receipt + case .unidentifiedSender: return .unidentifiedSender } } @@ -93,6 +96,14 @@ public enum SSKProtoError: Error { proto.content = valueParam } + @objc public func setServerGuid(_ valueParam: String) { + proto.serverGuid = valueParam + } + + @objc public func setServerTimestamp(_ valueParam: UInt64) { + proto.serverTimestamp = valueParam + } + @objc public func build() throws -> SSKProtoEnvelope { return try SSKProtoEnvelope.parseProto(proto) } @@ -142,6 +153,23 @@ public enum SSKProtoError: Error { return proto.hasContent } + @objc public var serverGuid: String? { + guard proto.hasServerGuid else { + return nil + } + return proto.serverGuid + } + @objc public var hasServerGuid: Bool { + return proto.hasServerGuid + } + + @objc public var serverTimestamp: UInt64 { + return proto.serverTimestamp + } + @objc public var hasServerTimestamp: Bool { + return proto.hasServerTimestamp + } + private init(proto: SignalServiceProtos_Envelope, type: SSKProtoEnvelopeType, source: String, diff --git a/SignalServiceKit/src/Protos/Generated/SignalService.pb.swift b/SignalServiceKit/src/Protos/Generated/SignalService.pb.swift index 613e19f40..2b127984a 100644 --- a/SignalServiceKit/src/Protos/Generated/SignalService.pb.swift +++ b/SignalServiceKit/src/Protos/Generated/SignalService.pb.swift @@ -1,10 +1,6 @@ -// DO NOT EDIT. // -// Generated by the Swift generator plugin for the protocol buffer compiler. -// Source: SignalService.proto +// Copyright (c) 2018 Open Whisper Systems. All rights reserved. // -// For information on using the generated types, please see the documenation: -// https://github.com/apple/swift-protobuf/ //* // Copyright (C) 2014-2016 Open Whisper Systems @@ -22,7 +18,7 @@ import SwiftProtobuf // incompatible with the version of SwiftProtobuf to which you are linking. // Please ensure that your are building against the same version of the API // that was used to generate this file. -fileprivate struct _GeneratedWithProtocGenSwiftVersion: SwiftProtobuf.ProtobufAPIVersionCheck { +private struct _GeneratedWithProtocGenSwiftVersion: SwiftProtobuf.ProtobufAPIVersionCheck { struct _2: SwiftProtobuf.ProtobufAPIVersion_2 {} typealias Version = _2 } @@ -101,6 +97,26 @@ struct SignalServiceProtos_Envelope { /// Clears the value of `content`. Subsequent reads from it will return its default value. mutating func clearContent() {self._content = nil} + /// We may eventually want to make this required. + var serverGuid: String { + get {return _serverGuid ?? String()} + set {_serverGuid = newValue} + } + /// Returns true if `serverGuid` has been explicitly set. + var hasServerGuid: Bool {return self._serverGuid != nil} + /// Clears the value of `serverGuid`. Subsequent reads from it will return its default value. + mutating func clearServerGuid() {self._serverGuid = nil} + + /// We may eventually want to make this required. + var serverTimestamp: UInt64 { + get {return _serverTimestamp ?? 0} + set {_serverTimestamp = newValue} + } + /// Returns true if `serverTimestamp` has been explicitly set. + var hasServerTimestamp: Bool {return self._serverTimestamp != nil} + /// Clears the value of `serverTimestamp`. Subsequent reads from it will return its default value. + mutating func clearServerTimestamp() {self._serverTimestamp = nil} + var unknownFields = SwiftProtobuf.UnknownStorage() enum TypeEnum: SwiftProtobuf.Enum { @@ -110,6 +126,7 @@ struct SignalServiceProtos_Envelope { case keyExchange // = 2 case prekeyBundle // = 3 case receipt // = 5 + case unidentifiedSender // = 6 init() { self = .unknown @@ -122,6 +139,7 @@ struct SignalServiceProtos_Envelope { case 2: self = .keyExchange case 3: self = .prekeyBundle case 5: self = .receipt + case 6: self = .unidentifiedSender default: return nil } } @@ -133,6 +151,7 @@ struct SignalServiceProtos_Envelope { case .keyExchange: return 2 case .prekeyBundle: return 3 case .receipt: return 5 + case .unidentifiedSender: return 6 } } @@ -140,13 +159,15 @@ struct SignalServiceProtos_Envelope { init() {} - fileprivate var _type: SignalServiceProtos_Envelope.TypeEnum? = nil - fileprivate var _source: String? = nil - fileprivate var _sourceDevice: UInt32? = nil - fileprivate var _relay: String? = nil - fileprivate var _timestamp: UInt64? = nil - fileprivate var _legacyMessage: Data? = nil - fileprivate var _content: Data? = nil + fileprivate var _type: SignalServiceProtos_Envelope.TypeEnum? + fileprivate var _source: String? + fileprivate var _sourceDevice: UInt32? + fileprivate var _relay: String? + fileprivate var _timestamp: UInt64? + fileprivate var _legacyMessage: Data? + fileprivate var _content: Data? + fileprivate var _serverGuid: String? + fileprivate var _serverTimestamp: UInt64? } #if swift(>=4.2) @@ -304,8 +325,8 @@ struct SignalServiceProtos_CallMessage { init() {} - fileprivate var _id: UInt64? = nil - fileprivate var _sessionDescription: String? = nil + fileprivate var _id: UInt64? + fileprivate var _sessionDescription: String? } struct Answer { @@ -339,8 +360,8 @@ struct SignalServiceProtos_CallMessage { init() {} - fileprivate var _id: UInt64? = nil - fileprivate var _sessionDescription: String? = nil + fileprivate var _id: UInt64? + fileprivate var _sessionDescription: String? } struct IceUpdate { @@ -392,10 +413,10 @@ struct SignalServiceProtos_CallMessage { init() {} - fileprivate var _id: UInt64? = nil - fileprivate var _sdpMid: String? = nil - fileprivate var _sdpMlineIndex: UInt32? = nil - fileprivate var _sdp: String? = nil + fileprivate var _id: UInt64? + fileprivate var _sdpMid: String? + fileprivate var _sdpMlineIndex: UInt32? + fileprivate var _sdp: String? } struct Busy { @@ -417,7 +438,7 @@ struct SignalServiceProtos_CallMessage { init() {} - fileprivate var _id: UInt64? = nil + fileprivate var _id: UInt64? } struct Hangup { @@ -439,7 +460,7 @@ struct SignalServiceProtos_CallMessage { init() {} - fileprivate var _id: UInt64? = nil + fileprivate var _id: UInt64? } init() {} @@ -667,9 +688,9 @@ struct SignalServiceProtos_DataMessage { init() {} - fileprivate var _id: UInt64? = nil - fileprivate var _author: String? = nil - fileprivate var _text: String? = nil + fileprivate var _id: UInt64? + fileprivate var _author: String? + fileprivate var _text: String? } struct Contact { @@ -784,12 +805,12 @@ struct SignalServiceProtos_DataMessage { init() {} - fileprivate var _givenName: String? = nil - fileprivate var _familyName: String? = nil - fileprivate var _prefix: String? = nil - fileprivate var _suffix: String? = nil - fileprivate var _middleName: String? = nil - fileprivate var _displayName: String? = nil + fileprivate var _givenName: String? + fileprivate var _familyName: String? + fileprivate var _prefix: String? + fileprivate var _suffix: String? + fileprivate var _middleName: String? + fileprivate var _displayName: String? } struct Phone { @@ -860,9 +881,9 @@ struct SignalServiceProtos_DataMessage { init() {} - fileprivate var _value: String? = nil - fileprivate var _type: SignalServiceProtos_DataMessage.Contact.Phone.TypeEnum? = nil - fileprivate var _label: String? = nil + fileprivate var _value: String? + fileprivate var _type: SignalServiceProtos_DataMessage.Contact.Phone.TypeEnum? + fileprivate var _label: String? } struct Email { @@ -933,9 +954,9 @@ struct SignalServiceProtos_DataMessage { init() {} - fileprivate var _value: String? = nil - fileprivate var _type: SignalServiceProtos_DataMessage.Contact.Email.TypeEnum? = nil - fileprivate var _label: String? = nil + fileprivate var _value: String? + fileprivate var _type: SignalServiceProtos_DataMessage.Contact.Email.TypeEnum? + fileprivate var _label: String? } struct PostalAddress { @@ -1057,15 +1078,15 @@ struct SignalServiceProtos_DataMessage { init() {} - fileprivate var _type: SignalServiceProtos_DataMessage.Contact.PostalAddress.TypeEnum? = nil - fileprivate var _label: String? = nil - fileprivate var _street: String? = nil - fileprivate var _pobox: String? = nil - fileprivate var _neighborhood: String? = nil - fileprivate var _city: String? = nil - fileprivate var _region: String? = nil - fileprivate var _postcode: String? = nil - fileprivate var _country: String? = nil + fileprivate var _type: SignalServiceProtos_DataMessage.Contact.PostalAddress.TypeEnum? + fileprivate var _label: String? + fileprivate var _street: String? + fileprivate var _pobox: String? + fileprivate var _neighborhood: String? + fileprivate var _city: String? + fileprivate var _region: String? + fileprivate var _postcode: String? + fileprivate var _country: String? } struct Avatar { @@ -1134,7 +1155,7 @@ struct SignalServiceProtos_NullMessage { init() {} - fileprivate var _padding: Data? = nil + fileprivate var _padding: Data? } struct SignalServiceProtos_ReceiptMessage { @@ -1184,7 +1205,7 @@ struct SignalServiceProtos_ReceiptMessage { init() {} - fileprivate var _type: SignalServiceProtos_ReceiptMessage.TypeEnum? = nil + fileprivate var _type: SignalServiceProtos_ReceiptMessage.TypeEnum? } #if swift(>=4.2) @@ -1270,10 +1291,10 @@ struct SignalServiceProtos_Verified { init() {} - fileprivate var _destination: String? = nil - fileprivate var _identityKey: Data? = nil - fileprivate var _state: SignalServiceProtos_Verified.State? = nil - fileprivate var _nullMessage: Data? = nil + fileprivate var _destination: String? + fileprivate var _identityKey: Data? + fileprivate var _state: SignalServiceProtos_Verified.State? + fileprivate var _nullMessage: Data? } #if swift(>=4.2) @@ -1537,7 +1558,7 @@ struct SignalServiceProtos_SyncMessage { init() {} - fileprivate var _type: SignalServiceProtos_SyncMessage.Request.TypeEnum? = nil + fileprivate var _type: SignalServiceProtos_SyncMessage.Request.TypeEnum? } struct Read { @@ -1569,8 +1590,8 @@ struct SignalServiceProtos_SyncMessage { init() {} - fileprivate var _sender: String? = nil - fileprivate var _timestamp: UInt64? = nil + fileprivate var _sender: String? + fileprivate var _timestamp: UInt64? } struct Configuration { @@ -1591,7 +1612,7 @@ struct SignalServiceProtos_SyncMessage { init() {} - fileprivate var _readReceipts: Bool? = nil + fileprivate var _readReceipts: Bool? } init() {} @@ -1722,16 +1743,16 @@ struct SignalServiceProtos_AttachmentPointer { init() {} - fileprivate var _id: UInt64? = nil - fileprivate var _contentType: String? = nil - fileprivate var _key: Data? = nil - fileprivate var _size: UInt32? = nil - fileprivate var _thumbnail: Data? = nil - fileprivate var _digest: Data? = nil - fileprivate var _fileName: String? = nil - fileprivate var _flags: UInt32? = nil - fileprivate var _width: UInt32? = nil - fileprivate var _height: UInt32? = nil + fileprivate var _id: UInt64? + fileprivate var _contentType: String? + fileprivate var _key: Data? + fileprivate var _size: UInt32? + fileprivate var _thumbnail: Data? + fileprivate var _digest: Data? + fileprivate var _fileName: String? + fileprivate var _flags: UInt32? + fileprivate var _width: UInt32? + fileprivate var _height: UInt32? } #if swift(>=4.2) @@ -1947,8 +1968,8 @@ struct SignalServiceProtos_ContactDetails { init() {} - fileprivate var _contentType: String? = nil - fileprivate var _length: UInt32? = nil + fileprivate var _contentType: String? + fileprivate var _length: UInt32? } init() {} @@ -2059,8 +2080,8 @@ struct SignalServiceProtos_GroupDetails { init() {} - fileprivate var _contentType: String? = nil - fileprivate var _length: UInt32? = nil + fileprivate var _contentType: String? + fileprivate var _length: UInt32? } init() {} @@ -2070,7 +2091,7 @@ struct SignalServiceProtos_GroupDetails { // MARK: - Code below here is support for the SwiftProtobuf runtime. -fileprivate let _protobuf_package = "SignalServiceProtos" +private let _protobuf_package = "SignalServiceProtos" extension SignalServiceProtos_Envelope: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { static let protoMessageName: String = _protobuf_package + ".Envelope" @@ -2082,6 +2103,8 @@ extension SignalServiceProtos_Envelope: SwiftProtobuf.Message, SwiftProtobuf._Me 5: .same(proto: "timestamp"), 6: .same(proto: "legacyMessage"), 8: .same(proto: "content"), + 9: .same(proto: "serverGuid"), + 10: .same(proto: "serverTimestamp") ] mutating func decodeMessage(decoder: inout D) throws { @@ -2094,6 +2117,8 @@ extension SignalServiceProtos_Envelope: SwiftProtobuf.Message, SwiftProtobuf._Me case 6: try decoder.decodeSingularBytesField(value: &self._legacyMessage) case 7: try decoder.decodeSingularUInt32Field(value: &self._sourceDevice) case 8: try decoder.decodeSingularBytesField(value: &self._content) + case 9: try decoder.decodeSingularStringField(value: &self._serverGuid) + case 10: try decoder.decodeSingularUInt64Field(value: &self._serverTimestamp) default: break } } @@ -2121,6 +2146,12 @@ extension SignalServiceProtos_Envelope: SwiftProtobuf.Message, SwiftProtobuf._Me if let v = self._content { try visitor.visitSingularBytesField(value: v, fieldNumber: 8) } + if let v = self._serverGuid { + try visitor.visitSingularStringField(value: v, fieldNumber: 9) + } + if let v = self._serverTimestamp { + try visitor.visitSingularUInt64Field(value: v, fieldNumber: 10) + } try unknownFields.traverse(visitor: &visitor) } @@ -2132,6 +2163,8 @@ extension SignalServiceProtos_Envelope: SwiftProtobuf.Message, SwiftProtobuf._Me if self._timestamp != other._timestamp {return false} if self._legacyMessage != other._legacyMessage {return false} if self._content != other._content {return false} + if self._serverGuid != other._serverGuid {return false} + if self._serverTimestamp != other._serverTimestamp {return false} if unknownFields != other.unknownFields {return false} return true } @@ -2144,6 +2177,7 @@ extension SignalServiceProtos_Envelope.TypeEnum: SwiftProtobuf._ProtoNameProvidi 2: .same(proto: "KEY_EXCHANGE"), 3: .same(proto: "PREKEY_BUNDLE"), 5: .same(proto: "RECEIPT"), + 6: .same(proto: "UNIDENTIFIED_SENDER") ] } @@ -2154,15 +2188,15 @@ extension SignalServiceProtos_Content: SwiftProtobuf.Message, SwiftProtobuf._Mes 2: .same(proto: "syncMessage"), 3: .same(proto: "callMessage"), 4: .same(proto: "nullMessage"), - 5: .same(proto: "receiptMessage"), + 5: .same(proto: "receiptMessage") ] fileprivate class _StorageClass { - var _dataMessage: SignalServiceProtos_DataMessage? = nil - var _syncMessage: SignalServiceProtos_SyncMessage? = nil - var _callMessage: SignalServiceProtos_CallMessage? = nil - var _nullMessage: SignalServiceProtos_NullMessage? = nil - var _receiptMessage: SignalServiceProtos_ReceiptMessage? = nil + var _dataMessage: SignalServiceProtos_DataMessage? + var _syncMessage: SignalServiceProtos_SyncMessage? + var _callMessage: SignalServiceProtos_CallMessage? + var _nullMessage: SignalServiceProtos_NullMessage? + var _receiptMessage: SignalServiceProtos_ReceiptMessage? static let defaultInstance = _StorageClass() @@ -2248,16 +2282,16 @@ extension SignalServiceProtos_CallMessage: SwiftProtobuf.Message, SwiftProtobuf. 3: .same(proto: "iceUpdate"), 4: .same(proto: "hangup"), 5: .same(proto: "busy"), - 6: .same(proto: "profileKey"), + 6: .same(proto: "profileKey") ] fileprivate class _StorageClass { - var _offer: SignalServiceProtos_CallMessage.Offer? = nil - var _answer: SignalServiceProtos_CallMessage.Answer? = nil + var _offer: SignalServiceProtos_CallMessage.Offer? + var _answer: SignalServiceProtos_CallMessage.Answer? var _iceUpdate: [SignalServiceProtos_CallMessage.IceUpdate] = [] - var _hangup: SignalServiceProtos_CallMessage.Hangup? = nil - var _busy: SignalServiceProtos_CallMessage.Busy? = nil - var _profileKey: Data? = nil + var _hangup: SignalServiceProtos_CallMessage.Hangup? + var _busy: SignalServiceProtos_CallMessage.Busy? + var _profileKey: Data? static let defaultInstance = _StorageClass() @@ -2345,7 +2379,7 @@ extension SignalServiceProtos_CallMessage.Offer: SwiftProtobuf.Message, SwiftPro static let protoMessageName: String = SignalServiceProtos_CallMessage.protoMessageName + ".Offer" static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ 1: .same(proto: "id"), - 2: .same(proto: "sessionDescription"), + 2: .same(proto: "sessionDescription") ] mutating func decodeMessage(decoder: inout D) throws { @@ -2380,7 +2414,7 @@ extension SignalServiceProtos_CallMessage.Answer: SwiftProtobuf.Message, SwiftPr static let protoMessageName: String = SignalServiceProtos_CallMessage.protoMessageName + ".Answer" static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ 1: .same(proto: "id"), - 2: .same(proto: "sessionDescription"), + 2: .same(proto: "sessionDescription") ] mutating func decodeMessage(decoder: inout D) throws { @@ -2417,7 +2451,7 @@ extension SignalServiceProtos_CallMessage.IceUpdate: SwiftProtobuf.Message, Swif 1: .same(proto: "id"), 2: .same(proto: "sdpMid"), 3: .same(proto: "sdpMLineIndex"), - 4: .same(proto: "sdp"), + 4: .same(proto: "sdp") ] mutating func decodeMessage(decoder: inout D) throws { @@ -2461,7 +2495,7 @@ extension SignalServiceProtos_CallMessage.IceUpdate: SwiftProtobuf.Message, Swif extension SignalServiceProtos_CallMessage.Busy: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { static let protoMessageName: String = SignalServiceProtos_CallMessage.protoMessageName + ".Busy" static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ - 1: .same(proto: "id"), + 1: .same(proto: "id") ] mutating func decodeMessage(decoder: inout D) throws { @@ -2490,7 +2524,7 @@ extension SignalServiceProtos_CallMessage.Busy: SwiftProtobuf.Message, SwiftProt extension SignalServiceProtos_CallMessage.Hangup: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { static let protoMessageName: String = SignalServiceProtos_CallMessage.protoMessageName + ".Hangup" static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ - 1: .same(proto: "id"), + 1: .same(proto: "id") ] mutating func decodeMessage(decoder: inout D) throws { @@ -2527,18 +2561,18 @@ extension SignalServiceProtos_DataMessage: SwiftProtobuf.Message, SwiftProtobuf. 6: .same(proto: "profileKey"), 7: .same(proto: "timestamp"), 8: .same(proto: "quote"), - 9: .same(proto: "contact"), + 9: .same(proto: "contact") ] fileprivate class _StorageClass { - var _body: String? = nil + var _body: String? var _attachments: [SignalServiceProtos_AttachmentPointer] = [] - var _group: SignalServiceProtos_GroupContext? = nil - var _flags: UInt32? = nil - var _expireTimer: UInt32? = nil - var _profileKey: Data? = nil - var _timestamp: UInt64? = nil - var _quote: SignalServiceProtos_DataMessage.Quote? = nil + var _group: SignalServiceProtos_GroupContext? + var _flags: UInt32? + var _expireTimer: UInt32? + var _profileKey: Data? + var _timestamp: UInt64? + var _quote: SignalServiceProtos_DataMessage.Quote? var _contact: [SignalServiceProtos_DataMessage.Contact] = [] static let defaultInstance = _StorageClass() @@ -2645,7 +2679,7 @@ extension SignalServiceProtos_DataMessage.Flags: SwiftProtobuf._ProtoNameProvidi static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ 1: .same(proto: "END_SESSION"), 2: .same(proto: "EXPIRATION_TIMER_UPDATE"), - 4: .same(proto: "PROFILE_KEY_UPDATE"), + 4: .same(proto: "PROFILE_KEY_UPDATE") ] } @@ -2655,7 +2689,7 @@ extension SignalServiceProtos_DataMessage.Quote: SwiftProtobuf.Message, SwiftPro 1: .same(proto: "id"), 2: .same(proto: "author"), 3: .same(proto: "text"), - 4: .same(proto: "attachments"), + 4: .same(proto: "attachments") ] mutating func decodeMessage(decoder: inout D) throws { @@ -2702,14 +2736,14 @@ extension SignalServiceProtos_DataMessage.Quote.QuotedAttachment: SwiftProtobuf. 1: .same(proto: "contentType"), 2: .same(proto: "fileName"), 3: .same(proto: "thumbnail"), - 4: .same(proto: "flags"), + 4: .same(proto: "flags") ] fileprivate class _StorageClass { - var _contentType: String? = nil - var _fileName: String? = nil - var _thumbnail: SignalServiceProtos_AttachmentPointer? = nil - var _flags: UInt32? = nil + var _contentType: String? + var _fileName: String? + var _thumbnail: SignalServiceProtos_AttachmentPointer? + var _flags: UInt32? static let defaultInstance = _StorageClass() @@ -2783,7 +2817,7 @@ extension SignalServiceProtos_DataMessage.Quote.QuotedAttachment: SwiftProtobuf. extension SignalServiceProtos_DataMessage.Quote.QuotedAttachment.Flags: SwiftProtobuf._ProtoNameProviding { static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ - 1: .same(proto: "VOICE_MESSAGE"), + 1: .same(proto: "VOICE_MESSAGE") ] } @@ -2795,16 +2829,16 @@ extension SignalServiceProtos_DataMessage.Contact: SwiftProtobuf.Message, SwiftP 4: .same(proto: "email"), 5: .same(proto: "address"), 6: .same(proto: "avatar"), - 7: .same(proto: "organization"), + 7: .same(proto: "organization") ] fileprivate class _StorageClass { - var _name: SignalServiceProtos_DataMessage.Contact.Name? = nil + var _name: SignalServiceProtos_DataMessage.Contact.Name? var _number: [SignalServiceProtos_DataMessage.Contact.Phone] = [] var _email: [SignalServiceProtos_DataMessage.Contact.Email] = [] var _address: [SignalServiceProtos_DataMessage.Contact.PostalAddress] = [] - var _avatar: SignalServiceProtos_DataMessage.Contact.Avatar? = nil - var _organization: String? = nil + var _avatar: SignalServiceProtos_DataMessage.Contact.Avatar? + var _organization: String? static let defaultInstance = _StorageClass() @@ -2896,7 +2930,7 @@ extension SignalServiceProtos_DataMessage.Contact.Name: SwiftProtobuf.Message, S 3: .same(proto: "prefix"), 4: .same(proto: "suffix"), 5: .same(proto: "middleName"), - 6: .same(proto: "displayName"), + 6: .same(proto: "displayName") ] mutating func decodeMessage(decoder: inout D) throws { @@ -2952,7 +2986,7 @@ extension SignalServiceProtos_DataMessage.Contact.Phone: SwiftProtobuf.Message, static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ 1: .same(proto: "value"), 2: .same(proto: "type"), - 3: .same(proto: "label"), + 3: .same(proto: "label") ] mutating func decodeMessage(decoder: inout D) throws { @@ -2993,7 +3027,7 @@ extension SignalServiceProtos_DataMessage.Contact.Phone.TypeEnum: SwiftProtobuf. 1: .same(proto: "HOME"), 2: .same(proto: "MOBILE"), 3: .same(proto: "WORK"), - 4: .same(proto: "CUSTOM"), + 4: .same(proto: "CUSTOM") ] } @@ -3002,7 +3036,7 @@ extension SignalServiceProtos_DataMessage.Contact.Email: SwiftProtobuf.Message, static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ 1: .same(proto: "value"), 2: .same(proto: "type"), - 3: .same(proto: "label"), + 3: .same(proto: "label") ] mutating func decodeMessage(decoder: inout D) throws { @@ -3043,7 +3077,7 @@ extension SignalServiceProtos_DataMessage.Contact.Email.TypeEnum: SwiftProtobuf. 1: .same(proto: "HOME"), 2: .same(proto: "MOBILE"), 3: .same(proto: "WORK"), - 4: .same(proto: "CUSTOM"), + 4: .same(proto: "CUSTOM") ] } @@ -3058,7 +3092,7 @@ extension SignalServiceProtos_DataMessage.Contact.PostalAddress: SwiftProtobuf.M 6: .same(proto: "city"), 7: .same(proto: "region"), 8: .same(proto: "postcode"), - 9: .same(proto: "country"), + 9: .same(proto: "country") ] mutating func decodeMessage(decoder: inout D) throws { @@ -3128,7 +3162,7 @@ extension SignalServiceProtos_DataMessage.Contact.PostalAddress.TypeEnum: SwiftP static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ 1: .same(proto: "HOME"), 2: .same(proto: "WORK"), - 3: .same(proto: "CUSTOM"), + 3: .same(proto: "CUSTOM") ] } @@ -3136,12 +3170,12 @@ extension SignalServiceProtos_DataMessage.Contact.Avatar: SwiftProtobuf.Message, static let protoMessageName: String = SignalServiceProtos_DataMessage.Contact.protoMessageName + ".Avatar" static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ 1: .same(proto: "avatar"), - 2: .same(proto: "isProfile"), + 2: .same(proto: "isProfile") ] fileprivate class _StorageClass { - var _avatar: SignalServiceProtos_AttachmentPointer? = nil - var _isProfile: Bool? = nil + var _avatar: SignalServiceProtos_AttachmentPointer? + var _isProfile: Bool? static let defaultInstance = _StorageClass() @@ -3204,7 +3238,7 @@ extension SignalServiceProtos_DataMessage.Contact.Avatar: SwiftProtobuf.Message, extension SignalServiceProtos_NullMessage: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { static let protoMessageName: String = _protobuf_package + ".NullMessage" static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ - 1: .same(proto: "padding"), + 1: .same(proto: "padding") ] mutating func decodeMessage(decoder: inout D) throws { @@ -3234,7 +3268,7 @@ extension SignalServiceProtos_ReceiptMessage: SwiftProtobuf.Message, SwiftProtob static let protoMessageName: String = _protobuf_package + ".ReceiptMessage" static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ 1: .same(proto: "type"), - 2: .same(proto: "timestamp"), + 2: .same(proto: "timestamp") ] mutating func decodeMessage(decoder: inout D) throws { @@ -3268,7 +3302,7 @@ extension SignalServiceProtos_ReceiptMessage: SwiftProtobuf.Message, SwiftProtob extension SignalServiceProtos_ReceiptMessage.TypeEnum: SwiftProtobuf._ProtoNameProviding { static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ 0: .same(proto: "DELIVERY"), - 1: .same(proto: "READ"), + 1: .same(proto: "READ") ] } @@ -3278,7 +3312,7 @@ extension SignalServiceProtos_Verified: SwiftProtobuf.Message, SwiftProtobuf._Me 1: .same(proto: "destination"), 2: .same(proto: "identityKey"), 3: .same(proto: "state"), - 4: .same(proto: "nullMessage"), + 4: .same(proto: "nullMessage") ] mutating func decodeMessage(decoder: inout D) throws { @@ -3323,7 +3357,7 @@ extension SignalServiceProtos_Verified.State: SwiftProtobuf._ProtoNameProviding static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ 0: .same(proto: "DEFAULT"), 1: .same(proto: "VERIFIED"), - 2: .same(proto: "UNVERIFIED"), + 2: .same(proto: "UNVERIFIED") ] } @@ -3338,19 +3372,19 @@ extension SignalServiceProtos_SyncMessage: SwiftProtobuf.Message, SwiftProtobuf. 6: .same(proto: "blocked"), 7: .same(proto: "verified"), 9: .same(proto: "configuration"), - 8: .same(proto: "padding"), + 8: .same(proto: "padding") ] fileprivate class _StorageClass { - var _sent: SignalServiceProtos_SyncMessage.Sent? = nil - var _contacts: SignalServiceProtos_SyncMessage.Contacts? = nil - var _groups: SignalServiceProtos_SyncMessage.Groups? = nil - var _request: SignalServiceProtos_SyncMessage.Request? = nil + var _sent: SignalServiceProtos_SyncMessage.Sent? + var _contacts: SignalServiceProtos_SyncMessage.Contacts? + var _groups: SignalServiceProtos_SyncMessage.Groups? + var _request: SignalServiceProtos_SyncMessage.Request? var _read: [SignalServiceProtos_SyncMessage.Read] = [] - var _blocked: SignalServiceProtos_SyncMessage.Blocked? = nil - var _verified: SignalServiceProtos_Verified? = nil - var _configuration: SignalServiceProtos_SyncMessage.Configuration? = nil - var _padding: Data? = nil + var _blocked: SignalServiceProtos_SyncMessage.Blocked? + var _verified: SignalServiceProtos_Verified? + var _configuration: SignalServiceProtos_SyncMessage.Configuration? + var _padding: Data? static let defaultInstance = _StorageClass() @@ -3458,14 +3492,14 @@ extension SignalServiceProtos_SyncMessage.Sent: SwiftProtobuf.Message, SwiftProt 1: .same(proto: "destination"), 2: .same(proto: "timestamp"), 3: .same(proto: "message"), - 4: .same(proto: "expirationStartTimestamp"), + 4: .same(proto: "expirationStartTimestamp") ] fileprivate class _StorageClass { - var _destination: String? = nil - var _timestamp: UInt64? = nil - var _message: SignalServiceProtos_DataMessage? = nil - var _expirationStartTimestamp: UInt64? = nil + var _destination: String? + var _timestamp: UInt64? + var _message: SignalServiceProtos_DataMessage? + var _expirationStartTimestamp: UInt64? static let defaultInstance = _StorageClass() @@ -3541,12 +3575,12 @@ extension SignalServiceProtos_SyncMessage.Contacts: SwiftProtobuf.Message, Swift static let protoMessageName: String = SignalServiceProtos_SyncMessage.protoMessageName + ".Contacts" static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ 1: .same(proto: "blob"), - 2: .same(proto: "isComplete"), + 2: .same(proto: "isComplete") ] fileprivate class _StorageClass { - var _blob: SignalServiceProtos_AttachmentPointer? = nil - var _isComplete: Bool? = nil + var _blob: SignalServiceProtos_AttachmentPointer? + var _isComplete: Bool? static let defaultInstance = _StorageClass() @@ -3609,11 +3643,11 @@ extension SignalServiceProtos_SyncMessage.Contacts: SwiftProtobuf.Message, Swift extension SignalServiceProtos_SyncMessage.Groups: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { static let protoMessageName: String = SignalServiceProtos_SyncMessage.protoMessageName + ".Groups" static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ - 1: .same(proto: "blob"), + 1: .same(proto: "blob") ] fileprivate class _StorageClass { - var _blob: SignalServiceProtos_AttachmentPointer? = nil + var _blob: SignalServiceProtos_AttachmentPointer? static let defaultInstance = _StorageClass() @@ -3671,7 +3705,7 @@ extension SignalServiceProtos_SyncMessage.Blocked: SwiftProtobuf.Message, SwiftP static let protoMessageName: String = SignalServiceProtos_SyncMessage.protoMessageName + ".Blocked" static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ 1: .same(proto: "numbers"), - 2: .same(proto: "groupIds"), + 2: .same(proto: "groupIds") ] mutating func decodeMessage(decoder: inout D) throws { @@ -3705,7 +3739,7 @@ extension SignalServiceProtos_SyncMessage.Blocked: SwiftProtobuf.Message, SwiftP extension SignalServiceProtos_SyncMessage.Request: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { static let protoMessageName: String = SignalServiceProtos_SyncMessage.protoMessageName + ".Request" static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ - 1: .same(proto: "type"), + 1: .same(proto: "type") ] mutating func decodeMessage(decoder: inout D) throws { @@ -3737,7 +3771,7 @@ extension SignalServiceProtos_SyncMessage.Request.TypeEnum: SwiftProtobuf._Proto 1: .same(proto: "CONTACTS"), 2: .same(proto: "GROUPS"), 3: .same(proto: "BLOCKED"), - 4: .same(proto: "CONFIGURATION"), + 4: .same(proto: "CONFIGURATION") ] } @@ -3745,7 +3779,7 @@ extension SignalServiceProtos_SyncMessage.Read: SwiftProtobuf.Message, SwiftProt static let protoMessageName: String = SignalServiceProtos_SyncMessage.protoMessageName + ".Read" static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ 1: .same(proto: "sender"), - 2: .same(proto: "timestamp"), + 2: .same(proto: "timestamp") ] mutating func decodeMessage(decoder: inout D) throws { @@ -3779,7 +3813,7 @@ extension SignalServiceProtos_SyncMessage.Read: SwiftProtobuf.Message, SwiftProt extension SignalServiceProtos_SyncMessage.Configuration: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { static let protoMessageName: String = SignalServiceProtos_SyncMessage.protoMessageName + ".Configuration" static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ - 1: .same(proto: "readReceipts"), + 1: .same(proto: "readReceipts") ] mutating func decodeMessage(decoder: inout D) throws { @@ -3817,7 +3851,7 @@ extension SignalServiceProtos_AttachmentPointer: SwiftProtobuf.Message, SwiftPro 7: .same(proto: "fileName"), 8: .same(proto: "flags"), 9: .same(proto: "width"), - 10: .same(proto: "height"), + 10: .same(proto: "height") ] mutating func decodeMessage(decoder: inout D) throws { @@ -3890,7 +3924,7 @@ extension SignalServiceProtos_AttachmentPointer: SwiftProtobuf.Message, SwiftPro extension SignalServiceProtos_AttachmentPointer.Flags: SwiftProtobuf._ProtoNameProviding { static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ - 1: .same(proto: "VOICE_MESSAGE"), + 1: .same(proto: "VOICE_MESSAGE") ] } @@ -3901,15 +3935,15 @@ extension SignalServiceProtos_GroupContext: SwiftProtobuf.Message, SwiftProtobuf 2: .same(proto: "type"), 3: .same(proto: "name"), 4: .same(proto: "members"), - 5: .same(proto: "avatar"), + 5: .same(proto: "avatar") ] fileprivate class _StorageClass { - var _id: Data? = nil - var _type: SignalServiceProtos_GroupContext.TypeEnum? = nil - var _name: String? = nil + var _id: Data? + var _type: SignalServiceProtos_GroupContext.TypeEnum? + var _name: String? var _members: [String] = [] - var _avatar: SignalServiceProtos_AttachmentPointer? = nil + var _avatar: SignalServiceProtos_AttachmentPointer? static let defaultInstance = _StorageClass() @@ -3993,7 +4027,7 @@ extension SignalServiceProtos_GroupContext.TypeEnum: SwiftProtobuf._ProtoNamePro 1: .same(proto: "UPDATE"), 2: .same(proto: "DELIVER"), 3: .same(proto: "QUIT"), - 4: .same(proto: "REQUEST_INFO"), + 4: .same(proto: "REQUEST_INFO") ] } @@ -4007,18 +4041,18 @@ extension SignalServiceProtos_ContactDetails: SwiftProtobuf.Message, SwiftProtob 5: .same(proto: "verified"), 6: .same(proto: "profileKey"), 7: .same(proto: "blocked"), - 8: .same(proto: "expireTimer"), + 8: .same(proto: "expireTimer") ] fileprivate class _StorageClass { - var _number: String? = nil - var _name: String? = nil - var _avatar: SignalServiceProtos_ContactDetails.Avatar? = nil - var _color: String? = nil - var _verified: SignalServiceProtos_Verified? = nil - var _profileKey: Data? = nil - var _blocked: Bool? = nil - var _expireTimer: UInt32? = nil + var _number: String? + var _name: String? + var _avatar: SignalServiceProtos_ContactDetails.Avatar? + var _color: String? + var _verified: SignalServiceProtos_Verified? + var _profileKey: Data? + var _blocked: Bool? + var _expireTimer: UInt32? static let defaultInstance = _StorageClass() @@ -4118,7 +4152,7 @@ extension SignalServiceProtos_ContactDetails.Avatar: SwiftProtobuf.Message, Swif static let protoMessageName: String = SignalServiceProtos_ContactDetails.protoMessageName + ".Avatar" static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ 1: .same(proto: "contentType"), - 2: .same(proto: "length"), + 2: .same(proto: "length") ] mutating func decodeMessage(decoder: inout D) throws { @@ -4159,18 +4193,18 @@ extension SignalServiceProtos_GroupDetails: SwiftProtobuf.Message, SwiftProtobuf 5: .same(proto: "active"), 6: .same(proto: "expireTimer"), 7: .same(proto: "color"), - 8: .same(proto: "blocked"), + 8: .same(proto: "blocked") ] fileprivate class _StorageClass { - var _id: Data? = nil - var _name: String? = nil + var _id: Data? + var _name: String? var _members: [String] = [] - var _avatar: SignalServiceProtos_GroupDetails.Avatar? = nil - var _active: Bool? = nil - var _expireTimer: UInt32? = nil - var _color: String? = nil - var _blocked: Bool? = nil + var _avatar: SignalServiceProtos_GroupDetails.Avatar? + var _active: Bool? + var _expireTimer: UInt32? + var _color: String? + var _blocked: Bool? static let defaultInstance = _StorageClass() @@ -4270,7 +4304,7 @@ extension SignalServiceProtos_GroupDetails.Avatar: SwiftProtobuf.Message, SwiftP static let protoMessageName: String = SignalServiceProtos_GroupDetails.protoMessageName + ".Avatar" static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ 1: .same(proto: "contentType"), - 2: .same(proto: "length"), + 2: .same(proto: "length") ] mutating func decodeMessage(decoder: inout D) throws {