@@ -540,7 +540,7 @@ def get_joined_members(self):
540540 return list (self ._members .values ())
541541 response = self .client .api .get_room_members (self .room_id )
542542 for event in response ["chunk" ]:
543- if event ["content" ]["membership" ] == "join" :
543+ if event ["content" ]["membership" ] in ( "join" , "invite" ) :
544544 user_id = event ["state_key" ]
545545 self ._add_member (user_id , event ["content" ].get ("displayname" ))
546546 return list (self ._members .values ())
@@ -749,19 +749,18 @@ def _process_state_event(self, state_event):
749749 elif etype == "m.room.member" and clevel == clevel .ALL :
750750 # tracking room members can be large e.g. #matrix:matrix.org
751751 user_id = state_event ["state_key" ]
752- if econtent ["membership" ] == "join" :
752+ if econtent ["membership" ] in ( "join" , "invite" ) :
753753 self ._add_member (user_id , econtent .get ("displayname" ))
754754 if self .client ._encryption and self .encrypted :
755755 # Track the device list of this user
756756 self .client .olm_device .device_list .track_user_no_download (user_id )
757- elif econtent ["membership" ] in ("leave" , "kick" , "invite" ):
757+ elif econtent ["membership" ] in ("leave" , "kick" ):
758758 self ._members .pop (user_id , None )
759- if econtent ["membership" ] != "invite" :
760- if self .client ._encryption and self .encrypted :
761- # Invalidate any outbound session we have in the room when
762- # someone leaves
763- self .client .olm_device .megolm_remove_outbound_session (
764- self .room_id )
759+ if self .client ._encryption and self .encrypted :
760+ # Invalidate any outbound session we have in the room when
761+ # someone leaves
762+ self .client .olm_device .megolm_remove_outbound_session (
763+ self .room_id )
765764
766765 for listener in self .state_listeners :
767766 if (
0 commit comments