mirror of
https://github.com/matrix-org/matrix-rust-sdk.git
synced 2026-05-09 08:27:32 -04:00
ffi: Add in_reply_to field to MessageLikeEventContent::RoomMessage
This commit is contained in:
committed by
Jonas Platte
parent
af400357f5
commit
03bbdce15f
@@ -1,7 +1,7 @@
|
||||
use anyhow::{bail, Context};
|
||||
use ruma::events::{
|
||||
AnySyncMessageLikeEvent, AnySyncStateEvent, AnySyncTimelineEvent, AnyTimelineEvent,
|
||||
MessageLikeEventContent as RumaMessageLikeEventContent, RedactContent,
|
||||
room::message::Relation, AnySyncMessageLikeEvent, AnySyncStateEvent, AnySyncTimelineEvent,
|
||||
AnyTimelineEvent, MessageLikeEventContent as RumaMessageLikeEventContent, RedactContent,
|
||||
RedactedStateEventContent, StaticStateEventContent, SyncMessageLikeEvent, SyncStateEvent,
|
||||
};
|
||||
|
||||
@@ -128,7 +128,7 @@ pub enum MessageLikeEventContent {
|
||||
KeyVerificationDone,
|
||||
ReactionContent { related_event_id: String },
|
||||
RoomEncrypted,
|
||||
RoomMessage { message_type: MessageType },
|
||||
RoomMessage { message_type: MessageType, in_reply_to_event_id: Option<String> },
|
||||
RoomRedaction,
|
||||
Sticker,
|
||||
}
|
||||
@@ -172,8 +172,14 @@ impl TryFrom<AnySyncMessageLikeEvent> for MessageLikeEventContent {
|
||||
AnySyncMessageLikeEvent::RoomEncrypted(_) => MessageLikeEventContent::RoomEncrypted,
|
||||
AnySyncMessageLikeEvent::RoomMessage(content) => {
|
||||
let original_content = get_message_like_event_original_content(content)?;
|
||||
let in_reply_to_event_id =
|
||||
original_content.relates_to.and_then(|relation| match relation {
|
||||
Relation::Reply { in_reply_to } => Some(in_reply_to.event_id.to_string()),
|
||||
_ => None,
|
||||
});
|
||||
MessageLikeEventContent::RoomMessage {
|
||||
message_type: original_content.msgtype.try_into()?,
|
||||
in_reply_to_event_id,
|
||||
}
|
||||
}
|
||||
AnySyncMessageLikeEvent::RoomRedaction(_) => MessageLikeEventContent::RoomRedaction,
|
||||
|
||||
Reference in New Issue
Block a user