diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustMatrixRoom.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustMatrixRoom.kt index 74b6027cc7..2f4f6270d8 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustMatrixRoom.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustMatrixRoom.kt @@ -105,8 +105,12 @@ class RustMatrixRoom( override val roomInfoFlow: Flow = mxCallbackFlow { launch { - val initial = innerRoom.roomInfo().let(matrixRoomInfoMapper::map) - channel.trySend(initial) + runCatching { innerRoom.roomInfo() } + .getOrNull() + ?.let(matrixRoomInfoMapper::map) + ?.let { initial -> + channel.trySend(initial) + } } innerRoom.subscribeToRoomInfoUpdates(object : RoomInfoListener { override fun call(roomInfo: RoomInfo) { @@ -623,9 +627,13 @@ class RustMatrixRoom( innerRoom.sendCallNotificationIfNeeded() } - override suspend fun setSendQueueEnabled(enabled: Boolean) = withContext(roomDispatcher) { - Timber.d("setSendQueuesEnabled: $enabled") - innerRoom.enableSendQueue(enabled) + override suspend fun setSendQueueEnabled(enabled: Boolean) { + withContext(roomDispatcher) { + Timber.d("setSendQueuesEnabled: $enabled") + runCatching { + innerRoom.enableSendQueue(enabled) + } + } } override suspend fun saveComposerDraft(composerDraft: ComposerDraft): Result = runCatching {