Skip to content

Commit ca6381a

Browse files
committed
refactor(multiverse): consume the new message search streams
Adapt the global and single-room search UI flows to poll the new SDK search streams directly instead of the removed iterator.
1 parent 25ba234 commit ca6381a

1 file changed

Lines changed: 13 additions & 18 deletions

File tree

labs/multiverse/src/main.rs

Lines changed: 13 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -743,23 +743,19 @@ impl App {
743743
Enter => {
744744
if let Some(query) = view.get_text() {
745745
if *is_global {
746-
let mut search =
747-
self.client.search_messages(query, 5).build();
746+
let search =
747+
self.client.search_messages(query).build_events();
748+
pin_mut!(search);
748749

749750
let mut all_results = HashMap::new();
750-
loop {
751-
let Ok(results) = search.next_events().await else {
751+
while let Some(result) = search.next().await {
752+
let Ok((room_id, event)) = result else {
752753
continue;
753754
};
754-
let Some(results) = results else {
755-
break;
756-
};
757-
for (room_id, event_id) in results {
758-
all_results
759-
.entry(room_id)
760-
.or_insert_with(Vec::new)
761-
.push(event_id);
762-
}
755+
all_results
756+
.entry(room_id)
757+
.or_insert_with(Vec::new)
758+
.push(event);
763759
}
764760

765761
view.set_results(
@@ -773,13 +769,12 @@ impl App {
773769
} else if let Some((query, room)) =
774770
view.get_text().zip(self.room_view.room())
775771
{
776-
let mut room_search = room.search_messages(query, 5);
772+
let room_search = room.search_messages_events(query);
773+
pin_mut!(room_search);
777774

778775
let mut all_results = Vec::new();
779-
while let Some(results) =
780-
room_search.next_events().await?
781-
{
782-
all_results.extend(results);
776+
while let Some(result) = room_search.next().await {
777+
all_results.push(result?);
783778
}
784779
view.set_results(vec![(None, all_results)]);
785780
}

0 commit comments

Comments
 (0)