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 f876fe84b1b51e83329a92d52e8c302d6e4b97a8..cc5b9ccbd7fc1a4e1e771ff76ab7f53219284484 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 12924c682eba811da14aa4749a92fd0c15ee7531..a2b608e109a8b20560cf16039df8b277d91bc306 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) }