diff options
Diffstat (limited to 'synapse')
-rw-r--r-- | synapse/handlers/events.py | 13 | ||||
-rw-r--r-- | synapse/handlers/sync.py | 15 | ||||
-rw-r--r-- | synapse/notifier.py | 6 |
3 files changed, 5 insertions, 29 deletions
diff --git a/synapse/handlers/events.py b/synapse/handlers/events.py index 92afa35d57..53c8ca3a26 100644 --- a/synapse/handlers/events.py +++ b/synapse/handlers/events.py @@ -111,17 +111,6 @@ class EventStreamHandler(BaseHandler): if affect_presence: yield self.started_stream(auth_user) - rm_handler = self.hs.get_handlers().room_member_handler - - app_service = yield self.store.get_app_service_by_user_id( - auth_user.to_string() - ) - if app_service: - rooms = yield self.store.get_app_service_rooms(app_service) - room_ids = set(r.room_id for r in rooms) - else: - room_ids = yield rm_handler.get_joined_rooms_for_user(auth_user) - if timeout: # If they've set a timeout set a minimum limit. timeout = max(timeout, 500) @@ -131,7 +120,7 @@ class EventStreamHandler(BaseHandler): timeout = random.randint(int(timeout*0.9), int(timeout*1.1)) events, tokens = yield self.notifier.get_events_for( - auth_user, room_ids, pagin_config, timeout, + auth_user, pagin_config, timeout, only_room_events=only_room_events ) diff --git a/synapse/handlers/sync.py b/synapse/handlers/sync.py index 4c5a2353b2..eaa14f38df 100644 --- a/synapse/handlers/sync.py +++ b/synapse/handlers/sync.py @@ -132,21 +132,8 @@ class SyncHandler(BaseHandler): def current_sync_callback(before_token, after_token): return self.current_sync_for_user(sync_config, since_token) - rm_handler = self.hs.get_handlers().room_member_handler - - app_service = yield self.store.get_app_service_by_user_id( - sync_config.user.to_string() - ) - if app_service: - rooms = yield self.store.get_app_service_rooms(app_service) - room_ids = set(r.room_id for r in rooms) - else: - room_ids = yield rm_handler.get_joined_rooms_for_user( - sync_config.user - ) - result = yield self.notifier.wait_for_events( - sync_config.user, room_ids, timeout, current_sync_callback, + sync_config.user, timeout, current_sync_callback, from_token=since_token ) defer.returnValue(result) diff --git a/synapse/notifier.py b/synapse/notifier.py index f998fc83bf..5c081fef17 100644 --- a/synapse/notifier.py +++ b/synapse/notifier.py @@ -269,7 +269,7 @@ class Notifier(object): logger.exception("Failed to notify listener") @defer.inlineCallbacks - def wait_for_events(self, user, rooms, timeout, callback, + def wait_for_events(self, user, timeout, callback, from_token=StreamToken("s0", "0", "0", "0")): """Wait until the callback returns a non empty response or the timeout fires. @@ -328,7 +328,7 @@ class Notifier(object): defer.returnValue(result) @defer.inlineCallbacks - def get_events_for(self, user, rooms, pagination_config, timeout, + def get_events_for(self, user, pagination_config, timeout, only_room_events=False): """ For the given user and rooms, return any new events for them. If there are no new events wait for up to `timeout` milliseconds for any @@ -369,7 +369,7 @@ class Notifier(object): defer.returnValue(None) result = yield self.wait_for_events( - user, rooms, timeout, check_for_updates, from_token=from_token + user, timeout, check_for_updates, from_token=from_token ) if result is None: |