1 files changed, 4 insertions, 3 deletions
diff --git a/synapse/storage/databases/main/roommember.py b/synapse/storage/databases/main/roommember.py
index fbedc18191..55a56c6c74 100644
--- a/synapse/storage/databases/main/roommember.py
+++ b/synapse/storage/databases/main/roommember.py
@@ -496,9 +496,10 @@ class RoomMemberWorkerStore(EventsWorkerStore):
FROM users_in_public_rooms as p1
INNER JOIN users_in_public_rooms as p2
ON p1.room_id = p2.room_id
+ AND p1.user_id != p2.user_id
AND p1.user_id = ?
- UNION
- SELECT DISTINCT user_id
+ UNION ALL
+ SELECT DISTINCT other_user_id
FROM users_who_share_private_rooms
WHERE
user_id = ?
@@ -512,7 +513,7 @@ class RoomMemberWorkerStore(EventsWorkerStore):
"get_users_who_share_room_with_user", _get_users_who_share_room_with_user
)
- return {row["user_id"] for row in rows}
+ return {row.get("user_id") or row.get("other_user_id") for row in rows}
async def get_joined_users_from_context(
self, event: EventBase, context: EventContext
|