diff options
author | Matthew Hodgson <matthew@matrix.org> | 2014-08-16 13:22:18 +0100 |
---|---|---|
committer | Matthew Hodgson <matthew@matrix.org> | 2014-08-16 13:23:15 +0100 |
commit | b60283473aa4b50e66213d5b4a4fb716fa40dd98 (patch) | |
tree | de4c5e9993e449447db778f78754cb7792232c46 | |
parent | improve comment (diff) | |
download | synapse-b60283473aa4b50e66213d5b4a4fb716fa40dd98.tar.xz |
don't hammer a new hit for every displayname and avatar_url when we already have them in the members list...
-rw-r--r-- | webclient/room/room-controller.js | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/webclient/room/room-controller.js b/webclient/room/room-controller.js index 134247917a..23584f17ae 100644 --- a/webclient/room/room-controller.js +++ b/webclient/room/room-controller.js @@ -117,14 +117,26 @@ angular.module('RoomController', []) var updateMemberList = function(chunk) { var isNewMember = !(chunk.target_user_id in $scope.members); if (isNewMember) { + // FIXME: why are we copying these fields around inside chunk? if ("state" in chunk.content) { - chunk.presenceState = chunk.content.state; + chunk.presenceState = chunk.content.state; // why is this renamed? } if ("mtime_age" in chunk.content) { chunk.mtime_age = chunk.content.mtime_age; } + if ("displayname" in chunk.content) { + chunk.displayname = chunk.content.displayname; + } + if ("avatar_url" in chunk.content) { + chunk.avatar_url = chunk.content.avatar_url; + } $scope.members[chunk.target_user_id] = chunk; +/* + // *SURELY* we don't want to be hammering a new request for + // every displayname and profile picture URL. Hasn't it already + // been returned in the chunk? Hence commenting this out --Matthew + // get their display name and profile picture and set it to their // member entry in $scope.members. We HAVE to use $timeout with 0 delay // to make this function run AFTER the current digest cycle, else the @@ -148,6 +160,7 @@ angular.module('RoomController', []) } ); }); +*/ } else { // selectively update membership else it will nuke the picture and displayname too :/ |