5858from synapse .replication .http .streams import ReplicationGetStreamUpdates
5959from synapse .replication .tcp .commands import ClearUserSyncsCommand
6060from synapse .replication .tcp .streams import PresenceFederationStream , PresenceStream
61- from synapse .state import StateHandler
6261from synapse .storage .databases .main import DataStore
6362from synapse .types import JsonDict , UserID , get_domain_from_id
6463from synapse .util .async_helpers import Linearizer
@@ -291,7 +290,6 @@ async def maybe_send_presence_to_interested_destinations(
291290 self .store ,
292291 self .presence_router ,
293292 states ,
294- self .state ,
295293 )
296294
297295 for destinations , states in hosts_and_states :
@@ -757,7 +755,6 @@ async def _update_states(self, new_states: Iterable[UserPresenceState]) -> None:
757755 self .store ,
758756 self .presence_router ,
759757 list (to_federation_ping .values ()),
760- self .state ,
761758 )
762759
763760 for destinations , states in hosts_and_states :
@@ -1384,7 +1381,6 @@ def __init__(self, hs: "HomeServer"):
13841381 self .get_presence_router = hs .get_presence_router
13851382 self .clock = hs .get_clock ()
13861383 self .store = hs .get_datastore ()
1387- self .state = hs .get_state_handler ()
13881384
13891385 @log_function
13901386 async def get_new_events (
@@ -1853,7 +1849,6 @@ async def get_interested_remotes(
18531849 store : DataStore ,
18541850 presence_router : PresenceRouter ,
18551851 states : List [UserPresenceState ],
1856- state_handler : StateHandler ,
18571852) -> List [Tuple [Collection [str ], List [UserPresenceState ]]]:
18581853 """Given a list of presence states figure out which remote servers
18591854 should be sent which.
@@ -1864,7 +1859,6 @@ async def get_interested_remotes(
18641859 store: The homeserver's data store.
18651860 presence_router: A module for augmenting the destinations for presence updates.
18661861 states: A list of incoming user presence updates.
1867- state_handler:
18681862
18691863 Returns:
18701864 A list of 2-tuples of destinations and states, where for
@@ -1881,7 +1875,8 @@ async def get_interested_remotes(
18811875 )
18821876
18831877 for room_id , states in room_ids_to_states .items ():
1884- hosts = await state_handler .get_current_hosts_in_room (room_id )
1878+ user_ids = await store .get_users_in_room (room_id )
1879+ hosts = {get_domain_from_id (user_id ) for user_id in user_ids }
18851880 hosts_and_states .append ((hosts , states ))
18861881
18871882 for user_id , states in users_to_states .items ():
0 commit comments