diff --git a/libraries/matrix/src/main/java/io/element/android/x/matrix/room/MatrixRoom.kt b/libraries/matrix/src/main/java/io/element/android/x/matrix/room/MatrixRoom.kt index 19ff07ddaf..21db524861 100644 --- a/libraries/matrix/src/main/java/io/element/android/x/matrix/room/MatrixRoom.kt +++ b/libraries/matrix/src/main/java/io/element/android/x/matrix/room/MatrixRoom.kt @@ -9,9 +9,7 @@ import kotlinx.coroutines.flow.filter import kotlinx.coroutines.flow.map import kotlinx.coroutines.flow.onStart import kotlinx.coroutines.withContext -import org.matrix.rustcomponents.sdk.Room -import org.matrix.rustcomponents.sdk.SlidingSyncRoom -import org.matrix.rustcomponents.sdk.UpdateSummary +import org.matrix.rustcomponents.sdk.* class MatrixRoom( private val slidingSyncUpdateFlow: Flow, @@ -69,4 +67,11 @@ class MatrixRoom( } } + suspend fun sendMessage(message: String): Result = withContext(coroutineDispatchers.io) { + val transactionId = genTransactionId() + val content = messageEventContentFromMarkdown(message) + runCatching { + room.send(content, transactionId) + } + } } \ No newline at end of file diff --git a/libraries/matrix/src/main/java/io/element/android/x/matrix/timeline/MatrixTimeline.kt b/libraries/matrix/src/main/java/io/element/android/x/matrix/timeline/MatrixTimeline.kt index 0af2f40259..94bf358beb 100644 --- a/libraries/matrix/src/main/java/io/element/android/x/matrix/timeline/MatrixTimeline.kt +++ b/libraries/matrix/src/main/java/io/element/android/x/matrix/timeline/MatrixTimeline.kt @@ -43,7 +43,7 @@ class MatrixTimeline( private fun diffFlow(): Flow { return room.timelineDiff() - .chunk(100) + .chunk(30) .onEach { timelineDiffs -> updateTimelineItems { timelineDiffs.onEach { @@ -119,10 +119,7 @@ class MatrixTimeline( * @param message markdown message */ suspend fun sendMessage(message: String): Result { - val transactionId = genTransactionId() - val content = messageEventContentFromMarkdown(message) - room.send(content, transactionId) - return Result.success(Unit) + return matrixRoom.sendMessage(message) } } \ No newline at end of file