From 5e0a29f5afbf9135029900fd01fd57b0b96b4631 Mon Sep 17 00:00:00 2001 From: Ryan Zhao Date: Mon, 23 Oct 2023 17:05:34 +1100 Subject: [PATCH] WIP: clear message requests from community when leaving this community chat --- .../Open Groups/OpenGroupManager.swift | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/SessionMessagingKit/Open Groups/OpenGroupManager.swift b/SessionMessagingKit/Open Groups/OpenGroupManager.swift index 2cdc045e3..d4230c393 100644 --- a/SessionMessagingKit/Open Groups/OpenGroupManager.swift +++ b/SessionMessagingKit/Open Groups/OpenGroupManager.swift @@ -365,13 +365,20 @@ public final class OpenGroupManager { .updateAllAndConfig(db, OpenGroup.Columns.isActive.set(to: false)) } - // Remove the thread and associated data - _ = try? SessionThread - .filter(id: openGroupId) - .deleteAll(db) + //TODO: Remove message requests from this open group - if !calledFromConfigHandling, let server: String = server, let roomToken: String = roomToken { - try? SessionUtil.remove(db, server: server, roomToken: roomToken) + if !calledFromConfigHandling, let server: String = server { + //Remove inbox messages + if let data = try? OpenGroupAPI.preparedClearInbox(db, on: server) { + OpenGroupAPI + .send(data: data) + .map { _ in [server: true] } + .sinkUntilComplete() + } + + if let roomToken: String = roomToken { + try? SessionUtil.remove(db, server: server, roomToken: roomToken) + } } }