From d5aa766019d988a298c5c6f9316257c5623366ef Mon Sep 17 00:00:00 2001
From: Taras Smakula <tarassmakula@gmail.com>
Date: Wed, 10 Jan 2024 15:46:54 +0200
Subject: [PATCH] Fix get user for people page

---
 .../circles/core/extensions/MatrixSessionExtensions.kt     | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

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 67e555547..311d5febc 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,6 +6,7 @@ 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.matrix.android.sdk.api.session.Session
 import org.matrix.android.sdk.api.session.content.ContentUrlResolver
 import org.matrix.android.sdk.api.session.getRoom
@@ -50,8 +51,6 @@ fun Session.getUserIdsToExclude() = mutableListOf(
 
 fun Session.getServerDomain() = myUserId.substringAfter(":")
 
-suspend fun Session.getOrFetchUser(userId: String): User =
-    getUser(userId) ?: userService().resolveUser(userId)
 
 fun Session.getKnownUsersFlow() = roomService().getRoomSummariesLive(roomSummaryQueryParams {
     excludeType = null
@@ -64,7 +63,9 @@ fun Session.getKnownUsersFlow() = roomService().getRoomSummariesLive(roomSummary
                 ?.getRoomMembers(roomMemberQueryParams {
                     memberships = listOf(Membership.JOIN)
                 })?.map { it.userId } ?: emptyList()
-            joinedMembersIds.forEach { knowUsers.add(getOrFetchUser(it)) }
+            joinedMembersIds.forEach {
+                getUser(it)?.let { user -> knowUsers.add(user) }
+            }
         }
         knowUsers.toList().filterNot { getUserIdsToExclude().contains(it.userId) }
     }
-- 
GitLab