mirror of
https://github.com/matrix-org/matrix-rust-sdk.git
synced 2026-05-05 22:47:02 -04:00
chore(sdk): Improve tracing in TimelineEventHandler::add
This commit is contained in:
committed by
Jonas Platte
parent
88376e85cd
commit
e8d5d29d2c
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user