From c02b15bb604901e4b49a5e0bbcd33b1bc76598ce Mon Sep 17 00:00:00 2001
From: Dominik George <dominik.george@teckids.org>
Date: Wed, 23 Feb 2022 23:08:48 +0100
Subject: [PATCH] Fix get_members to return only invited and joined

---
 aleksis/apps/matrix/models.py | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/aleksis/apps/matrix/models.py b/aleksis/apps/matrix/models.py
index 3cc5369..6f37c1f 100644
--- a/aleksis/apps/matrix/models.py
+++ b/aleksis/apps/matrix/models.py
@@ -146,10 +146,11 @@ class MatrixRoom(ExtensiblePolymorphicModel):
         return user_levels
 
     def get_members(self) -> list[str]:
-        r = do_matrix_request(
-            "GET", f"rooms/{self.room_id}/members", body={"membership": ["join", "invite"]}
-        )
-        return [m["state_key"] for m in r["chunk"]]
+        r = do_matrix_request("GET", f"rooms/{self.room_id}/members")
+        return [
+            m["state_key"]
+            for m in filter(lambda c: c["content"]["membership"] in ("join", "invite"), r["chunk"])
+        ]
 
     def _invite(self, profile: MatrixProfile) -> dict[str, Any]:
         """Invite a user to this room."""
-- 
GitLab