Use servers list approx to send read receipts when in partial state (#14549)

Signed-off-by: Mathieu Velten <mathieuv@matrix.org>
This commit is contained in:
Mathieu Velten
2022-11-30 13:39:47 +01:00
committed by GitHub
parent ecb6fe9d9c
commit 4569eda944
3 changed files with 6 additions and 1 deletions
+1
View File
@@ -0,0 +1 @@
Faster joins: use servers list approximation to send read receipts when in partial state instead of waiting for the full state of the room.
+1 -1
View File
@@ -647,7 +647,7 @@ class FederationSender(AbstractFederationSender):
room_id = receipt.room_id
# Work out which remote servers should be poked and poke them.
domains_set = await self._storage_controllers.state.get_current_hosts_in_room(
domains_set = await self._storage_controllers.state.get_current_hosts_in_room_or_partial_state_approximation(
room_id
)
domains = [
@@ -38,6 +38,10 @@ class FederationSenderReceiptsTestCases(HomeserverTestCase):
return_value=make_awaitable({"test", "host2"})
)
hs.get_storage_controllers().state.get_current_hosts_in_room_or_partial_state_approximation = (
hs.get_storage_controllers().state.get_current_hosts_in_room
)
return hs
@override_config({"send_federation": True})