Skip to content

Commit

Permalink
feat(ui): TimelineInner::add_events_with_diffs supports more `Vecto…
Browse files Browse the repository at this point in the history
…rDiff`.

This patch updates `TimelineInner::add_events_with_diffs` to
support more `VectorDiff` variant, notably `Insert` which uses
`TimelineNewItemPosition::At`.
  • Loading branch information
Hywan committed Jun 6, 2024
1 parent 76c9b83 commit b609fee
Showing 1 changed file with 37 additions and 2 deletions.
39 changes: 37 additions & 2 deletions crates/matrix-sdk-ui/src/timeline/inner/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -582,6 +582,8 @@ impl<P: RoomDataProvider> TimelineInner<P> {
return result;
}

let room_data_provider = &self.room_data_provider;
let settings = &self.settings;
let mut state = self.state.write().await;

for diff in diffs {
Expand All @@ -592,8 +594,41 @@ impl<P: RoomDataProvider> TimelineInner<P> {
.add_remote_events_at(
events,
TimelineNewItemPosition::End { origin },
&self.room_data_provider,
&self.settings,
room_data_provider,
settings,
)
.await
}

VectorDiff::PushFront { value } => {
state
.add_remote_events_at(
[value],
TimelineNewItemPosition::Start { origin },
room_data_provider,
settings,
)
.await
}

VectorDiff::PushBack { value } => {
state
.add_remote_events_at(
[value],
TimelineNewItemPosition::End { origin },
room_data_provider,
settings,
)
.await
}

VectorDiff::Insert { index: event_index, value } => {
state
.add_remote_events_at(
[value],
TimelineNewItemPosition::At { event_index, origin },
room_data_provider,
settings,
)
.await
}
Expand Down

0 comments on commit b609fee

Please sign in to comment.