Skip to content

Commit c9191bf

Browse files
committed
feat(ui): TimelineFocusKind::PinnedEvents now uses PinnedEventsCache.
This patch updates `TimelineFocusKind::PinnedEvents { event_cache }` to use a `PinnedEventsCache` instead of a `RoomEventCache`.
1 parent 81a2fb0 commit c9191bf

2 files changed

Lines changed: 10 additions & 12 deletions

File tree

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

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,8 @@ use imbl::Vector;
2727
use matrix_sdk::{
2828
deserialized_responses::TimelineEvent,
2929
event_cache::{
30-
DecryptionRetryRequest, EventCache, EventFocusedCache, PaginationStatus, RoomEventCache,
31-
ThreadEventCache, TimelineVectorDiffs,
30+
DecryptionRetryRequest, EventCache, EventFocusedCache, PaginationStatus, PinnedEventsCache,
31+
RoomEventCache, ThreadEventCache, TimelineVectorDiffs,
3232
},
3333
send_queue::{
3434
LocalEcho, LocalEchoContent, RoomSendQueueUpdate, SendHandle, SendReactionHandle,
@@ -148,7 +148,7 @@ pub(in crate::timeline) enum TimelineFocusKind {
148148

149149
PinnedEvents {
150150
/// The cache holding all the events for this focus.
151-
event_cache: RoomEventCache,
151+
event_cache: PinnedEventsCache,
152152
},
153153
}
154154

@@ -395,9 +395,9 @@ impl<P: RoomDataProvider> TimelineController<P> {
395395
root_event_id: root_event_id.clone(),
396396
},
397397

398-
TimelineFocus::PinnedEvents => {
399-
TimelineFocusKind::PinnedEvents { event_cache: event_cache.room(room_id).await?.0 }
400-
}
398+
TimelineFocus::PinnedEvents => TimelineFocusKind::PinnedEvents {
399+
event_cache: event_cache.pinned_events(room_id).await?.0,
400+
},
401401
};
402402

403403
let focus = Arc::new(focus);
@@ -1447,8 +1447,7 @@ impl TimelineController {
14471447
}
14481448

14491449
TimelineFocusKind::PinnedEvents { event_cache } => {
1450-
let (initial_events, pinned_events_recv) =
1451-
event_cache.subscribe_to_pinned_events().await?;
1450+
let (initial_events, pinned_events_recv) = event_cache.subscribe().await?;
14521451

14531452
let has_events = !initial_events.is_empty();
14541453

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

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ use std::collections::BTreeSet;
1818

1919
use matrix_sdk::{
2020
event_cache::{
21-
EventFocusThreadMode, EventFocusedCache, EventsOrigin, RoomEventCache,
21+
EventFocusThreadMode, EventFocusedCache, EventsOrigin, PinnedEventsCache, RoomEventCache,
2222
RoomEventCacheSubscriber, RoomEventCacheUpdate, ThreadEventCache, TimelineVectorDiffs,
2323
},
2424
send_queue::RoomSendQueueUpdate,
@@ -38,7 +38,7 @@ use crate::timeline::{TimelineController, TimelineFocus, event_item::RemoteEvent
3838
)
3939
)]
4040
pub(in crate::timeline) async fn pinned_events_task(
41-
room_event_cache: RoomEventCache,
41+
pinned_events_cache: PinnedEventsCache,
4242
timeline_controller: TimelineController,
4343
mut pinned_events_recv: Receiver<TimelineVectorDiffs>,
4444
) {
@@ -54,8 +54,7 @@ pub(in crate::timeline) async fn pinned_events_task(
5454
// The updates might have lagged, but the room event cache might have
5555
// events, so retrieve them and add them back again to the timeline,
5656
// after clearing it.
57-
let (initial_events, _) = match room_event_cache.subscribe_to_pinned_events().await
58-
{
57+
let (initial_events, _) = match pinned_events_cache.subscribe().await {
5958
Ok(initial_events) => initial_events,
6059
Err(err) => {
6160
error!(

0 commit comments

Comments
 (0)