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