diff --git a/core/src/main/java/org/futo/circles/core/extensions/MatrixSessionExtensions.kt b/core/src/main/java/org/futo/circles/core/extensions/MatrixSessionExtensions.kt
index 311d5febc9164dfa15150b6016b046de1ec0f945..c6758083f5237a49f659a5621a286022fc8daea9 100644
--- a/core/src/main/java/org/futo/circles/core/extensions/MatrixSessionExtensions.kt
+++ b/core/src/main/java/org/futo/circles/core/extensions/MatrixSessionExtensions.kt
@@ -6,14 +6,13 @@ import kotlinx.coroutines.CoroutineScope
 import kotlinx.coroutines.Dispatchers
 import kotlinx.coroutines.SupervisorJob
 import kotlinx.coroutines.flow.mapLatest
-import org.matrix.android.sdk.api.extensions.tryOrNull
+import org.futo.circles.core.utils.getAllJoinedCirclesRoomsLiveData
 import org.matrix.android.sdk.api.session.Session
 import org.matrix.android.sdk.api.session.content.ContentUrlResolver
 import org.matrix.android.sdk.api.session.getRoom
 import org.matrix.android.sdk.api.session.getUser
 import org.matrix.android.sdk.api.session.room.members.roomMemberQueryParams
 import org.matrix.android.sdk.api.session.room.model.Membership
-import org.matrix.android.sdk.api.session.room.roomSummaryQueryParams
 import org.matrix.android.sdk.api.session.user.model.User
 
 private val sessionCoroutineScopes = HashMap<String, CoroutineScope>(1)
@@ -52,11 +51,8 @@ fun Session.getUserIdsToExclude() = mutableListOf(
 fun Session.getServerDomain() = myUserId.substringAfter(":")
 
 
-fun Session.getKnownUsersFlow() = roomService().getRoomSummariesLive(roomSummaryQueryParams {
-    excludeType = null
-    memberships = listOf(Membership.JOIN)
-}).asFlow()
-    .mapLatest { roomSummaries ->
+fun Session.getKnownUsersFlow() =
+    getAllJoinedCirclesRoomsLiveData().asFlow().mapLatest { roomSummaries ->
         val knowUsers = mutableSetOf<User>()
         roomSummaries.forEach { summary ->
             val joinedMembersIds = getRoom(summary.roomId)?.membershipService()
diff --git a/core/src/main/java/org/futo/circles/core/utils/MatrixUtils.kt b/core/src/main/java/org/futo/circles/core/utils/MatrixUtils.kt
index db72dff03630b1e9bc65106da9d04ab86dba967d..470cd82a2e4011ca872734193312f8ab1e8da18e 100644
--- a/core/src/main/java/org/futo/circles/core/utils/MatrixUtils.kt
+++ b/core/src/main/java/org/futo/circles/core/utils/MatrixUtils.kt
@@ -1,10 +1,12 @@
 package org.futo.circles.core.utils
 
+import androidx.lifecycle.asFlow
 import org.futo.circles.core.model.GALLERY_TYPE
 import org.futo.circles.core.model.GROUP_TYPE
 import org.futo.circles.core.model.TIMELINE_TYPE
 import org.futo.circles.core.provider.MatrixSessionProvider
 import org.matrix.android.sdk.api.query.RoomCategoryFilter
+import org.matrix.android.sdk.api.session.Session
 import org.matrix.android.sdk.api.session.room.model.Membership
 import org.matrix.android.sdk.api.session.room.model.RoomType
 import org.matrix.android.sdk.api.session.room.roomSummaryQueryParams
@@ -13,6 +15,7 @@ const val roomType = "m.room"
 const val spaceType = RoomType.SPACE
 
 private val roomTypes = listOf(
+    null,
     roomType,
     spaceType,
     GALLERY_TYPE,
@@ -32,7 +35,7 @@ private fun getRoomsWithType(
 ) = MatrixSessionProvider.getSessionOrThrow().roomService()
     .getRoomSummaries(getCirclesRoomTypeFilter(type, membershipFilter))
 
-private fun getCirclesRoomTypeFilter(type:String, membershipFilter: List<Membership>) =
+private fun getCirclesRoomTypeFilter(type: String, membershipFilter: List<Membership>) =
     roomSummaryQueryParams {
         memberships = membershipFilter
         includeType = listOf(type)
@@ -55,4 +58,16 @@ fun getSpacesLiveData(membershipFilter: List<Membership> = Membership.activeMemb
 fun getTimelinesLiveData(membershipFilter: List<Membership> = Membership.activeMemberships()) =
     getRoomsLiveDataWithType(TIMELINE_TYPE, membershipFilter)
 
+fun getAllJoinedCirclesRoomsAndSpaces(session: Session = MatrixSessionProvider.getSessionOrThrow()) =
+    session.roomService().getRoomSummaries(roomSummaryQueryParams {
+        excludeType = listOf(roomType, null)
+        memberships = listOf(Membership.JOIN)
+    })
+
+fun getAllJoinedCirclesRoomsLiveData() = MatrixSessionProvider.getSessionOrThrow().roomService()
+    .getRoomSummariesLive(roomSummaryQueryParams {
+        excludeType = listOf(roomType, spaceType, null)
+        memberships = listOf(Membership.JOIN)
+    })
+