From 07fefc168fcadb5e96aa3a076a27b6756cf91b6c Mon Sep 17 00:00:00 2001 From: Niels Andriesse Date: Thu, 23 May 2019 15:09:29 +1000 Subject: [PATCH] Fix crash --- Signal/src/Loki/LokiP2PServer.swift | 6 ++++-- SignalServiceKit/src/Loki/API/LokiAPI+SwarmAPI.swift | 4 ++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/Signal/src/Loki/LokiP2PServer.swift b/Signal/src/Loki/LokiP2PServer.swift index 759b28079..19002e7b8 100644 --- a/Signal/src/Loki/LokiP2PServer.swift +++ b/Signal/src/Loki/LokiP2PServer.swift @@ -8,6 +8,7 @@ private extension GCDWebServerResponse { } private extension GCDWebServerDataRequest { + var truncatedContentType: String? { guard let contentType = contentType else { return nil } guard let substring = contentType.split(separator: ";").first else { return contentType } @@ -89,8 +90,9 @@ final class LokiP2PServer : NSObject { @objc public var serverURL: URL? { return webServer.serverURL } @objc public var isRunning: Bool { return webServer.isRunning } - - @objc @discardableResult func start(onPort port: UInt) -> Bool { + + @discardableResult + @objc func start(onPort port: UInt) -> Bool { guard !webServer.isRunning else { return false } webServer.start(withPort: port, bonjourName: nil) return webServer.isRunning diff --git a/SignalServiceKit/src/Loki/API/LokiAPI+SwarmAPI.swift b/SignalServiceKit/src/Loki/API/LokiAPI+SwarmAPI.swift index d9b2d77ed..e99b26862 100644 --- a/SignalServiceKit/src/Loki/API/LokiAPI+SwarmAPI.swift +++ b/SignalServiceKit/src/Loki/API/LokiAPI+SwarmAPI.swift @@ -16,8 +16,8 @@ public extension LokiAPI { @objc public static func loadSwarmCache() { var result: [String:[Target]]? = nil storage.dbReadConnection.read { transaction in - let intermediate = transaction.object(forKey: swarmCacheKey, inCollection: swarmCacheCollection) as! [String:[TargetWrapper]] - result = intermediate.mapValues { $0.map { Target(from: $0) } } + let intermediate = transaction.object(forKey: swarmCacheKey, inCollection: swarmCacheCollection) as! [String:[TargetWrapper]]? + result = intermediate?.mapValues { $0.map { Target(from: $0) } } } swarmCache = result ?? [:] }