diff --git a/SessionMessagingKit/Open Groups/V2/OpenGroupAPIV2.swift b/SessionMessagingKit/Open Groups/V2/OpenGroupAPIV2.swift index 37b7ed12c..741d21162 100644 --- a/SessionMessagingKit/Open Groups/V2/OpenGroupAPIV2.swift +++ b/SessionMessagingKit/Open Groups/V2/OpenGroupAPIV2.swift @@ -331,7 +331,9 @@ public final class OpenGroupAPIV2 : NSObject { } let request = Request(verb: .get, room: room, server: server, endpoint: "deleted_messages", queryParameters: queryParameters) return send(request).then(on: DispatchQueue.global(qos: .userInitiated)) { json -> Promise<[Int64]> in - guard let serverIDs = json["ids"] as? [Int64] else { throw Error.parsingFailed } + guard let deletions = json["ids"] as? [JSON] else { throw Error.parsingFailed } + let deletedMessageIDs = deletions.compactMap { $0["deleted_message_id"] as? Int64 } + let serverIDs = deletions.compactMap { $0["id"] as? Int64 } let serverID = serverIDs.max() ?? 0 let lastDeletionServerID = storage.getLastDeletionServerID(for: room, on: server) ?? 0 if serverID > lastDeletionServerID { @@ -339,11 +341,11 @@ public final class OpenGroupAPIV2 : NSObject { storage.write(with: { transaction in storage.setLastDeletionServerID(for: room, on: server, to: serverID, using: transaction) }, completion: { - seal.fulfill(serverIDs) + seal.fulfill(deletedMessageIDs) }) return promise } else { - return Promise.value(serverIDs) + return Promise.value(deletedMessageIDs) } } }