diff --git a/core/src/main/java/org/futo/circles/core/feature/timeline/post/SendMessageDataSource.kt b/core/src/main/java/org/futo/circles/core/feature/timeline/post/SendMessageDataSource.kt index 9f256a565bfb3081e8b36cb7f13bcc571ef97445..62e402c0d9dc4160247ce6350d8890e008f47311 100644 --- a/core/src/main/java/org/futo/circles/core/feature/timeline/post/SendMessageDataSource.kt +++ b/core/src/main/java/org/futo/circles/core/feature/timeline/post/SendMessageDataSource.kt @@ -23,6 +23,7 @@ import org.matrix.android.sdk.api.session.room.getTimelineEvent import org.matrix.android.sdk.api.session.room.model.message.MessageImageContent import org.matrix.android.sdk.api.session.room.model.message.MessageType import org.matrix.android.sdk.api.session.room.model.relation.RelationDefaultContent +import org.matrix.android.sdk.api.session.room.model.relation.ReplyToContent import org.matrix.android.sdk.api.util.Cancelable import org.matrix.android.sdk.api.util.CancelableBag import org.matrix.android.sdk.internal.util.CancelableWork @@ -88,12 +89,22 @@ class SendMessageDataSource @Inject constructor(@ApplicationContext private val val additionalContent = mutableMapOf<String, Any>() caption?.let { additionalContent[MediaCaptionFieldKey] = it } + val relatesTo = threadEventId?.let { + RelationDefaultContent( + type = RelationType.THREAD, + eventId = it, + isFallingBack = true, + inReplyTo = ReplyToContent(eventId = it) + ) + } + return roomForMessage.sendService().sendMedia( content, compressBeforeSending, emptySet(), rootThreadEventId = threadEventId, - additionalContent = additionalContent + additionalContent = additionalContent, + relatesTo = relatesTo ) }