Revert "refactor(bindings): Fetch latest event earlier"

This reverts commit 7d1372195c.
This commit is contained in:
Jonas Platte
2023-01-17 17:45:24 +01:00
committed by Jonas Platte
parent 9e12a88e03
commit e64b2f65da

View File

@@ -90,7 +90,6 @@ pub struct SlidingSyncRoom {
inner: matrix_sdk::SlidingSyncRoom,
timeline: TimelineLock,
client: Client,
latest_room_message: Option<Arc<EventTimelineItem>>,
}
#[uniffi::export]
@@ -130,7 +129,8 @@ impl SlidingSyncRoom {
#[allow(clippy::significant_drop_in_scrutinee)]
pub fn latest_room_message(&self) -> Option<Arc<EventTimelineItem>> {
self.latest_room_message.clone()
let item = RUNTIME.block_on(self.inner.latest_event())?;
Some(Arc::new(EventTimelineItem(item)))
}
}
@@ -565,13 +565,10 @@ impl SlidingSync {
pub fn get_room(&self, room_id: String) -> anyhow::Result<Option<Arc<SlidingSyncRoom>>> {
Ok(self.inner.get_room(OwnedRoomId::try_from(room_id)?).map(|inner| {
let latest_room_message = RUNTIME
.block_on(async { Some(Arc::new(EventTimelineItem(inner.latest_event().await?))) });
Arc::new(SlidingSyncRoom {
inner,
client: self.client.clone(),
timeline: Default::default(),
latest_room_message,
})
}))
}
@@ -590,14 +587,10 @@ impl SlidingSync {
.into_iter()
.map(|o| {
o.map(|inner| {
let latest_room_message = RUNTIME.block_on(async {
Some(Arc::new(EventTimelineItem(inner.latest_event().await?)))
});
Arc::new(SlidingSyncRoom {
inner,
client: self.client.clone(),
timeline: Default::default(),
latest_room_message,
})
})
})