From 2dd0634a62c632bf1703ee3e302cfede77ef9b88 Mon Sep 17 00:00:00 2001 From: Mikunj Date: Mon, 7 Oct 2019 15:25:45 +1100 Subject: [PATCH] Fallback to using mappings in database if something goes wrong. --- SignalServiceKit/src/Loki/API/LokiStorageAPI.swift | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/SignalServiceKit/src/Loki/API/LokiStorageAPI.swift b/SignalServiceKit/src/Loki/API/LokiStorageAPI.swift index 08a9c4065..dd7467545 100644 --- a/SignalServiceKit/src/Loki/API/LokiStorageAPI.swift +++ b/SignalServiceKit/src/Loki/API/LokiStorageAPI.swift @@ -96,6 +96,13 @@ public final class LokiStorageAPI : LokiDotNetAPI { storage.setDeviceLinks(deviceLinks, in: transaction) } return deviceLinks + }.recover { _ -> Promise> in + // If we error out at any time then fallback to the device links we have in storage + var deviceLinks = Set() + storage.dbReadConnection.read { transaction in + deviceLinks = storage.getDeviceLinks(for: hexEncodedPublicKey, in: transaction) + } + return Promise.value(deviceLinks) } } }