1 files changed, 7 insertions, 0 deletions
diff --git a/synapse/handlers/room.py b/synapse/handlers/room.py
index a000b44036..c802e8f69d 100644
--- a/synapse/handlers/room.py
+++ b/synapse/handlers/room.py
@@ -260,6 +260,7 @@ class RoomMemberHandler(BaseHandler):
self.distributor = hs.get_distributor()
self.distributor.declare("user_joined_room")
+ self.distributor.declare("user_left_room")
@defer.inlineCallbacks
def get_room_members(self, room_id, membership=Membership.JOIN):
@@ -387,6 +388,12 @@ class RoomMemberHandler(BaseHandler):
do_auth=do_auth,
)
+ if prev_state and prev_state.membership == Membership.JOIN:
+ user = self.hs.parse_userid(event.user_id)
+ self.distributor.fire(
+ "user_left_room", user=user, room_id=event.room_id
+ )
+
defer.returnValue({"room_id": room_id})
@defer.inlineCallbacks
|