From 849627b82e751071f80c96f62c9e59a2565cd85c Mon Sep 17 00:00:00 2001 From: Erik Johnston Date: Wed, 20 Aug 2014 11:50:16 +0100 Subject: [PATCH] Don't generate room membership messages. Include previous state of in membership messages. --- synapse/handlers/room.py | 17 ++++++++++------- tests/rest/test_rooms.py | 7 ++++++- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/synapse/handlers/room.py b/synapse/handlers/room.py index 40867ae2e..7ab881847 100644 --- a/synapse/handlers/room.py +++ b/synapse/handlers/room.py @@ -506,18 +506,21 @@ class RoomMemberHandler(BaseHandler): SynapseError if there was a problem changing the membership. """ - # broadcast_msg = False + broadcast_msg = False prev_state = yield self.store.get_room_member( event.target_user_id, event.room_id ) - if prev_state and prev_state.membership == event.membership: - # treat this event as a NOOP. - if do_auth: # This is mainly to fix a unit test. - yield self.auth.check(event, raises=True) - defer.returnValue({}) - return + if prev_state: + event.content["prev"] = prev_state.membership + +# if prev_state and prev_state.membership == event.membership: +# # treat this event as a NOOP. +# if do_auth: # This is mainly to fix a unit test. +# yield self.auth.check(event, raises=True) +# defer.returnValue({}) +# return room_id = event.room_id diff --git a/tests/rest/test_rooms.py b/tests/rest/test_rooms.py index e87318104..a9b66df91 100644 --- a/tests/rest/test_rooms.py +++ b/tests/rest/test_rooms.py @@ -794,7 +794,12 @@ class RoomMemberStateTestCase(RestTestCase): (code, response) = yield self.mock_resource.trigger("GET", path, None) self.assertEquals(200, code, msg=str(response)) - self.assertEquals(json.loads(content), response) + + expected_response = { + "membership": Membership.JOIN, + "prev": Membership.JOIN, + } + self.assertEquals(expected_response, response) @defer.inlineCallbacks def test_rooms_members_other(self):