mirror of
https://github.com/matrix-org/matrix-rust-sdk.git
synced 2026-05-19 14:19:06 -04:00
timeline: avoid passing the raw event in two places
This commit is contained in:
@@ -201,13 +201,7 @@ impl TimelineState {
|
||||
let mut day_divider_adjuster = DayDividerAdjuster::default();
|
||||
|
||||
TimelineEventHandler::new(&mut txn, ctx)
|
||||
.handle_event(
|
||||
&mut day_divider_adjuster,
|
||||
content,
|
||||
// Local events are never UTD, so no need to pass in a raw_event - this is only
|
||||
// used to determine the type of UTD if there is one.
|
||||
None,
|
||||
)
|
||||
.handle_event(&mut day_divider_adjuster, content)
|
||||
.await;
|
||||
|
||||
txn.adjust_day_dividers(day_divider_adjuster);
|
||||
@@ -586,7 +580,7 @@ impl TimelineStateTransaction<'_> {
|
||||
is_highlighted: event.push_actions.iter().any(Action::is_highlight),
|
||||
flow: Flow::Remote {
|
||||
event_id: event_id.clone(),
|
||||
raw_event: raw.clone(),
|
||||
raw_event: raw,
|
||||
encryption_info: event.encryption_info,
|
||||
txn_id,
|
||||
position,
|
||||
@@ -594,9 +588,7 @@ impl TimelineStateTransaction<'_> {
|
||||
should_add_new_items: should_add,
|
||||
};
|
||||
|
||||
TimelineEventHandler::new(self, ctx)
|
||||
.handle_event(day_divider_adjuster, event_kind, Some(&raw))
|
||||
.await
|
||||
TimelineEventHandler::new(self, ctx).handle_event(day_divider_adjuster, event_kind).await
|
||||
}
|
||||
|
||||
fn clear(&mut self) {
|
||||
|
||||
@@ -289,7 +289,6 @@ impl<'a, 'o> TimelineEventHandler<'a, 'o> {
|
||||
mut self,
|
||||
day_divider_adjuster: &mut DayDividerAdjuster,
|
||||
event_kind: TimelineEventKind,
|
||||
raw_event: Option<&Raw<AnySyncTimelineEvent>>,
|
||||
) -> HandleEventResult {
|
||||
let span = tracing::Span::current();
|
||||
|
||||
@@ -334,6 +333,8 @@ impl<'a, 'o> TimelineEventHandler<'a, 'o> {
|
||||
|
||||
AnyMessageLikeEventContent::RoomEncrypted(c) => {
|
||||
// TODO: Handle replacements if the replaced event is also UTD
|
||||
let raw_event =
|
||||
as_variant!(&self.ctx.flow, Flow::Remote { raw_event, .. } => raw_event);
|
||||
let cause = UtdCause::determine(raw_event);
|
||||
self.add_item(TimelineItemContent::unable_to_decrypt(c, cause), None);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user