mirror of
https://github.com/matrix-org/matrix-rust-sdk.git
synced 2026-05-07 07:27:45 -04:00
sdk: Rename details field to event in InReplyToDetails
This commit is contained in:
committed by
Jonas Platte
parent
ef3ffda2d3
commit
5b512f020e
@@ -174,14 +174,14 @@ pub struct InReplyToDetails {
|
||||
///
|
||||
/// [`Timeline::fetch_item_details`]: super::Timeline::fetch_item_details
|
||||
/// [`TimelineDetailsSettings`]: super::TimelineDetailsSettings
|
||||
pub details: TimelineDetails<Box<RepliedToEvent>>,
|
||||
pub event: TimelineDetails<Box<RepliedToEvent>>,
|
||||
}
|
||||
|
||||
impl InReplyToDetails {
|
||||
pub(in crate::room::timeline) fn from_relation<C>(relation: Relation<C>) -> Option<Self> {
|
||||
match relation {
|
||||
message::Relation::Reply { in_reply_to } => {
|
||||
Some(Self { event_id: in_reply_to.event_id, details: TimelineDetails::Unavailable })
|
||||
Some(Self { event_id: in_reply_to.event_id, event: TimelineDetails::Unavailable })
|
||||
}
|
||||
_ => None,
|
||||
}
|
||||
|
||||
@@ -562,7 +562,7 @@ impl TimelineInner {
|
||||
return Ok(item);
|
||||
};
|
||||
|
||||
let details = fetch_replied_to_event(
|
||||
let event = fetch_replied_to_event(
|
||||
state,
|
||||
index,
|
||||
&item,
|
||||
@@ -588,9 +588,12 @@ impl TimelineInner {
|
||||
return Ok(item);
|
||||
};
|
||||
|
||||
item.set_content(TimelineItemContent::Message(message.with_in_reply_to(
|
||||
InReplyToDetails { event_id: in_reply_to.event_id.clone(), details },
|
||||
)));
|
||||
item.set_content(TimelineItemContent::Message(
|
||||
message.with_in_reply_to(InReplyToDetails {
|
||||
event_id: in_reply_to.event_id.clone(),
|
||||
event,
|
||||
}),
|
||||
));
|
||||
state.items.set(index, Arc::new(TimelineItem::Event(item.clone().into())));
|
||||
|
||||
Ok(item)
|
||||
@@ -696,7 +699,7 @@ async fn fetch_replied_to_event(
|
||||
|
||||
let reply = message.with_in_reply_to(InReplyToDetails {
|
||||
event_id: in_reply_to.to_owned(),
|
||||
details: TimelineDetails::Pending,
|
||||
event: TimelineDetails::Pending,
|
||||
});
|
||||
let event_item = item.apply_edit(TimelineItemContent::Message(reply), None).into();
|
||||
state.items.set(index, Arc::new(TimelineItem::Event(event_item)));
|
||||
|
||||
@@ -662,14 +662,14 @@ async fn in_reply_to_details() {
|
||||
assert_matches!(second_event.content(), TimelineItemContent::Message(message) => message);
|
||||
let in_reply_to = message.in_reply_to().unwrap();
|
||||
assert_eq!(in_reply_to.event_id, event_id!("$event1"));
|
||||
assert_matches!(in_reply_to.details, TimelineDetails::Unavailable);
|
||||
assert_matches!(in_reply_to.event, TimelineDetails::Unavailable);
|
||||
|
||||
// Fetch details locally first.
|
||||
timeline.fetch_event_details(second_event.event_id()).await.unwrap();
|
||||
|
||||
let second = assert_matches!(timeline_stream.next().await, Some(VectorDiff::Set { index: 2, value }) => value);
|
||||
let message = assert_matches!(second.as_event().unwrap().content(), TimelineItemContent::Message(message) => message);
|
||||
assert_matches!(message.in_reply_to().unwrap().details, TimelineDetails::Ready(_));
|
||||
assert_matches!(message.in_reply_to().unwrap().event, TimelineDetails::Ready(_));
|
||||
|
||||
ev_builder.add_joined_room(JoinedRoomBuilder::new(room_id).add_timeline_event(
|
||||
TimelineTestEvent::Custom(json!({
|
||||
@@ -702,7 +702,7 @@ async fn in_reply_to_details() {
|
||||
assert_matches!(third_event.content(), TimelineItemContent::Message(message) => message);
|
||||
let in_reply_to = message.in_reply_to().unwrap();
|
||||
assert_eq!(in_reply_to.event_id, event_id!("$remoteevent"));
|
||||
assert_matches!(in_reply_to.details, TimelineDetails::Unavailable);
|
||||
assert_matches!(in_reply_to.event, TimelineDetails::Unavailable);
|
||||
|
||||
Mock::given(method("GET"))
|
||||
.and(path_regex(r"^/_matrix/client/r0/rooms/.*/event/\$remoteevent"))
|
||||
@@ -721,11 +721,11 @@ async fn in_reply_to_details() {
|
||||
|
||||
let third = assert_matches!(timeline_stream.next().await, Some(VectorDiff::Set { index: 3, value }) => value);
|
||||
let message = assert_matches!(third.as_event().unwrap().content(), TimelineItemContent::Message(message) => message);
|
||||
assert_matches!(message.in_reply_to().unwrap().details, TimelineDetails::Pending);
|
||||
assert_matches!(message.in_reply_to().unwrap().event, TimelineDetails::Pending);
|
||||
|
||||
let third = assert_matches!(timeline_stream.next().await, Some(VectorDiff::Set { index: 3, value }) => value);
|
||||
let message = assert_matches!(third.as_event().unwrap().content(), TimelineItemContent::Message(message) => message);
|
||||
assert_matches!(message.in_reply_to().unwrap().details, TimelineDetails::Error(_));
|
||||
assert_matches!(message.in_reply_to().unwrap().event, TimelineDetails::Error(_));
|
||||
|
||||
Mock::given(method("GET"))
|
||||
.and(path_regex(r"^/_matrix/client/r0/rooms/.*/event/\$remoteevent"))
|
||||
@@ -749,11 +749,11 @@ async fn in_reply_to_details() {
|
||||
|
||||
let third = assert_matches!(timeline_stream.next().await, Some(VectorDiff::Set { index: 3, value }) => value);
|
||||
let message = assert_matches!(third.as_event().unwrap().content(), TimelineItemContent::Message(message) => message);
|
||||
assert_matches!(message.in_reply_to().unwrap().details, TimelineDetails::Pending);
|
||||
assert_matches!(message.in_reply_to().unwrap().event, TimelineDetails::Pending);
|
||||
|
||||
let third = assert_matches!(timeline_stream.next().await, Some(VectorDiff::Set { index: 3, value }) => value);
|
||||
let message = assert_matches!(third.as_event().unwrap().content(), TimelineItemContent::Message(message) => message);
|
||||
assert_matches!(message.in_reply_to().unwrap().details, TimelineDetails::Ready(_));
|
||||
assert_matches!(message.in_reply_to().unwrap().event, TimelineDetails::Ready(_));
|
||||
}
|
||||
|
||||
#[async_test]
|
||||
|
||||
Reference in New Issue
Block a user