diff --git a/SessionMessagingKit/Messages/Visible Message/VisibleMessage+Contact.swift b/SessionMessagingKit/Messages/Visible Message/VisibleMessage+Contact.swift
index 548070cec..d89865981 100644
--- a/SessionMessagingKit/Messages/Visible Message/VisibleMessage+Contact.swift
+++ b/SessionMessagingKit/Messages/Visible Message/VisibleMessage+Contact.swift
@@ -4,12 +4,8 @@ public extension VisibleMessage {
@objc(SNContact)
class Contact : NSObject, NSCoding {
- public required init?(coder: NSCoder) {
- fatalError("Not implemented.")
- }
+ public required init?(coder: NSCoder) { }
- public func encode(with coder: NSCoder) {
- fatalError("Not implemented.")
- }
+ public func encode(with coder: NSCoder) { }
}
}
diff --git a/SessionMessagingKit/Messages/Visible Message/VisibleMessage+LinkPreview.swift b/SessionMessagingKit/Messages/Visible Message/VisibleMessage+LinkPreview.swift
index 68c931510..072978b03 100644
--- a/SessionMessagingKit/Messages/Visible Message/VisibleMessage+LinkPreview.swift
+++ b/SessionMessagingKit/Messages/Visible Message/VisibleMessage+LinkPreview.swift
@@ -1,15 +1,46 @@
+import SessionUtilities
public extension VisibleMessage {
@objc(SNLinkPreview)
class LinkPreview : NSObject, NSCoding {
+ public var title: String?
+ public var url: String?
+
+ internal init(title: String, url: String) {
+ self.title = title
+ self.url = url
+ }
public required init?(coder: NSCoder) {
- fatalError("Not implemented.")
+ if let title = coder.decodeObject(forKey: "title") as! String? { self.title = title }
+ if let url = coder.decodeObject(forKey: "url") as! String? { self.url = url }
}
public func encode(with coder: NSCoder) {
- fatalError("Not implemented.")
+ coder.encode(title, forKey: "title")
+ coder.encode(url, forKey: "url")
+ }
+
+ public static func fromProto(_ proto: SNProtoDataMessagePreview) -> LinkPreview? {
+ guard let title = proto.title else { return nil }
+ let url = proto.url
+ return LinkPreview(title: title, url: url)
+ }
+
+ public func toProto() -> SNProtoDataMessagePreview? {
+ guard let title = title, let url = url else {
+ SNLog("Couldn't construct link preview proto from: \(self).")
+ return nil
+ }
+ let linkPreviewProto = SNProtoDataMessagePreview.builder(url: url)
+ linkPreviewProto.setTitle(title)
+ do {
+ return try linkPreviewProto.build()
+ } catch {
+ SNLog("Couldn't construct link preview proto from: \(self).")
+ return nil
+ }
}
}
}
diff --git a/SessionMessagingKit/Pipelines/ReceivingPipeline.swift b/SessionMessagingKit/Pipelines/ReceivingPipeline.swift
index 79a4fc21e..8be3cfc41 100644
--- a/SessionMessagingKit/Pipelines/ReceivingPipeline.swift
+++ b/SessionMessagingKit/Pipelines/ReceivingPipeline.swift
@@ -3,7 +3,8 @@ import SessionUtilities
public enum ReceivingPipeline {
public static func parse(_ data: Data) -> Message? {
- // TODO: Decrypt
+ // TODO: Decryption
+ // TODO: Validation
let proto: SNProtoContent
do {
proto = try SNProtoContent.parseData(data)
diff --git a/SessionMessagingKit/Pipelines/SendingPipeline.swift b/SessionMessagingKit/Pipelines/SendingPipeline.swift
index 108f857ca..857ec2ca3 100644
--- a/SessionMessagingKit/Pipelines/SendingPipeline.swift
+++ b/SessionMessagingKit/Pipelines/SendingPipeline.swift
@@ -34,6 +34,7 @@ public enum SendingPipeline {
return Promise(error: Error.protoSerializationFailed)
}
// TODO: Encryption
+ // TODO: Validation
let recipient = ""
let base64EncodedData = data.base64EncodedString()
let ttl: UInt64 = 2 * 24 * 60 * 60 * 1000
diff --git a/Signal/Signal-Info.plist b/Signal/Signal-Info.plist
index f77e55a0b..7b69a02fd 100644
--- a/Signal/Signal-Info.plist
+++ b/Signal/Signal-Info.plist
@@ -6,10 +6,14 @@
CarthageVersion
0.36.0
+ DateTime
+ Fri Nov 6 03:20:05 UTC 2020
OSXVersion
10.15.6
WebRTCCommit
1445d719bf05280270e9f77576f80f973fd847f8 M73
+ XCodeVersion
+ 1200.1210
CFBundleDevelopmentRegion
en