Skip to content

Commit 013c7d7

Browse files
committed
chore: Update to latest Ruma version.
1 parent 5828561 commit 013c7d7

File tree

5 files changed

+40
-153
lines changed

5 files changed

+40
-153
lines changed

crates/matrix-sdk-crypto/src/machine/tests/mod.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1323,8 +1323,8 @@ async fn test_unsigned_decryption() {
13231323

13241324
// Encrypt a second message, an edit.
13251325
let second_message_text = "This is the ~~original~~ edited message";
1326-
let second_message_content = RoomMessageEventContent::text_plain(second_message_text)
1327-
.make_replacement(first_message, None);
1326+
let second_message_content =
1327+
RoomMessageEventContent::text_plain(second_message_text).make_replacement(first_message);
13281328
let second_message_encrypted_content =
13291329
alice.encrypt_room_event(room_id, second_message_content).await.unwrap();
13301330

crates/matrix-sdk-ui/src/timeline/event_item/content/message.rs

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -145,16 +145,6 @@ impl Message {
145145
self.mentions.as_ref()
146146
}
147147

148-
pub(in crate::timeline) fn to_content(&self) -> RoomMessageEventContent {
149-
// Like the `impl From<Message> for RoomMessageEventContent` below, but
150-
// takes &self and only copies what's needed.
151-
let relates_to = make_relates_to(
152-
self.thread_root.clone(),
153-
self.in_reply_to.as_ref().map(|details| details.event_id.clone()),
154-
);
155-
assign!(RoomMessageEventContent::new(self.msgtype.clone()), { relates_to })
156-
}
157-
158148
pub(in crate::timeline) fn with_in_reply_to(&self, in_reply_to: InReplyToDetails) -> Self {
159149
Self { in_reply_to: Some(in_reply_to), ..self.clone() }
160150
}

crates/matrix-sdk-ui/src/timeline/event_item/mod.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -566,7 +566,6 @@ impl EventTimelineItem {
566566
Ok(RepliedToInfo {
567567
event_id: event_id.to_owned(),
568568
sender: self.sender().to_owned(),
569-
timestamp: self.timestamp(),
570569
content: reply_content,
571570
})
572571
}

crates/matrix-sdk-ui/src/timeline/mod.rs

Lines changed: 18 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -39,18 +39,18 @@ use ruma::{
3939
events::{
4040
poll::unstable_start::{NewUnstablePollStartEventContent, UnstablePollStartEventContent},
4141
receipt::{Receipt, ReceiptThread},
42+
relation::Thread,
4243
room::{
4344
message::{
44-
AddMentions, ForwardThread, OriginalRoomMessageEvent,
45-
RoomMessageEventContentWithoutRelation,
45+
AddMentions, ForwardThread, ReplyMetadata, RoomMessageEventContentWithoutRelation,
4646
},
4747
pinned_events::RoomPinnedEventsEventContent,
4848
},
4949
AnyMessageLikeEventContent, AnySyncMessageLikeEvent, AnySyncTimelineEvent,
5050
SyncMessageLikeEvent,
5151
},
5252
serde::Raw,
53-
EventId, MilliSecondsSinceUnixEpoch, OwnedEventId, OwnedUserId, RoomVersionId, UserId,
53+
EventId, OwnedEventId, OwnedUserId, RoomVersionId, UserId,
5454
};
5555
use thiserror::Error;
5656
use tracing::{error, instrument, trace, warn};
@@ -104,8 +104,6 @@ pub struct RepliedToInfo {
104104
event_id: OwnedEventId,
105105
/// The sender of the event to reply to.
106106
sender: OwnedUserId,
107-
/// The timestamp of the event to reply to.
108-
timestamp: MilliSecondsSinceUnixEpoch,
109107
/// The content of the event to reply to.
110108
content: ReplyContent,
111109
}
@@ -343,7 +341,8 @@ impl Timeline {
343341
replied_to_info: RepliedToInfo,
344342
forward_thread: ForwardThread,
345343
) -> Result<(), RoomSendQueueError> {
346-
let event_id = replied_to_info.event_id;
344+
let event_id = &replied_to_info.event_id;
345+
let sender = &replied_to_info.sender;
347346

348347
// [The specification](https://spec.matrix.org/v1.10/client-server-api/#user-and-room-mentions) says:
349348
//
@@ -352,32 +351,21 @@ impl Timeline {
352351
//
353352
// If the replied to event has been written by the current user, let's toggle to
354353
// `AddMentions::No`.
355-
let mention_the_sender = if self.room().own_user_id() == replied_to_info.sender {
356-
AddMentions::No
357-
} else {
358-
AddMentions::Yes
354+
let mention_the_sender =
355+
if self.room().own_user_id() == sender { AddMentions::No } else { AddMentions::Yes };
356+
357+
let thread = match replied_to_info.content {
358+
ReplyContent::Message(message) => message
359+
.thread_root()
360+
.map(|thread_root| Thread::plain(thread_root.clone(), event_id.clone())),
361+
ReplyContent::Raw(_raw_event) => None,
359362
};
360363

361-
let content = match replied_to_info.content {
362-
ReplyContent::Message(msg) => {
363-
let event = OriginalRoomMessageEvent {
364-
event_id: event_id.to_owned(),
365-
sender: replied_to_info.sender,
366-
origin_server_ts: replied_to_info.timestamp,
367-
room_id: self.room().room_id().to_owned(),
368-
content: msg.to_content(),
369-
unsigned: Default::default(),
370-
};
371-
content.make_reply_to(&event, forward_thread, mention_the_sender)
372-
}
373-
ReplyContent::Raw(raw_event) => content.make_reply_to_raw(
374-
&raw_event,
375-
event_id.to_owned(),
376-
self.room().room_id(),
377-
forward_thread,
378-
mention_the_sender,
379-
),
380-
};
364+
let content = content.make_reply_to(
365+
ReplyMetadata::new(event_id, sender, thread.as_ref()),
366+
forward_thread,
367+
mention_the_sender,
368+
);
381369

382370
self.send(content.into()).await?;
383371

@@ -425,7 +413,6 @@ impl Timeline {
425413
Ok(RepliedToInfo {
426414
event_id: event_id.to_owned(),
427415
sender: sync_event.sender().to_owned(),
428-
timestamp: sync_event.origin_server_ts(),
429416
content: reply_content,
430417
})
431418
}

0 commit comments

Comments
 (0)