Skip to content

Commit c1805c9

Browse files
committed
fix(sdk): Do not send RoomEventCacheUpdate if values are empty.
This patch prevents sending useless `RoomEventCacheUdpate` if their respective values are empty.
1 parent 91f04a2 commit c1805c9

File tree

1 file changed

+19
-9
lines changed
  • crates/matrix-sdk/src/event_cache

1 file changed

+19
-9
lines changed

crates/matrix-sdk/src/event_cache/mod.rs

Lines changed: 19 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -671,15 +671,25 @@ impl RoomEventCacheInner {
671671
self.pagination.token_notifier.notify_one();
672672
}
673673

674-
// The ordering is important here.
675-
let _ = self.sender.send(RoomEventCacheUpdate::AddTimelineEvents {
676-
events: sync_timeline_events,
677-
origin: EventsOrigin::Sync,
678-
});
679-
let _ = self
680-
.sender
681-
.send(RoomEventCacheUpdate::AddEphemeralEvents { events: sync_ephemeral_events });
682-
let _ = self.sender.send(RoomEventCacheUpdate::UpdateMembers { ambiguity_changes });
674+
// The order of `RoomEventCacheUpdate`s is **really** important here.
675+
{
676+
if !sync_timeline_events.is_empty() {
677+
let _ = self.sender.send(RoomEventCacheUpdate::AddTimelineEvents {
678+
events: sync_timeline_events,
679+
origin: EventsOrigin::Sync,
680+
});
681+
}
682+
683+
if !sync_ephemeral_events.is_empty() {
684+
let _ = self.sender.send(RoomEventCacheUpdate::AddEphemeralEvents {
685+
events: sync_ephemeral_events,
686+
});
687+
}
688+
689+
if !ambiguity_changes.is_empty() {
690+
let _ = self.sender.send(RoomEventCacheUpdate::UpdateMembers { ambiguity_changes });
691+
}
692+
}
683693

684694
Ok(())
685695
}

0 commit comments

Comments
 (0)