Removed 'publicKey' from the MessageRequestResponse and updated logic to use 'message.sender' isntead
This commit is contained in:
parent
27d9e41eaf
commit
ad9282a7b9
|
@ -1046,7 +1046,6 @@ extension ConversationVC {
|
||||||
// they have been approved and can now use this contact in closed groups)
|
// they have been approved and can now use this contact in closed groups)
|
||||||
if !isNewThread {
|
if !isNewThread {
|
||||||
let messageRequestResponse: MessageRequestResponse = MessageRequestResponse(
|
let messageRequestResponse: MessageRequestResponse = MessageRequestResponse(
|
||||||
publicKey: sessionId,
|
|
||||||
isApproved: true
|
isApproved: true
|
||||||
)
|
)
|
||||||
messageRequestResponse.sentTimestamp = timestamp
|
messageRequestResponse.sentTimestamp = timestamp
|
||||||
|
|
|
@ -2,13 +2,11 @@ import SessionUtilitiesKit
|
||||||
|
|
||||||
@objc(SNMessageRequestResponse)
|
@objc(SNMessageRequestResponse)
|
||||||
public final class MessageRequestResponse: ControlMessage {
|
public final class MessageRequestResponse: ControlMessage {
|
||||||
public var publicKey: String
|
|
||||||
public var isApproved: Bool
|
public var isApproved: Bool
|
||||||
|
|
||||||
// MARK: - Initialization
|
// MARK: - Initialization
|
||||||
|
|
||||||
public init(publicKey: String, isApproved: Bool) {
|
public init(isApproved: Bool) {
|
||||||
self.publicKey = publicKey
|
|
||||||
self.isApproved = isApproved
|
self.isApproved = isApproved
|
||||||
|
|
||||||
super.init()
|
super.init()
|
||||||
|
@ -17,10 +15,8 @@ public final class MessageRequestResponse: ControlMessage {
|
||||||
// MARK: - Coding
|
// MARK: - Coding
|
||||||
|
|
||||||
public required init?(coder: NSCoder) {
|
public required init?(coder: NSCoder) {
|
||||||
guard let publicKey: String = coder.decodeObject(forKey: "publicKey") as? String else { return nil }
|
|
||||||
guard let isApproved: Bool = coder.decodeObject(forKey: "isApproved") as? Bool else { return nil }
|
guard let isApproved: Bool = coder.decodeObject(forKey: "isApproved") as? Bool else { return nil }
|
||||||
|
|
||||||
self.publicKey = publicKey
|
|
||||||
self.isApproved = isApproved
|
self.isApproved = isApproved
|
||||||
|
|
||||||
super.init(coder: coder)
|
super.init(coder: coder)
|
||||||
|
@ -29,7 +25,6 @@ public final class MessageRequestResponse: ControlMessage {
|
||||||
public override func encode(with coder: NSCoder) {
|
public override func encode(with coder: NSCoder) {
|
||||||
super.encode(with: coder)
|
super.encode(with: coder)
|
||||||
|
|
||||||
coder.encode(publicKey, forKey: "publicKey")
|
|
||||||
coder.encode(isApproved, forKey: "isApproved")
|
coder.encode(isApproved, forKey: "isApproved")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -38,14 +33,13 @@ public final class MessageRequestResponse: ControlMessage {
|
||||||
public override class func fromProto(_ proto: SNProtoContent) -> MessageRequestResponse? {
|
public override class func fromProto(_ proto: SNProtoContent) -> MessageRequestResponse? {
|
||||||
guard let messageRequestResponseProto = proto.messageRequestResponse else { return nil }
|
guard let messageRequestResponseProto = proto.messageRequestResponse else { return nil }
|
||||||
|
|
||||||
let publicKey = messageRequestResponseProto.publicKey.toHexString()
|
|
||||||
let isApproved = messageRequestResponseProto.isApproved
|
let isApproved = messageRequestResponseProto.isApproved
|
||||||
|
|
||||||
return MessageRequestResponse(publicKey: publicKey, isApproved: isApproved)
|
return MessageRequestResponse(isApproved: isApproved)
|
||||||
}
|
}
|
||||||
|
|
||||||
public override func toProto(using transaction: YapDatabaseReadWriteTransaction) -> SNProtoContent? {
|
public override func toProto(using transaction: YapDatabaseReadWriteTransaction) -> SNProtoContent? {
|
||||||
let messageRequestResponseProto = SNProtoMessageRequestResponse.builder(publicKey: Data(hex: publicKey), isApproved: isApproved)
|
let messageRequestResponseProto = SNProtoMessageRequestResponse.builder(isApproved: isApproved)
|
||||||
let contentProto = SNProtoContent.builder()
|
let contentProto = SNProtoContent.builder()
|
||||||
|
|
||||||
do {
|
do {
|
||||||
|
@ -62,7 +56,6 @@ public final class MessageRequestResponse: ControlMessage {
|
||||||
public override var description: String {
|
public override var description: String {
|
||||||
"""
|
"""
|
||||||
MessageRequestResponse(
|
MessageRequestResponse(
|
||||||
publicKey: \(publicKey),
|
|
||||||
isApproved: \(isApproved)
|
isApproved: \(isApproved)
|
||||||
)
|
)
|
||||||
"""
|
"""
|
||||||
|
|
|
@ -456,13 +456,13 @@ extension SNProtoUnsendRequest.SNProtoUnsendRequestBuilder {
|
||||||
|
|
||||||
// MARK: - SNProtoMessageRequestResponseBuilder
|
// MARK: - SNProtoMessageRequestResponseBuilder
|
||||||
|
|
||||||
@objc public class func builder(publicKey: Data, isApproved: Bool) -> SNProtoMessageRequestResponseBuilder {
|
@objc public class func builder(isApproved: Bool) -> SNProtoMessageRequestResponseBuilder {
|
||||||
return SNProtoMessageRequestResponseBuilder(publicKey: publicKey, isApproved: isApproved)
|
return SNProtoMessageRequestResponseBuilder(isApproved: isApproved)
|
||||||
}
|
}
|
||||||
|
|
||||||
// asBuilder() constructs a builder that reflects the proto's contents.
|
// asBuilder() constructs a builder that reflects the proto's contents.
|
||||||
@objc public func asBuilder() -> SNProtoMessageRequestResponseBuilder {
|
@objc public func asBuilder() -> SNProtoMessageRequestResponseBuilder {
|
||||||
let builder = SNProtoMessageRequestResponseBuilder(publicKey: publicKey, isApproved: isApproved)
|
let builder = SNProtoMessageRequestResponseBuilder(isApproved: isApproved)
|
||||||
return builder
|
return builder
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -472,17 +472,12 @@ extension SNProtoUnsendRequest.SNProtoUnsendRequestBuilder {
|
||||||
|
|
||||||
@objc fileprivate override init() {}
|
@objc fileprivate override init() {}
|
||||||
|
|
||||||
@objc fileprivate init(publicKey: Data, isApproved: Bool) {
|
@objc fileprivate init(isApproved: Bool) {
|
||||||
super.init()
|
super.init()
|
||||||
|
|
||||||
setPublicKey(publicKey)
|
|
||||||
setIsApproved(isApproved)
|
setIsApproved(isApproved)
|
||||||
}
|
}
|
||||||
|
|
||||||
@objc public func setPublicKey(_ valueParam: Data) {
|
|
||||||
proto.publicKey = valueParam
|
|
||||||
}
|
|
||||||
|
|
||||||
@objc public func setIsApproved(_ valueParam: Bool) {
|
@objc public func setIsApproved(_ valueParam: Bool) {
|
||||||
proto.isApproved = valueParam
|
proto.isApproved = valueParam
|
||||||
}
|
}
|
||||||
|
@ -498,15 +493,11 @@ extension SNProtoUnsendRequest.SNProtoUnsendRequestBuilder {
|
||||||
|
|
||||||
fileprivate let proto: SessionProtos_MessageRequestResponse
|
fileprivate let proto: SessionProtos_MessageRequestResponse
|
||||||
|
|
||||||
@objc public let publicKey: Data
|
|
||||||
|
|
||||||
@objc public let isApproved: Bool
|
@objc public let isApproved: Bool
|
||||||
|
|
||||||
private init(proto: SessionProtos_MessageRequestResponse,
|
private init(proto: SessionProtos_MessageRequestResponse,
|
||||||
publicKey: Data,
|
|
||||||
isApproved: Bool) {
|
isApproved: Bool) {
|
||||||
self.proto = proto
|
self.proto = proto
|
||||||
self.publicKey = publicKey
|
|
||||||
self.isApproved = isApproved
|
self.isApproved = isApproved
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -521,11 +512,6 @@ extension SNProtoUnsendRequest.SNProtoUnsendRequestBuilder {
|
||||||
}
|
}
|
||||||
|
|
||||||
fileprivate class func parseProto(_ proto: SessionProtos_MessageRequestResponse) throws -> SNProtoMessageRequestResponse {
|
fileprivate class func parseProto(_ proto: SessionProtos_MessageRequestResponse) throws -> SNProtoMessageRequestResponse {
|
||||||
guard proto.hasPublicKey else {
|
|
||||||
throw SNProtoError.invalidProtobuf(description: "\(logTag) missing required field: publicKey")
|
|
||||||
}
|
|
||||||
let publicKey = proto.publicKey
|
|
||||||
|
|
||||||
guard proto.hasIsApproved else {
|
guard proto.hasIsApproved else {
|
||||||
throw SNProtoError.invalidProtobuf(description: "\(logTag) missing required field: isApproved")
|
throw SNProtoError.invalidProtobuf(description: "\(logTag) missing required field: isApproved")
|
||||||
}
|
}
|
||||||
|
@ -536,7 +522,6 @@ extension SNProtoUnsendRequest.SNProtoUnsendRequestBuilder {
|
||||||
// MARK: - End Validation Logic for SNProtoMessageRequestResponse -
|
// MARK: - End Validation Logic for SNProtoMessageRequestResponse -
|
||||||
|
|
||||||
let result = SNProtoMessageRequestResponse(proto: proto,
|
let result = SNProtoMessageRequestResponse(proto: proto,
|
||||||
publicKey: publicKey,
|
|
||||||
isApproved: isApproved)
|
isApproved: isApproved)
|
||||||
return result
|
return result
|
||||||
}
|
}
|
||||||
|
|
|
@ -234,16 +234,6 @@ struct SessionProtos_MessageRequestResponse {
|
||||||
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
|
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
|
||||||
// methods supported on all messages.
|
// methods supported on all messages.
|
||||||
|
|
||||||
/// @required
|
|
||||||
var publicKey: Data {
|
|
||||||
get {return _publicKey ?? Data()}
|
|
||||||
set {_publicKey = newValue}
|
|
||||||
}
|
|
||||||
/// Returns true if `publicKey` has been explicitly set.
|
|
||||||
var hasPublicKey: Bool {return self._publicKey != nil}
|
|
||||||
/// Clears the value of `publicKey`. Subsequent reads from it will return its default value.
|
|
||||||
mutating func clearPublicKey() {self._publicKey = nil}
|
|
||||||
|
|
||||||
/// @required
|
/// @required
|
||||||
var isApproved: Bool {
|
var isApproved: Bool {
|
||||||
get {return _isApproved ?? false}
|
get {return _isApproved ?? false}
|
||||||
|
@ -258,7 +248,6 @@ struct SessionProtos_MessageRequestResponse {
|
||||||
|
|
||||||
init() {}
|
init() {}
|
||||||
|
|
||||||
fileprivate var _publicKey: Data? = nil
|
|
||||||
fileprivate var _isApproved: Bool? = nil
|
fileprivate var _isApproved: Bool? = nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -268,73 +257,79 @@ struct SessionProtos_Content {
|
||||||
// methods supported on all messages.
|
// methods supported on all messages.
|
||||||
|
|
||||||
var dataMessage: SessionProtos_DataMessage {
|
var dataMessage: SessionProtos_DataMessage {
|
||||||
get {return _storage._dataMessage ?? SessionProtos_DataMessage()}
|
get {return _dataMessage ?? SessionProtos_DataMessage()}
|
||||||
set {_uniqueStorage()._dataMessage = newValue}
|
set {_dataMessage = newValue}
|
||||||
}
|
}
|
||||||
/// Returns true if `dataMessage` has been explicitly set.
|
/// Returns true if `dataMessage` has been explicitly set.
|
||||||
var hasDataMessage: Bool {return _storage._dataMessage != nil}
|
var hasDataMessage: Bool {return self._dataMessage != nil}
|
||||||
/// Clears the value of `dataMessage`. Subsequent reads from it will return its default value.
|
/// Clears the value of `dataMessage`. Subsequent reads from it will return its default value.
|
||||||
mutating func clearDataMessage() {_uniqueStorage()._dataMessage = nil}
|
mutating func clearDataMessage() {self._dataMessage = nil}
|
||||||
|
|
||||||
var receiptMessage: SessionProtos_ReceiptMessage {
|
var receiptMessage: SessionProtos_ReceiptMessage {
|
||||||
get {return _storage._receiptMessage ?? SessionProtos_ReceiptMessage()}
|
get {return _receiptMessage ?? SessionProtos_ReceiptMessage()}
|
||||||
set {_uniqueStorage()._receiptMessage = newValue}
|
set {_receiptMessage = newValue}
|
||||||
}
|
}
|
||||||
/// Returns true if `receiptMessage` has been explicitly set.
|
/// Returns true if `receiptMessage` has been explicitly set.
|
||||||
var hasReceiptMessage: Bool {return _storage._receiptMessage != nil}
|
var hasReceiptMessage: Bool {return self._receiptMessage != nil}
|
||||||
/// Clears the value of `receiptMessage`. Subsequent reads from it will return its default value.
|
/// Clears the value of `receiptMessage`. Subsequent reads from it will return its default value.
|
||||||
mutating func clearReceiptMessage() {_uniqueStorage()._receiptMessage = nil}
|
mutating func clearReceiptMessage() {self._receiptMessage = nil}
|
||||||
|
|
||||||
var typingMessage: SessionProtos_TypingMessage {
|
var typingMessage: SessionProtos_TypingMessage {
|
||||||
get {return _storage._typingMessage ?? SessionProtos_TypingMessage()}
|
get {return _typingMessage ?? SessionProtos_TypingMessage()}
|
||||||
set {_uniqueStorage()._typingMessage = newValue}
|
set {_typingMessage = newValue}
|
||||||
}
|
}
|
||||||
/// Returns true if `typingMessage` has been explicitly set.
|
/// Returns true if `typingMessage` has been explicitly set.
|
||||||
var hasTypingMessage: Bool {return _storage._typingMessage != nil}
|
var hasTypingMessage: Bool {return self._typingMessage != nil}
|
||||||
/// Clears the value of `typingMessage`. Subsequent reads from it will return its default value.
|
/// Clears the value of `typingMessage`. Subsequent reads from it will return its default value.
|
||||||
mutating func clearTypingMessage() {_uniqueStorage()._typingMessage = nil}
|
mutating func clearTypingMessage() {self._typingMessage = nil}
|
||||||
|
|
||||||
var configurationMessage: SessionProtos_ConfigurationMessage {
|
var configurationMessage: SessionProtos_ConfigurationMessage {
|
||||||
get {return _storage._configurationMessage ?? SessionProtos_ConfigurationMessage()}
|
get {return _configurationMessage ?? SessionProtos_ConfigurationMessage()}
|
||||||
set {_uniqueStorage()._configurationMessage = newValue}
|
set {_configurationMessage = newValue}
|
||||||
}
|
}
|
||||||
/// Returns true if `configurationMessage` has been explicitly set.
|
/// Returns true if `configurationMessage` has been explicitly set.
|
||||||
var hasConfigurationMessage: Bool {return _storage._configurationMessage != nil}
|
var hasConfigurationMessage: Bool {return self._configurationMessage != nil}
|
||||||
/// Clears the value of `configurationMessage`. Subsequent reads from it will return its default value.
|
/// Clears the value of `configurationMessage`. Subsequent reads from it will return its default value.
|
||||||
mutating func clearConfigurationMessage() {_uniqueStorage()._configurationMessage = nil}
|
mutating func clearConfigurationMessage() {self._configurationMessage = nil}
|
||||||
|
|
||||||
var dataExtractionNotification: SessionProtos_DataExtractionNotification {
|
var dataExtractionNotification: SessionProtos_DataExtractionNotification {
|
||||||
get {return _storage._dataExtractionNotification ?? SessionProtos_DataExtractionNotification()}
|
get {return _dataExtractionNotification ?? SessionProtos_DataExtractionNotification()}
|
||||||
set {_uniqueStorage()._dataExtractionNotification = newValue}
|
set {_dataExtractionNotification = newValue}
|
||||||
}
|
}
|
||||||
/// Returns true if `dataExtractionNotification` has been explicitly set.
|
/// Returns true if `dataExtractionNotification` has been explicitly set.
|
||||||
var hasDataExtractionNotification: Bool {return _storage._dataExtractionNotification != nil}
|
var hasDataExtractionNotification: Bool {return self._dataExtractionNotification != nil}
|
||||||
/// Clears the value of `dataExtractionNotification`. Subsequent reads from it will return its default value.
|
/// Clears the value of `dataExtractionNotification`. Subsequent reads from it will return its default value.
|
||||||
mutating func clearDataExtractionNotification() {_uniqueStorage()._dataExtractionNotification = nil}
|
mutating func clearDataExtractionNotification() {self._dataExtractionNotification = nil}
|
||||||
|
|
||||||
var unsendRequest: SessionProtos_UnsendRequest {
|
var unsendRequest: SessionProtos_UnsendRequest {
|
||||||
get {return _storage._unsendRequest ?? SessionProtos_UnsendRequest()}
|
get {return _unsendRequest ?? SessionProtos_UnsendRequest()}
|
||||||
set {_uniqueStorage()._unsendRequest = newValue}
|
set {_unsendRequest = newValue}
|
||||||
}
|
}
|
||||||
/// Returns true if `unsendRequest` has been explicitly set.
|
/// Returns true if `unsendRequest` has been explicitly set.
|
||||||
var hasUnsendRequest: Bool {return _storage._unsendRequest != nil}
|
var hasUnsendRequest: Bool {return self._unsendRequest != nil}
|
||||||
/// Clears the value of `unsendRequest`. Subsequent reads from it will return its default value.
|
/// Clears the value of `unsendRequest`. Subsequent reads from it will return its default value.
|
||||||
mutating func clearUnsendRequest() {_uniqueStorage()._unsendRequest = nil}
|
mutating func clearUnsendRequest() {self._unsendRequest = nil}
|
||||||
|
|
||||||
var messageRequestResponse: SessionProtos_MessageRequestResponse {
|
var messageRequestResponse: SessionProtos_MessageRequestResponse {
|
||||||
get {return _storage._messageRequestResponse ?? SessionProtos_MessageRequestResponse()}
|
get {return _messageRequestResponse ?? SessionProtos_MessageRequestResponse()}
|
||||||
set {_uniqueStorage()._messageRequestResponse = newValue}
|
set {_messageRequestResponse = newValue}
|
||||||
}
|
}
|
||||||
/// Returns true if `messageRequestResponse` has been explicitly set.
|
/// Returns true if `messageRequestResponse` has been explicitly set.
|
||||||
var hasMessageRequestResponse: Bool {return _storage._messageRequestResponse != nil}
|
var hasMessageRequestResponse: Bool {return self._messageRequestResponse != nil}
|
||||||
/// Clears the value of `messageRequestResponse`. Subsequent reads from it will return its default value.
|
/// Clears the value of `messageRequestResponse`. Subsequent reads from it will return its default value.
|
||||||
mutating func clearMessageRequestResponse() {_uniqueStorage()._messageRequestResponse = nil}
|
mutating func clearMessageRequestResponse() {self._messageRequestResponse = nil}
|
||||||
|
|
||||||
var unknownFields = SwiftProtobuf.UnknownStorage()
|
var unknownFields = SwiftProtobuf.UnknownStorage()
|
||||||
|
|
||||||
init() {}
|
init() {}
|
||||||
|
|
||||||
fileprivate var _storage = _StorageClass.defaultInstance
|
fileprivate var _dataMessage: SessionProtos_DataMessage? = nil
|
||||||
|
fileprivate var _receiptMessage: SessionProtos_ReceiptMessage? = nil
|
||||||
|
fileprivate var _typingMessage: SessionProtos_TypingMessage? = nil
|
||||||
|
fileprivate var _configurationMessage: SessionProtos_ConfigurationMessage? = nil
|
||||||
|
fileprivate var _dataExtractionNotification: SessionProtos_DataExtractionNotification? = nil
|
||||||
|
fileprivate var _unsendRequest: SessionProtos_UnsendRequest? = nil
|
||||||
|
fileprivate var _messageRequestResponse: SessionProtos_MessageRequestResponse? = nil
|
||||||
}
|
}
|
||||||
|
|
||||||
struct SessionProtos_KeyPair {
|
struct SessionProtos_KeyPair {
|
||||||
|
@ -1676,12 +1671,10 @@ extension SessionProtos_UnsendRequest: SwiftProtobuf.Message, SwiftProtobuf._Mes
|
||||||
extension SessionProtos_MessageRequestResponse: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
|
extension SessionProtos_MessageRequestResponse: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
|
||||||
static let protoMessageName: String = _protobuf_package + ".MessageRequestResponse"
|
static let protoMessageName: String = _protobuf_package + ".MessageRequestResponse"
|
||||||
static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
|
static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
|
||||||
1: .same(proto: "publicKey"),
|
1: .same(proto: "isApproved"),
|
||||||
2: .same(proto: "isApproved"),
|
|
||||||
]
|
]
|
||||||
|
|
||||||
public var isInitialized: Bool {
|
public var isInitialized: Bool {
|
||||||
if self._publicKey == nil {return false}
|
|
||||||
if self._isApproved == nil {return false}
|
if self._isApproved == nil {return false}
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
@ -1692,8 +1685,7 @@ extension SessionProtos_MessageRequestResponse: SwiftProtobuf.Message, SwiftProt
|
||||||
// allocates stack space for every case branch when no optimizations are
|
// allocates stack space for every case branch when no optimizations are
|
||||||
// enabled. https://github.com/apple/swift-protobuf/issues/1034
|
// enabled. https://github.com/apple/swift-protobuf/issues/1034
|
||||||
switch fieldNumber {
|
switch fieldNumber {
|
||||||
case 1: try { try decoder.decodeSingularBytesField(value: &self._publicKey) }()
|
case 1: try { try decoder.decodeSingularBoolField(value: &self._isApproved) }()
|
||||||
case 2: try { try decoder.decodeSingularBoolField(value: &self._isApproved) }()
|
|
||||||
default: break
|
default: break
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1704,17 +1696,13 @@ extension SessionProtos_MessageRequestResponse: SwiftProtobuf.Message, SwiftProt
|
||||||
// allocates stack space for every if/case branch local when no optimizations
|
// allocates stack space for every if/case branch local when no optimizations
|
||||||
// are enabled. https://github.com/apple/swift-protobuf/issues/1034 and
|
// are enabled. https://github.com/apple/swift-protobuf/issues/1034 and
|
||||||
// https://github.com/apple/swift-protobuf/issues/1182
|
// https://github.com/apple/swift-protobuf/issues/1182
|
||||||
try { if let v = self._publicKey {
|
|
||||||
try visitor.visitSingularBytesField(value: v, fieldNumber: 1)
|
|
||||||
} }()
|
|
||||||
try { if let v = self._isApproved {
|
try { if let v = self._isApproved {
|
||||||
try visitor.visitSingularBoolField(value: v, fieldNumber: 2)
|
try visitor.visitSingularBoolField(value: v, fieldNumber: 1)
|
||||||
} }()
|
} }()
|
||||||
try unknownFields.traverse(visitor: &visitor)
|
try unknownFields.traverse(visitor: &visitor)
|
||||||
}
|
}
|
||||||
|
|
||||||
static func ==(lhs: SessionProtos_MessageRequestResponse, rhs: SessionProtos_MessageRequestResponse) -> Bool {
|
static func ==(lhs: SessionProtos_MessageRequestResponse, rhs: SessionProtos_MessageRequestResponse) -> Bool {
|
||||||
if lhs._publicKey != rhs._publicKey {return false}
|
|
||||||
if lhs._isApproved != rhs._isApproved {return false}
|
if lhs._isApproved != rhs._isApproved {return false}
|
||||||
if lhs.unknownFields != rhs.unknownFields {return false}
|
if lhs.unknownFields != rhs.unknownFields {return false}
|
||||||
return true
|
return true
|
||||||
|
@ -1733,118 +1721,72 @@ extension SessionProtos_Content: SwiftProtobuf.Message, SwiftProtobuf._MessageIm
|
||||||
10: .same(proto: "messageRequestResponse"),
|
10: .same(proto: "messageRequestResponse"),
|
||||||
]
|
]
|
||||||
|
|
||||||
fileprivate class _StorageClass {
|
|
||||||
var _dataMessage: SessionProtos_DataMessage? = nil
|
|
||||||
var _receiptMessage: SessionProtos_ReceiptMessage? = nil
|
|
||||||
var _typingMessage: SessionProtos_TypingMessage? = nil
|
|
||||||
var _configurationMessage: SessionProtos_ConfigurationMessage? = nil
|
|
||||||
var _dataExtractionNotification: SessionProtos_DataExtractionNotification? = nil
|
|
||||||
var _unsendRequest: SessionProtos_UnsendRequest? = nil
|
|
||||||
var _messageRequestResponse: SessionProtos_MessageRequestResponse? = nil
|
|
||||||
|
|
||||||
static let defaultInstance = _StorageClass()
|
|
||||||
|
|
||||||
private init() {}
|
|
||||||
|
|
||||||
init(copying source: _StorageClass) {
|
|
||||||
_dataMessage = source._dataMessage
|
|
||||||
_receiptMessage = source._receiptMessage
|
|
||||||
_typingMessage = source._typingMessage
|
|
||||||
_configurationMessage = source._configurationMessage
|
|
||||||
_dataExtractionNotification = source._dataExtractionNotification
|
|
||||||
_unsendRequest = source._unsendRequest
|
|
||||||
_messageRequestResponse = source._messageRequestResponse
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
fileprivate mutating func _uniqueStorage() -> _StorageClass {
|
|
||||||
if !isKnownUniquelyReferenced(&_storage) {
|
|
||||||
_storage = _StorageClass(copying: _storage)
|
|
||||||
}
|
|
||||||
return _storage
|
|
||||||
}
|
|
||||||
|
|
||||||
public var isInitialized: Bool {
|
public var isInitialized: Bool {
|
||||||
return withExtendedLifetime(_storage) { (_storage: _StorageClass) in
|
if let v = self._dataMessage, !v.isInitialized {return false}
|
||||||
if let v = _storage._dataMessage, !v.isInitialized {return false}
|
if let v = self._receiptMessage, !v.isInitialized {return false}
|
||||||
if let v = _storage._receiptMessage, !v.isInitialized {return false}
|
if let v = self._typingMessage, !v.isInitialized {return false}
|
||||||
if let v = _storage._typingMessage, !v.isInitialized {return false}
|
if let v = self._configurationMessage, !v.isInitialized {return false}
|
||||||
if let v = _storage._configurationMessage, !v.isInitialized {return false}
|
if let v = self._dataExtractionNotification, !v.isInitialized {return false}
|
||||||
if let v = _storage._dataExtractionNotification, !v.isInitialized {return false}
|
if let v = self._unsendRequest, !v.isInitialized {return false}
|
||||||
if let v = _storage._unsendRequest, !v.isInitialized {return false}
|
if let v = self._messageRequestResponse, !v.isInitialized {return false}
|
||||||
if let v = _storage._messageRequestResponse, !v.isInitialized {return false}
|
return true
|
||||||
return true
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
|
mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
|
||||||
_ = _uniqueStorage()
|
while let fieldNumber = try decoder.nextFieldNumber() {
|
||||||
try withExtendedLifetime(_storage) { (_storage: _StorageClass) in
|
// The use of inline closures is to circumvent an issue where the compiler
|
||||||
while let fieldNumber = try decoder.nextFieldNumber() {
|
// allocates stack space for every case branch when no optimizations are
|
||||||
// The use of inline closures is to circumvent an issue where the compiler
|
// enabled. https://github.com/apple/swift-protobuf/issues/1034
|
||||||
// allocates stack space for every case branch when no optimizations are
|
switch fieldNumber {
|
||||||
// enabled. https://github.com/apple/swift-protobuf/issues/1034
|
case 1: try { try decoder.decodeSingularMessageField(value: &self._dataMessage) }()
|
||||||
switch fieldNumber {
|
case 5: try { try decoder.decodeSingularMessageField(value: &self._receiptMessage) }()
|
||||||
case 1: try { try decoder.decodeSingularMessageField(value: &_storage._dataMessage) }()
|
case 6: try { try decoder.decodeSingularMessageField(value: &self._typingMessage) }()
|
||||||
case 5: try { try decoder.decodeSingularMessageField(value: &_storage._receiptMessage) }()
|
case 7: try { try decoder.decodeSingularMessageField(value: &self._configurationMessage) }()
|
||||||
case 6: try { try decoder.decodeSingularMessageField(value: &_storage._typingMessage) }()
|
case 8: try { try decoder.decodeSingularMessageField(value: &self._dataExtractionNotification) }()
|
||||||
case 7: try { try decoder.decodeSingularMessageField(value: &_storage._configurationMessage) }()
|
case 9: try { try decoder.decodeSingularMessageField(value: &self._unsendRequest) }()
|
||||||
case 8: try { try decoder.decodeSingularMessageField(value: &_storage._dataExtractionNotification) }()
|
case 10: try { try decoder.decodeSingularMessageField(value: &self._messageRequestResponse) }()
|
||||||
case 9: try { try decoder.decodeSingularMessageField(value: &_storage._unsendRequest) }()
|
default: break
|
||||||
case 10: try { try decoder.decodeSingularMessageField(value: &_storage._messageRequestResponse) }()
|
|
||||||
default: break
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
|
func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
|
||||||
try withExtendedLifetime(_storage) { (_storage: _StorageClass) in
|
// The use of inline closures is to circumvent an issue where the compiler
|
||||||
// The use of inline closures is to circumvent an issue where the compiler
|
// allocates stack space for every if/case branch local when no optimizations
|
||||||
// allocates stack space for every if/case branch local when no optimizations
|
// are enabled. https://github.com/apple/swift-protobuf/issues/1034 and
|
||||||
// are enabled. https://github.com/apple/swift-protobuf/issues/1034 and
|
// https://github.com/apple/swift-protobuf/issues/1182
|
||||||
// https://github.com/apple/swift-protobuf/issues/1182
|
try { if let v = self._dataMessage {
|
||||||
try { if let v = _storage._dataMessage {
|
try visitor.visitSingularMessageField(value: v, fieldNumber: 1)
|
||||||
try visitor.visitSingularMessageField(value: v, fieldNumber: 1)
|
} }()
|
||||||
} }()
|
try { if let v = self._receiptMessage {
|
||||||
try { if let v = _storage._receiptMessage {
|
try visitor.visitSingularMessageField(value: v, fieldNumber: 5)
|
||||||
try visitor.visitSingularMessageField(value: v, fieldNumber: 5)
|
} }()
|
||||||
} }()
|
try { if let v = self._typingMessage {
|
||||||
try { if let v = _storage._typingMessage {
|
try visitor.visitSingularMessageField(value: v, fieldNumber: 6)
|
||||||
try visitor.visitSingularMessageField(value: v, fieldNumber: 6)
|
} }()
|
||||||
} }()
|
try { if let v = self._configurationMessage {
|
||||||
try { if let v = _storage._configurationMessage {
|
try visitor.visitSingularMessageField(value: v, fieldNumber: 7)
|
||||||
try visitor.visitSingularMessageField(value: v, fieldNumber: 7)
|
} }()
|
||||||
} }()
|
try { if let v = self._dataExtractionNotification {
|
||||||
try { if let v = _storage._dataExtractionNotification {
|
try visitor.visitSingularMessageField(value: v, fieldNumber: 8)
|
||||||
try visitor.visitSingularMessageField(value: v, fieldNumber: 8)
|
} }()
|
||||||
} }()
|
try { if let v = self._unsendRequest {
|
||||||
try { if let v = _storage._unsendRequest {
|
try visitor.visitSingularMessageField(value: v, fieldNumber: 9)
|
||||||
try visitor.visitSingularMessageField(value: v, fieldNumber: 9)
|
} }()
|
||||||
} }()
|
try { if let v = self._messageRequestResponse {
|
||||||
try { if let v = _storage._messageRequestResponse {
|
try visitor.visitSingularMessageField(value: v, fieldNumber: 10)
|
||||||
try visitor.visitSingularMessageField(value: v, fieldNumber: 10)
|
} }()
|
||||||
} }()
|
|
||||||
}
|
|
||||||
try unknownFields.traverse(visitor: &visitor)
|
try unknownFields.traverse(visitor: &visitor)
|
||||||
}
|
}
|
||||||
|
|
||||||
static func ==(lhs: SessionProtos_Content, rhs: SessionProtos_Content) -> Bool {
|
static func ==(lhs: SessionProtos_Content, rhs: SessionProtos_Content) -> Bool {
|
||||||
if lhs._storage !== rhs._storage {
|
if lhs._dataMessage != rhs._dataMessage {return false}
|
||||||
let storagesAreEqual: Bool = withExtendedLifetime((lhs._storage, rhs._storage)) { (_args: (_StorageClass, _StorageClass)) in
|
if lhs._receiptMessage != rhs._receiptMessage {return false}
|
||||||
let _storage = _args.0
|
if lhs._typingMessage != rhs._typingMessage {return false}
|
||||||
let rhs_storage = _args.1
|
if lhs._configurationMessage != rhs._configurationMessage {return false}
|
||||||
if _storage._dataMessage != rhs_storage._dataMessage {return false}
|
if lhs._dataExtractionNotification != rhs._dataExtractionNotification {return false}
|
||||||
if _storage._receiptMessage != rhs_storage._receiptMessage {return false}
|
if lhs._unsendRequest != rhs._unsendRequest {return false}
|
||||||
if _storage._typingMessage != rhs_storage._typingMessage {return false}
|
if lhs._messageRequestResponse != rhs._messageRequestResponse {return false}
|
||||||
if _storage._configurationMessage != rhs_storage._configurationMessage {return false}
|
|
||||||
if _storage._dataExtractionNotification != rhs_storage._dataExtractionNotification {return false}
|
|
||||||
if _storage._unsendRequest != rhs_storage._unsendRequest {return false}
|
|
||||||
if _storage._messageRequestResponse != rhs_storage._messageRequestResponse {return false}
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
if !storagesAreEqual {return false}
|
|
||||||
}
|
|
||||||
if lhs.unknownFields != rhs.unknownFields {return false}
|
if lhs.unknownFields != rhs.unknownFields {return false}
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
|
@ -43,9 +43,7 @@ message UnsendRequest {
|
||||||
|
|
||||||
message MessageRequestResponse {
|
message MessageRequestResponse {
|
||||||
// @required
|
// @required
|
||||||
required bytes publicKey = 1; // The public key of the contact that was approved
|
required bool isApproved = 1; // Whether the request was approved
|
||||||
// @required
|
|
||||||
required bool isApproved = 2; // Whether the request was approved
|
|
||||||
}
|
}
|
||||||
|
|
||||||
message Content {
|
message Content {
|
||||||
|
|
|
@ -774,8 +774,8 @@ extension MessageReceiver {
|
||||||
public static func handleMessageRequestResponse(_ message: MessageRequestResponse, using transaction: Any) {
|
public static func handleMessageRequestResponse(_ message: MessageRequestResponse, using transaction: Any) {
|
||||||
let userPublicKey = getUserHexEncodedPublicKey()
|
let userPublicKey = getUserHexEncodedPublicKey()
|
||||||
|
|
||||||
// Ignore messages which aren't targeted at the current user
|
// Ignore messages which were sent from the current user
|
||||||
guard message.publicKey == userPublicKey else { return }
|
guard message.sender != userPublicKey else { return }
|
||||||
guard let senderId: String = message.sender else { return }
|
guard let senderId: String = message.sender else { return }
|
||||||
|
|
||||||
// Get the existing thead and notify the user
|
// Get the existing thead and notify the user
|
||||||
|
|
Loading…
Reference in New Issue