Skip to content

Commit c2160ff

Browse files
committed
common: Adapt to new type of bundled thread
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
1 parent 3c415eb commit c2160ff

File tree

3 files changed

+12
-7
lines changed

3 files changed

+12
-7
lines changed

crates/matrix-sdk-common/src/deserialized_responses.rs

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,10 @@ use std::{collections::BTreeMap, fmt, sync::Arc};
1717
#[cfg(doc)]
1818
use ruma::events::AnyTimelineEvent;
1919
use ruma::{
20-
events::{AnyMessageLikeEvent, AnySyncTimelineEvent, AnyToDeviceEvent, MessageLikeEventType},
20+
events::{
21+
AnyMessageLikeEvent, AnySyncMessageLikeEvent, AnySyncTimelineEvent, AnyToDeviceEvent,
22+
MessageLikeEventType,
23+
},
2124
push::Action,
2225
serde::{
2326
AsRefStr, AsStrAsRefStr, DebugAsRefStr, DeserializeFromCowStr, FromString, JsonObject, Raw,
@@ -542,7 +545,7 @@ impl TimelineEvent {
542545
/// encryption status for it.
543546
fn from_bundled_latest_event(
544547
this: &TimelineEventKind,
545-
latest_event: Option<Raw<AnyMessageLikeEvent>>,
548+
latest_event: Option<Raw<AnySyncMessageLikeEvent>>,
546549
) -> Option<Box<Self>> {
547550
let latest_event = latest_event?;
548551

@@ -559,7 +562,9 @@ impl TimelineEvent {
559562
// information around.
560563
return Some(Box::new(TimelineEvent::from_decrypted(
561564
DecryptedRoomEvent {
562-
event: latest_event,
565+
// Safety: A decrypted event always includes a room_id in its
566+
// payload.
567+
event: latest_event.cast(),
563568
encryption_info: encryption_info.clone(),
564569
// A bundled latest event is never a thread root. It could have
565570
// a replacement event, but we don't carry this information

crates/matrix-sdk-common/src/serde_helpers.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
//! to access some fields.
1717
1818
use ruma::{
19-
events::{relation::BundledThread, AnyMessageLikeEvent, AnySyncTimelineEvent},
19+
events::{relation::BundledThread, AnySyncMessageLikeEvent, AnySyncTimelineEvent},
2020
serde::Raw,
2121
OwnedEventId,
2222
};
@@ -76,7 +76,7 @@ struct Unsigned {
7676
/// Try to extract a bundled thread summary of a timeline event, if available.
7777
pub fn extract_bundled_thread_summary(
7878
event: &Raw<AnySyncTimelineEvent>,
79-
) -> (ThreadSummaryStatus, Option<Raw<AnyMessageLikeEvent>>) {
79+
) -> (ThreadSummaryStatus, Option<Raw<AnySyncMessageLikeEvent>>) {
8080
match event.get_field::<Unsigned>("unsigned") {
8181
Ok(Some(Unsigned { relations: Some(Relations { thread: Some(bundled_thread) }) })) => {
8282
// Take the count from the bundled thread summary, if available. If it can't be

testing/matrix-sdk-test/src/event_factory.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ use ruma::{
5959
},
6060
sticker::StickerEventContent,
6161
typing::TypingEventContent,
62-
AnyMessageLikeEvent, AnyStateEvent, AnySyncStateEvent, AnySyncTimelineEvent,
62+
AnyStateEvent, AnySyncMessageLikeEvent, AnySyncStateEvent, AnySyncTimelineEvent,
6363
AnyTimelineEvent, BundledMessageLikeRelations, RedactedMessageLikeEventContent,
6464
RedactedStateEventContent, StateEventContent, StaticEventContent,
6565
},
@@ -196,7 +196,7 @@ impl<E: StaticEventContent> EventBuilder<E> {
196196
/// this event.
197197
pub fn with_bundled_thread_summary(
198198
mut self,
199-
latest_event: Raw<AnyMessageLikeEvent>,
199+
latest_event: Raw<AnySyncMessageLikeEvent>,
200200
count: usize,
201201
current_user_participated: bool,
202202
) -> Self {

0 commit comments

Comments
 (0)