summary refs log tree commit diff
path: root/webclient/room/room-controller.js
diff options
context:
space:
mode:
Diffstat (limited to 'webclient/room/room-controller.js')
-rw-r--r--webclient/room/room-controller.js19
1 files changed, 10 insertions, 9 deletions
diff --git a/webclient/room/room-controller.js b/webclient/room/room-controller.js
index a53d375cf8..134247917a 100644
--- a/webclient/room/room-controller.js
+++ b/webclient/room/room-controller.js
@@ -120,6 +120,9 @@ angular.module('RoomController', [])
             if ("state" in chunk.content) {
                 chunk.presenceState = chunk.content.state;
             }
+            if ("mtime_age" in chunk.content) {
+                chunk.mtime_age = chunk.content.mtime_age;
+            }
         
             $scope.members[chunk.target_user_id] = chunk;
             // get their display name and profile picture and set it to their
@@ -160,16 +163,14 @@ angular.module('RoomController', [])
         }
         var member = $scope.members[chunk.content.user_id];
 
+        // XXX: why not just pass the chunk straight through?
         if ("state" in chunk.content) {
-            if (chunk.content.state === "online") {
-                member.presenceState = "online";
-            }
-            else if (chunk.content.state === "offline") {
-                member.presenceState = "offline";
-            }
-            else if (chunk.content.state === "unavailable") {
-                member.presenceState = "unavailable";
-            }
+            member.presenceState = chunk.content.state;
+        }
+
+        if ("mtime_age" in chunk.content) {
+            // FIXME: should probably keep updating mtime_age in realtime like FB does
+            member.mtime_age = chunk.content.mtime_age;
         }
 
         // this may also contain a new display name or avatar url, so check.