Merge branch 'develop' into feature/valere/call/decline_timeline_rendering

This commit is contained in:
Valere 2026-05-11 11:21:02 +02:00
commit a478d87fc3
995 changed files with 7864 additions and 3674 deletions

View file

@ -34,6 +34,7 @@ import io.element.android.libraries.matrix.api.room.NotJoinedRoom
import io.element.android.libraries.matrix.api.room.RoomInfo
import io.element.android.libraries.matrix.api.room.RoomMembershipObserver
import io.element.android.libraries.matrix.api.room.alias.ResolvedRoomAlias
import io.element.android.libraries.matrix.api.room.location.BeaconInfoUpdate
import io.element.android.libraries.matrix.api.roomdirectory.RoomDirectoryService
import io.element.android.libraries.matrix.api.roomlist.RoomListService
import io.element.android.libraries.matrix.api.spaces.SpaceService
@ -67,6 +68,7 @@ interface MatrixClient {
val sessionCoroutineScope: CoroutineScope
val ignoredUsersFlow: StateFlow<ImmutableList<UserId>>
val roomMembershipObserver: RoomMembershipObserver
val ownBeaconInfoUpdates: Flow<BeaconInfoUpdate>
suspend fun getJoinedRoom(roomId: RoomId): JoinedRoom?
suspend fun getRoom(roomId: RoomId): BaseRoom?
suspend fun findDM(userId: UserId): Result<RoomId?>

View file

@ -0,0 +1,12 @@
/*
* Copyright (c) 2026 Element Creations Ltd.
*
* SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial.
* Please see LICENSE files in the repository root for full details.
*/
package io.element.android.libraries.matrix.api.room.location
import io.element.android.libraries.matrix.api.core.EventId
typealias BeaconId = EventId

View file

@ -0,0 +1,16 @@
/*
* Copyright (c) 2026 Element Creations Ltd.
*
* SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial.
* Please see LICENSE files in the repository root for full details.
*/
package io.element.android.libraries.matrix.api.room.location
import io.element.android.libraries.matrix.api.core.RoomId
data class BeaconInfoUpdate(
val roomId: RoomId,
val beaconId: BeaconId,
val isLive: Boolean,
)

View file

@ -0,0 +1,14 @@
/*
* Copyright (c) 2026 Element Creations Ltd.
*
* SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial.
* Please see LICENSE files in the repository root for full details.
*/
package io.element.android.libraries.matrix.api.room.location
sealed class LiveLocationException(message: String?) : Exception(message) {
class NotLive : LiveLocationException("The beacon event has expired.")
class Network : LiveLocationException("Network error")
class Other(val exception: Exception) : LiveLocationException(exception.message)
}

View file

@ -21,6 +21,8 @@ data class LiveLocationShare(
val startTimestamp: Long,
/** The timestamp when location sharing ends, in milliseconds. */
val endTimestamp: Long,
/** The event id from the beacon info. */
val beaconId: BeaconId
)
data class LastLocation(

View file

@ -19,4 +19,6 @@ data class RoomPowerLevelsValues(
val roomAvatar: Long,
val roomTopic: Long,
val spaceChild: Long,
val beacon: Long,
val beaconInfo: Long,
)

View file

@ -33,7 +33,7 @@ interface SessionVerificationService {
/**
* Request verification of the current session.
*/
suspend fun requestCurrentSessionVerification()
suspend fun requestDeviceVerification()
/**
* Request verification of the user with the given [userId].
@ -56,9 +56,9 @@ interface SessionVerificationService {
suspend fun declineVerification()
/**
* Starts the verification of the unverified session from another device.
* Transition the current verification request into a SAS verification flow.
*/
suspend fun startVerification()
suspend fun startSasVerification()
/**
* Returns the verification service state to the initial step.