diff --git a/setup.py b/setup.py old mode 100644 new mode 100755 index f01eec436..59ac4fbf9 --- a/setup.py +++ b/setup.py @@ -1,3 +1,5 @@ +#!/usr/bin/env python + # Copyright 2014 matrix.org # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/synapse/handlers/_base.py b/synapse/handlers/_base.py index 85a0f5dff..f141e92ce 100644 --- a/synapse/handlers/_base.py +++ b/synapse/handlers/_base.py @@ -44,7 +44,7 @@ class BaseRoomHandler(BaseHandler): ))) event.destinations = list(destinations) - self.notifier.on_new_room_event(event, extra_users=[]) + self.notifier.on_new_room_event(event, extra_users=extra_users) federation_handler = self.hs.get_handlers().federation_handler yield federation_handler.handle_new_event(event, snapshot) diff --git a/synapse/notifier.py b/synapse/notifier.py index 1656717cd..3d3fcdabd 100644 --- a/synapse/notifier.py +++ b/synapse/notifier.py @@ -178,9 +178,13 @@ class Notifier(object): if timeout: reactor.callLater(timeout/1000, self._timeout_listener, listener) - self._register_with_keys(listener) + self._register_with_keys(listener) + yield self._check_for_updates(listener) + if not timeout: + self._timeout_listener(listener) + return def _timeout_listener(self, listener): diff --git a/tests/handlers/test_federation.py b/tests/handlers/test_federation.py index 5ad40e484..bc260c8aa 100644 --- a/tests/handlers/test_federation.py +++ b/tests/handlers/test_federation.py @@ -77,8 +77,7 @@ class FederationTestCase(unittest.TestCase): yield self.handlers.federation_handler.on_receive_pdu(pdu, False) self.datastore.persist_event.assert_called_once_with(ANY, False) - self.notifier.on_new_room_event.assert_called_once_with( - ANY, store_id) + self.notifier.on_new_room_event.assert_called_once_with(ANY) @defer.inlineCallbacks def test_invite_join_target_this(self): diff --git a/tests/handlers/test_room.py b/tests/handlers/test_room.py index a84dbcc47..09d2a92e1 100644 --- a/tests/handlers/test_room.py +++ b/tests/handlers/test_room.py @@ -128,9 +128,8 @@ class RoomMemberHandlerTestCase(unittest.TestCase): event ) self.notifier.on_new_room_event.assert_called_once_with( - event, store_id + event, extra_users=[self.hs.parse_userid(target_user_id)] ) - self.assertFalse(self.datastore.get_room.called) self.assertFalse(self.datastore.store_room.called) self.assertFalse(self.federation.get_state_for_room.called) @@ -193,7 +192,7 @@ class RoomMemberHandlerTestCase(unittest.TestCase): event ) self.notifier.on_new_room_event.assert_called_once_with( - event, store_id) + event, extra_users=[user]) join_signal_observer.assert_called_with( user=user, room_id=room_id)