diff options
author | Kegan Dougal <kegan@matrix.org> | 2014-09-08 12:11:36 -0700 |
---|---|---|
committer | Kegan Dougal <kegan@matrix.org> | 2014-09-08 12:15:29 -0700 |
commit | 76fe7d4eba334cee8b5c18ac26da709106dff1a2 (patch) | |
tree | 7048fb140aa290d902d82b2911347f71e9078ecf | |
parent | Handle the case where we don't have a common ancestor (diff) | |
download | synapse-76fe7d4eba334cee8b5c18ac26da709106dff1a2.tar.xz |
Added num_joined_users key to /publicRooms for each room. Show this information in the webclient.
Diffstat (limited to '')
-rw-r--r-- | synapse/handlers/room.py | 6 | ||||
-rwxr-xr-x | webclient/app.css | 4 | ||||
-rw-r--r-- | webclient/home/home.html | 5 | ||||
-rw-r--r-- | webclient/recents/recents.html | 2 |
4 files changed, 15 insertions, 2 deletions
diff --git a/synapse/handlers/room.py b/synapse/handlers/room.py index a0d0f2af16..310cb46fe7 100644 --- a/synapse/handlers/room.py +++ b/synapse/handlers/room.py @@ -593,6 +593,12 @@ class RoomListHandler(BaseHandler): @defer.inlineCallbacks def get_public_room_list(self): chunk = yield self.store.get_rooms(is_public=True) + for room in chunk: + joined_members = yield self.store.get_room_members( + room_id=room["room_id"], + membership=Membership.JOIN + ) + room["num_joined_members"] = len(joined_members) # FIXME (erikj): START is no longer a valid value defer.returnValue({"start": "START", "end": "END", "chunk": chunk}) diff --git a/webclient/app.css b/webclient/app.css index 0c6ae9b668..b438cf0405 100755 --- a/webclient/app.css +++ b/webclient/app.css @@ -273,6 +273,10 @@ a:active { color: #000; } font-weight: bold; } +.publicRoomEntry { + margin-bottom: 5px; +} + /*** Participant list ***/ #usersTableWrapper { diff --git a/webclient/home/home.html b/webclient/home/home.html index 12b3c7f14e..cf6771814c 100644 --- a/webclient/home/home.html +++ b/webclient/home/home.html @@ -25,11 +25,14 @@ <h3>Public rooms</h3> <div class="public_rooms" ng-repeat="room in public_rooms | orderBy:'room_display_name'"> - <div> + <div class="publicRoomEntry"> <a href="#/room/{{ room.room_alias ? room.room_alias : room.room_id }}" ng-class="room.room_display_name.toLowerCase().indexOf('#matrix:') === 0 ? 'roomHighlight' : ''"> {{ room.room_display_name }} </a> + <div ng-show="'num_joined_members' in room"> + {{ room.num_joined_members }} {{ room.num_joined_members == 1 ? 'user' : 'users' }} + </div> </div> </div> <br/> diff --git a/webclient/recents/recents.html b/webclient/recents/recents.html index b903412815..efc5c39689 100644 --- a/webclient/recents/recents.html +++ b/webclient/recents/recents.html @@ -9,7 +9,7 @@ {{ room.room_id | mRoomName }} </td> <td class="recentsRoomSummaryTS"> - {{ room.numUsersInRoom }} users + {{ room.numUsersInRoom }} {{ room.numUsersInRoom == 1 ? 'user' : 'users' }} </td> <td class="recentsRoomSummaryTS"> {{ (room.lastMsg.ts) | date:'MMM d HH:mm' }} |