Add suggestions section to InvitePeopleView

This commit is contained in:
ganfra 2026-01-19 17:35:39 +01:00
parent 1070b55bb9
commit 660265e8d8
11 changed files with 227 additions and 48 deletions

View file

@ -23,6 +23,7 @@ import io.element.android.libraries.matrix.api.room.RoomMember
import io.element.android.libraries.matrix.api.room.RoomMembersState
import io.element.android.libraries.matrix.api.room.RoomMembershipObserver
import io.element.android.libraries.matrix.api.room.draft.ComposerDraft
import io.element.android.libraries.matrix.api.room.isDm
import io.element.android.libraries.matrix.api.room.powerlevels.RoomPermissions
import io.element.android.libraries.matrix.api.room.powerlevels.RoomPowerLevelsValues
import io.element.android.libraries.matrix.api.room.tombstone.PredecessorRoom
@ -112,6 +113,20 @@ class RustBaseRoom(
}
}
override suspend fun getDirectRoomMember(): RoomMember? = withContext(roomDispatcher) {
runCatchingExceptions {
if (info().isDm) {
innerRoom.membersNoSync().use { members ->
members.nextChunk(members.len())
?.map(RoomMemberMapper::map)
?.firstOrNull { roomMember -> roomMember.userId != sessionId && roomMember.membership.isActive() }
}
} else {
null
}
}.getOrNull()
}
override suspend fun getUpdatedMember(userId: UserId): Result<RoomMember> = withContext(roomDispatcher) {
runCatchingExceptions {
RoomMemberMapper.map(innerRoom.member(userId.value))