chore(sdk): Improve tracing in TimelineEventHandler::add

This commit is contained in:
Jonas Platte
2023-02-15 15:47:43 +01:00
committed by Jonas Platte
parent 88376e85cd
commit e8d5d29d2c

View File

@@ -577,10 +577,12 @@ impl<'a, 'i> TimelineEventHandler<'a, 'i> {
if let Some(day_divider_item) =
maybe_create_day_divider_from_timestamps(old_ts, *timestamp)
{
trace!("Adding day divider");
self.timeline_items.push_cloned(Arc::new(day_divider_item));
}
} else {
// If there is no event item, there is no day divider yet.
trace!("Adding first day divider");
self.timeline_items
.push_cloned(Arc::new(TimelineItem::day_divider(*timestamp)));
}
@@ -642,8 +644,6 @@ impl<'a, 'i> TimelineEventHandler<'a, 'i> {
origin_server_ts,
..
} => {
trace!("Adding new remote timeline item at the end");
let result = rfind_event_item(self.timeline_items, |it| {
txn_id.is_some() && it.transaction_id() == txn_id.as_deref()
|| it.event_id() == Some(event_id)
@@ -682,11 +682,13 @@ impl<'a, 'i> TimelineEventHandler<'a, 'i> {
{
// If the old item is the last one and no day divider
// changes need to happen, replace and return early.
trace!(idx, "Replacing existing event");
self.timeline_items.set_cloned(idx, item);
return;
} else {
// In more complex cases, remove the item and day
// divider (if necessary) before re-adding the item.
trace!("Removing local echo or duplicate timeline item");
self.timeline_items.remove(idx);
assert_ne!(
@@ -706,6 +708,7 @@ impl<'a, 'i> TimelineEventHandler<'a, 'i> {
.get(idx + 1)
.map_or(true, |item| item.is_virtual())
{
trace!("Removing day divider");
self.timeline_items.remove(idx - 1);
}
@@ -728,14 +731,17 @@ impl<'a, 'i> TimelineEventHandler<'a, 'i> {
if let Some(day_divider_item) =
maybe_create_day_divider_from_timestamps(old_ts, *origin_server_ts)
{
trace!("Adding day divider");
self.timeline_items.push_cloned(Arc::new(day_divider_item));
}
} else {
// If there is not event item, there is no day divider yet.
// If there is no event item, there is no day divider yet.
trace!("Adding first day divider");
self.timeline_items
.push_cloned(Arc::new(TimelineItem::day_divider(*origin_server_ts)));
}
trace!("Adding new remote timeline item at the end");
self.timeline_items.push_cloned(item);
}