Skip to content

Commit fb41376

Browse files
committed
chore(multiverse): simplify marking a room as read
1 parent b213265 commit fb41376

File tree

1 file changed

+5
-13
lines changed
  • labs/multiverse/src/widgets/room_view

1 file changed

+5
-13
lines changed

labs/multiverse/src/widgets/room_view/mod.rs

Lines changed: 5 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ use matrix_sdk::{
1212
},
1313
RoomState,
1414
};
15-
use matrix_sdk_ui::timeline::TimelineBuilder;
1615
use ratatui::{prelude::*, widgets::*};
1716
use tokio::{spawn, task::JoinHandle};
1817

@@ -320,21 +319,14 @@ impl RoomView {
320319

321320
/// Mark the currently selected room as read.
322321
pub async fn mark_as_read(&mut self) {
323-
let selected = self.selected_room.as_deref();
324-
325-
let Some(room) = selected.and_then(|room_id| self.ui_rooms.lock().get(room_id).cloned())
326-
else {
327-
self.status_handle.set_message("missing room or nothing to show".to_owned());
328-
return;
329-
};
330-
331-
// Mark as read!
332-
let Ok(timeline) = TimelineBuilder::new(&room).build().await else {
333-
self.status_handle.set_message("failed creating timeline".to_owned());
322+
let Some(sdk_timeline) = self.selected_room.as_deref().and_then(|room_id| {
323+
self.timelines.lock().get(room_id).map(|timeline| timeline.timeline.clone())
324+
}) else {
325+
self.status_handle.set_message("missing timeline for room".to_owned());
334326
return;
335327
};
336328

337-
match timeline.mark_as_read(ReceiptType::Read).await {
329+
match sdk_timeline.mark_as_read(ReceiptType::Read).await {
338330
Ok(did) => {
339331
self.status_handle.set_message(format!(
340332
"did {}send a read receipt!",

0 commit comments

Comments
 (0)