summary refs log tree commit diff
diff options
context:
space:
mode:
authorMatthew Hodgson <matthew@matrix.org>2014-08-16 13:22:18 +0100
committerMatthew Hodgson <matthew@matrix.org>2014-08-16 13:23:15 +0100
commitb60283473aa4b50e66213d5b4a4fb716fa40dd98 (patch)
treede4c5e9993e449447db778f78754cb7792232c46
parentimprove comment (diff)
downloadsynapse-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.js15
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 :/