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 c6758083f5237a49f659a5621a286022fc8daea9..6f57401d67d6b27a49fefcf85462d97677ca3a4b 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,7 +6,7 @@ import kotlinx.coroutines.CoroutineScope
 import kotlinx.coroutines.Dispatchers
 import kotlinx.coroutines.SupervisorJob
 import kotlinx.coroutines.flow.mapLatest
-import org.futo.circles.core.utils.getAllJoinedCirclesRoomsLiveData
+import org.futo.circles.core.utils.getAllCirclesRoomsLiveData
 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
@@ -52,7 +52,7 @@ fun Session.getServerDomain() = myUserId.substringAfter(":")
 
 
 fun Session.getKnownUsersFlow() =
-    getAllJoinedCirclesRoomsLiveData().asFlow().mapLatest { roomSummaries ->
+    getAllCirclesRoomsLiveData(listOf(Membership.JOIN)).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/feature/room/invites/InvitesDataSource.kt b/core/src/main/java/org/futo/circles/core/feature/room/invites/InvitesDataSource.kt
index bfb75278ca2c52401e6d0a5fa21b7edba227e9e2..0f03f224f806d2cfcdbca5ff17125c2ed2bb8b78 100644
--- a/core/src/main/java/org/futo/circles/core/feature/room/invites/InvitesDataSource.kt
+++ b/core/src/main/java/org/futo/circles/core/feature/room/invites/InvitesDataSource.kt
@@ -28,6 +28,8 @@ import org.futo.circles.core.model.convertToCircleRoomType
 import org.futo.circles.core.model.toCircleUser
 import org.futo.circles.core.model.toRoomInviteListItem
 import org.futo.circles.core.provider.MatrixSessionProvider
+import org.futo.circles.core.utils.getAllCirclesRoomsLiveData
+import org.futo.circles.core.utils.getSpacesLiveData
 import org.matrix.android.sdk.api.session.getRoom
 import org.matrix.android.sdk.api.session.getUserOrDefault
 import org.matrix.android.sdk.api.session.room.model.Membership
@@ -72,28 +74,19 @@ class InvitesDataSource @Inject constructor(
         }?.asFlow() ?: flowOf()
 
     private fun getProfileSpaceInvitesFlow(): Flow<List<ConnectionInviteListItem>> =
-        session?.roomService()?.getRoomSummariesLive(
-            roomSummaryQueryParams {
-                excludeType = null
-                memberships = listOf(Membership.INVITE)
-            })?.map {
-            it.filter { it.roomType == RoomType.SPACE }.map {
+        getSpacesLiveData(listOf(Membership.INVITE)).map {
+            it.filter { it.roomType == RoomType.SPACE }.map { summary ->
                 ConnectionInviteListItem(
-                    it.roomId,
-                    session.getUserOrDefault(it.inviterId ?: "").toCirclesUserSummary()
+                    summary.roomId,
+                    session.getUserOrDefault(summary.inviterId ?: "").toCirclesUserSummary()
                 )
             }
-        }?.asFlow() ?: flowOf()
+        }.asFlow()
 
     private fun getRoomInvitesFlow(
         inviteType: InviteTypeArg
     ): Flow<List<RoomInviteListItem>> = combine(
-        MatrixSessionProvider.getSessionOrThrow().roomService()
-            .getRoomSummariesLive(roomSummaryQueryParams {
-                excludeType = listOf(RoomType.SPACE)
-                memberships = listOf(Membership.INVITE)
-            })
-            .asFlow(),
+        getAllCirclesRoomsLiveData(listOf(Membership.INVITE)).asFlow(),
         MatrixSessionProvider.getSessionOrThrow().getKnownUsersFlow(),
         roomIdsToUnblurProfile
     ) { roomSummaries, knownUsers, roomIdsToUnblur ->
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 650d5913448afa108de461cb91094deb9ca566a8..ed01a8875f1e6a7612b6af000542d9edce730595 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,6 +1,5 @@
 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
@@ -70,10 +69,11 @@ fun getAllJoinedCirclesRoomsAndSpacesLiveData(session: Session = MatrixSessionPr
         memberships = listOf(Membership.JOIN)
     })
 
-fun getAllJoinedCirclesRoomsLiveData() = MatrixSessionProvider.getSessionOrThrow().roomService()
-    .getRoomSummariesLive(roomSummaryQueryParams {
-        excludeType = listOf(roomType, spaceType, null)
-        memberships = listOf(Membership.JOIN)
-    })
+fun getAllCirclesRoomsLiveData(membershipFilter: List<Membership> = Membership.activeMemberships()) =
+    MatrixSessionProvider.getSessionOrThrow().roomService()
+        .getRoomSummariesLive(roomSummaryQueryParams {
+            excludeType = listOf(roomType, spaceType, null)
+            memberships = membershipFilter
+        })