Skip to content
This repository was archived by the owner on Mar 23, 2020. It is now read-only.

Commit 0983cfa

Browse files
committed
Add invited members to Room._members
https://matrix.org/docs/spec/client_server/r0.2.0.html#id222 3. Room display name calculation must include invited members.
1 parent 31aca8d commit 0983cfa

File tree

2 files changed

+9
-10
lines changed

2 files changed

+9
-10
lines changed

matrix_client/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,4 +13,4 @@
1313
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1414
# See the License for the specific language governing permissions and
1515
# limitations under the License.
16-
__version__ = "0.4.2-dev-1"
16+
__version__ = "0.4.2-dev-2"

matrix_client/room.py

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)