From 2beeccce7fe5325ac5e9c777f661e94b1e7960ad Mon Sep 17 00:00:00 2001
From: Taras Smakula <tarassmakula@gmail.com>
Date: Fri, 29 Sep 2023 15:46:48 +0300
Subject: [PATCH] Remove from parent space on delete circle

---
 .../java/org/futo/circles/feature/circles/CirclesDataSource.kt  | 2 +-
 .../org/futo/circles/core/room/leave/LeaveRoomDataSource.kt     | 1 +
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/app/src/main/java/org/futo/circles/feature/circles/CirclesDataSource.kt b/app/src/main/java/org/futo/circles/feature/circles/CirclesDataSource.kt
index f876fe84b..cc5b9ccbd 100644
--- a/app/src/main/java/org/futo/circles/feature/circles/CirclesDataSource.kt
+++ b/app/src/main/java/org/futo/circles/feature/circles/CirclesDataSource.kt
@@ -79,7 +79,7 @@ class CirclesDataSource @Inject constructor(
         val sharedCircleSpaceId = sharedCircleDataSource.getSharedCirclesSpaceId()
         val ids = getJoinedRoomById(circlesSpaceId)?.roomSummary()?.spaceChildren
             ?.map { it.childRoomId }
-            ?.filter { it != sharedCircleSpaceId }
+            ?.filter { it != sharedCircleSpaceId && getJoinedRoomById(it) != null }
         return ids ?: emptyList()
     }
 
diff --git a/core/src/main/java/org/futo/circles/core/room/leave/LeaveRoomDataSource.kt b/core/src/main/java/org/futo/circles/core/room/leave/LeaveRoomDataSource.kt
index 12924c682..a2b608e10 100644
--- a/core/src/main/java/org/futo/circles/core/room/leave/LeaveRoomDataSource.kt
+++ b/core/src/main/java/org/futo/circles/core/room/leave/LeaveRoomDataSource.kt
@@ -29,6 +29,7 @@ class LeaveRoomDataSource @Inject constructor(
         createResult { session?.roomService()?.leaveRoom(roomId) }
 
     suspend fun deleteCircle() = createResult {
+        roomRelationsBuilder.removeFromAllParents(roomId)
         room?.roomSummary()?.spaceChildren?.forEach {
             roomRelationsBuilder.removeRelations(it.childRoomId, roomId)
         }
-- 
GitLab