diff options
author | Erik Johnston <erik@matrix.org> | 2016-04-12 16:06:18 +0100 |
---|---|---|
committer | Erik Johnston <erik@matrix.org> | 2016-04-12 16:06:18 +0100 |
commit | 72f454b75239d0662d0a6c086ca40b70cfbb2837 (patch) | |
tree | fa741ed9c6196cea40c34d739b2816e3ad9a667a /synapse/handlers | |
parent | Update replication.rst (diff) | |
download | synapse-72f454b75239d0662d0a6c086ca40b70cfbb2837.tar.xz |
Don't return empty public rooms
Diffstat (limited to 'synapse/handlers')
-rw-r--r-- | synapse/handlers/room.py | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/synapse/handlers/room.py b/synapse/handlers/room.py index ea306cd42a..dd9c18df84 100644 --- a/synapse/handlers/room.py +++ b/synapse/handlers/room.py @@ -358,8 +358,6 @@ class RoomListHandler(BaseHandler): @defer.inlineCallbacks def handle_room(room_id): - aliases = yield self.store.get_aliases_for_room(room_id) - # We pull each bit of state out indvidually to avoid pulling the # full state into memory. Due to how the caching works this should # be fairly quick, even if not originally in the cache. @@ -374,6 +372,14 @@ class RoomListHandler(BaseHandler): defer.returnValue(None) result = {"room_id": room_id} + + joined_users = yield self.store.get_users_in_room(room_id) + if len(joined_users) == 0: + return + + result["num_joined_members"] = len(joined_users) + + aliases = yield self.store.get_aliases_for_room(room_id) if aliases: result["aliases"] = aliases @@ -413,9 +419,6 @@ class RoomListHandler(BaseHandler): if avatar_url: result["avatar_url"] = avatar_url - joined_users = yield self.store.get_users_in_room(room_id) - result["num_joined_members"] = len(joined_users) - results.append(result) yield concurrently_execute(handle_room, room_ids, 10) |