Composer: Edit and reply.

TODO: call renderComposerMode and highlight selected item.
This commit is contained in:
Benoit Marty 2022-11-29 16:52:25 +01:00 committed by Benoit Marty
parent 45cf334d6e
commit 715a4de4c4
13 changed files with 152 additions and 14 deletions

View file

@ -82,6 +82,22 @@ class MatrixRoom(
}
}
suspend fun editMessage(originalEventId: String, message: String): Result<Unit> = withContext(coroutineDispatchers.io) {
val transactionId = genTransactionId()
val content = messageEventContentFromMarkdown(message)
runCatching {
room.edit(/* TODO use content */ message, originalEventId, transactionId)
}
}
suspend fun replyMessage(eventId: String, message: String): Result<Unit> = withContext(coroutineDispatchers.io) {
val transactionId = genTransactionId()
val content = messageEventContentFromMarkdown(message)
runCatching {
room.sendReply(/* TODO use content */ message, eventId, transactionId)
}
}
suspend fun redactEvent(eventId: String, reason: String? = null, ) = withContext(coroutineDispatchers.io) {
val transactionId = genTransactionId()
runCatching {

View file

@ -124,6 +124,14 @@ class MatrixTimeline(
return matrixRoom.sendMessage(message)
}
suspend fun editMessage(originalEventId: String, message: String): Result<Unit> {
return matrixRoom.editMessage(originalEventId, message = message)
}
suspend fun replyMessage(inReplyToEventId: String, message: String): Result<Unit> {
return matrixRoom.replyMessage(inReplyToEventId, message)
}
override fun onUpdate(update: TimelineDiff) {
coroutineScope.launch {
updateTimelineItems {