summary refs log tree commit diff
path: root/syweb/webclient/components
diff options
context:
space:
mode:
authorKegan Dougal <kegan@matrix.org>2014-11-14 14:25:53 +0000
committerKegan Dougal <kegan@matrix.org>2014-11-14 14:26:05 +0000
commit459863bcfffa4037ff7b3dd14ffae4b1a34fb4cc (patch)
tree5d72fdc3bbb3f824a1e732df04bf1474fa489677 /syweb/webclient/components
parentBe more helpful and tell the user how to generate a config too. (diff)
downloadsynapse-459863bcfffa4037ff7b3dd14ffae4b1a34fb4cc.tar.xz
Remove scope.members from RoomController and use modelService instead. This may make things unstable.
Diffstat (limited to 'syweb/webclient/components')
-rw-r--r--syweb/webclient/components/matrix/model-service.js14
1 files changed, 13 insertions, 1 deletions
diff --git a/syweb/webclient/components/matrix/model-service.js b/syweb/webclient/components/matrix/model-service.js
index 80b40d8782..e1fed65152 100644
--- a/syweb/webclient/components/matrix/model-service.js
+++ b/syweb/webclient/components/matrix/model-service.js
@@ -181,6 +181,7 @@ angular.module('modelService', [])
     /***** User Object *****/
     var User = function User() {
         this.event = {}; // the m.presence event representing the User.
+        this.last_updated = 0; // used with last_active_ago to work out last seen times
     };
     
     // rooms are stored here when they come in.
@@ -241,7 +242,18 @@ angular.module('modelService', [])
         setUser: function(event) {
             var usr = new User();
             usr.event = event;
-            users[event.content.user_id] = usr;
+            
+            // migrate old data but clobber matching keys
+            if (users[event.content.user_id] && users[event.content.user_id].event) {
+                angular.extend(users[event.content.user_id].event, event);
+                usr = users[event.content.user_id];
+            }
+            else {
+                users[event.content.user_id] = usr;
+            }
+            
+            usr.last_updated = new Date().getTime();
+            
             // update room members
             var roomMembers = userIdToRoomMember[event.content.user_id];
             if (roomMembers) {