From dba114e81360d32217f211c37e1e44e24d63f898 Mon Sep 17 00:00:00 2001 From: ryanzhao Date: Mon, 10 Jul 2023 15:52:59 +1000 Subject: [PATCH] add workaround for an issue on storage sever when getting single message's expiration --- .../Database/Models/DisappearingMessageConfiguration.swift | 2 +- SessionMessagingKit/Jobs/Types/GetExpirationJob.swift | 5 +++++ SessionSnodeKit/Networking/SnodeAPI.swift | 7 ++++--- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/SessionMessagingKit/Database/Models/DisappearingMessageConfiguration.swift b/SessionMessagingKit/Database/Models/DisappearingMessageConfiguration.swift index e2c60521d..2ae272e12 100644 --- a/SessionMessagingKit/Database/Models/DisappearingMessageConfiguration.swift +++ b/SessionMessagingKit/Database/Models/DisappearingMessageConfiguration.swift @@ -254,7 +254,7 @@ extension DisappearingMessagesConfiguration { .map { TimeInterval($0) } #if targetEnvironment(simulator) result.insert( - TimeInterval(2 * 60), + TimeInterval(60), at: 0 ) result.insert( diff --git a/SessionMessagingKit/Jobs/Types/GetExpirationJob.swift b/SessionMessagingKit/Jobs/Types/GetExpirationJob.swift index 53a8dddd1..452c93aba 100644 --- a/SessionMessagingKit/Jobs/Types/GetExpirationJob.swift +++ b/SessionMessagingKit/Jobs/Types/GetExpirationJob.swift @@ -92,6 +92,11 @@ public enum GetExpirationJob: JobExecutor { Interaction.Columns.expiresStartedAtMs.set(to: details.startedAtTimestampMs) ) } + + JobRunner.upsert( + db, + job: DisappearingMessagesJob.updateNextRunIfNeeded(db) + ) } if !expirationInfo.isEmpty { diff --git a/SessionSnodeKit/Networking/SnodeAPI.swift b/SessionSnodeKit/Networking/SnodeAPI.swift index 9ed038796..049720c2f 100644 --- a/SessionSnodeKit/Networking/SnodeAPI.swift +++ b/SessionSnodeKit/Networking/SnodeAPI.swift @@ -602,6 +602,9 @@ public final class SnodeAPI { let sendTimestamp: UInt64 = UInt64(SnodeAPI.currentOffsetTimestampMs()) + // FIXME: There is a bug on SS now that a single-hash lookup is not working. Remove it when the bug is fixed + let serverHashes: [String] = serverHashes.appending("fakehash") + return SnodeAPI .send( request: SnodeRequest( @@ -806,8 +809,6 @@ public final class SnodeAPI { .eraseToAnyPublisher() } - let updatedExpiryMsWithNetworkOffset: UInt64 = UInt64(updatedExpiryMs + SnodeAPI.clockOffsetMs.wrappedValue) - return getSwarm(for: publicKey) .tryFlatMapWithRandomSnode(retry: maxRetryCount) { snode -> AnyPublisher<[String: UpdateExpiryResponseResult], Error> in SnodeAPI @@ -816,7 +817,7 @@ public final class SnodeAPI { endpoint: .expire, body: UpdateExpiryRequest( messageHashes: serverHashes, - expiryMs: updatedExpiryMsWithNetworkOffset, + expiryMs: UInt64(updatedExpiryMs), shorten: shortenOnly, extend: extendOnly, pubkey: publicKey,