Open any user permalink.

This commit is contained in:
Benoit Marty 2024-04-17 16:51:38 +02:00 committed by Benoit Marty
parent 9950d3c0fa
commit b6c7a2fbe3

View file

@ -46,7 +46,6 @@ import io.element.android.libraries.matrix.api.permalink.PermalinkData
import io.element.android.libraries.matrix.api.permalink.PermalinkParser import io.element.android.libraries.matrix.api.permalink.PermalinkParser
import io.element.android.libraries.matrix.api.room.MatrixRoom import io.element.android.libraries.matrix.api.room.MatrixRoom
import io.element.android.libraries.matrix.api.room.alias.matches import io.element.android.libraries.matrix.api.room.alias.matches
import io.element.android.libraries.matrix.api.room.roomMembers
import io.element.android.libraries.matrix.api.timeline.item.TimelineItemDebugInfo import io.element.android.libraries.matrix.api.timeline.item.TimelineItemDebugInfo
import io.element.android.libraries.mediaplayer.api.MediaPlayer import io.element.android.libraries.mediaplayer.api.MediaPlayer
import io.element.android.services.analytics.api.AnalyticsService import io.element.android.services.analytics.api.AnalyticsService
@ -120,13 +119,9 @@ class MessagesNode @AssistedInject constructor(
) { ) {
when (val permalink = permalinkParser.parse(url)) { when (val permalink = permalinkParser.parse(url)) {
is PermalinkData.UserLink -> { is PermalinkData.UserLink -> {
if (permalink.userId in room.membersStateFlow.value.roomMembers().orEmpty().map { it.userId }) { // Open the room member profile, it will fallback to
// Open the room member profile // the user profile if the user is not in the room
callback?.onUserDataClicked(permalink.userId) callback?.onUserDataClicked(permalink.userId)
} else {
// The user is not a member of the room
callback?.onPermalinkClicked(permalink)
}
} }
is PermalinkData.RoomLink -> { is PermalinkData.RoomLink -> {
handleRoomLinkClicked(permalink) handleRoomLinkClicked(permalink)