From 174caceabf1010a1c89ec393af0bafa0f9039709 Mon Sep 17 00:00:00 2001 From: theworldbright Date: Wed, 29 Jun 2016 16:57:59 +0900 Subject: [PATCH 1/5] Use lastActiveAgo to reorder member list --- src/components/views/rooms/MemberList.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/components/views/rooms/MemberList.js b/src/components/views/rooms/MemberList.js index 328f9774c7..da1ef04364 100644 --- a/src/components/views/rooms/MemberList.js +++ b/src/components/views/rooms/MemberList.js @@ -445,6 +445,8 @@ module.exports = React.createClass({ // console.log("comparing ts: " + lastActiveTsA + " and " + lastActiveTsB); + var lastActiveTsA = userA && userA.lastActiveAgo ? userA.lastActiveAgo : 0; + var lastActiveTsB = userB && userB.lastActiveAgo ? userB.lastActiveAgo : 0; return lastActiveTsB - lastActiveTsA; }, From 72a1d5a0deea3a1be0a6305f7b244438ddc28afa Mon Sep 17 00:00:00 2001 From: theworldbright Date: Wed, 29 Jun 2016 16:58:08 +0900 Subject: [PATCH 2/5] Remove unused comments --- src/components/views/rooms/MemberList.js | 22 ---------------------- 1 file changed, 22 deletions(-) diff --git a/src/components/views/rooms/MemberList.js b/src/components/views/rooms/MemberList.js index da1ef04364..f0b979edd9 100644 --- a/src/components/views/rooms/MemberList.js +++ b/src/components/views/rooms/MemberList.js @@ -423,28 +423,6 @@ module.exports = React.createClass({ if (userA.currentlyActive && !userB.currentlyActive) return -1; if (!userA.currentlyActive && userB.currentlyActive) return 1; - // For now, let's just order things by timestamp. It's really annoying - // that a user disappears from sight just because they temporarily go offline - /* - var presenceMap = { - online: 3, - unavailable: 2, - offline: 1 - }; - - var presenceOrdA = userA ? presenceMap[userA.presence] : 0; - var presenceOrdB = userB ? presenceMap[userB.presence] : 0; - - if (presenceOrdA != presenceOrdB) { - return presenceOrdB - presenceOrdA; - } - */ - - var lastActiveTsA = userA && userA.lastActiveTs ? userA.lastActiveTs : 0; - var lastActiveTsB = userB && userB.lastActiveTs ? userB.lastActiveTs : 0; - - // console.log("comparing ts: " + lastActiveTsA + " and " + lastActiveTsB); - var lastActiveTsA = userA && userA.lastActiveAgo ? userA.lastActiveAgo : 0; var lastActiveTsB = userB && userB.lastActiveAgo ? userB.lastActiveAgo : 0; return lastActiveTsB - lastActiveTsA; From 69cb0a8f1c726d62d5ba2dc09b879af4cc8b814e Mon Sep 17 00:00:00 2001 From: theworldbright Date: Wed, 29 Jun 2016 17:08:17 +0900 Subject: [PATCH 3/5] Switch ordering of Idle users --- src/components/views/rooms/MemberList.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/components/views/rooms/MemberList.js b/src/components/views/rooms/MemberList.js index f0b979edd9..9c0fe401db 100644 --- a/src/components/views/rooms/MemberList.js +++ b/src/components/views/rooms/MemberList.js @@ -423,9 +423,9 @@ module.exports = React.createClass({ if (userA.currentlyActive && !userB.currentlyActive) return -1; if (!userA.currentlyActive && userB.currentlyActive) return 1; - var lastActiveTsA = userA && userA.lastActiveAgo ? userA.lastActiveAgo : 0; - var lastActiveTsB = userB && userB.lastActiveAgo ? userB.lastActiveAgo : 0; - return lastActiveTsB - lastActiveTsA; + var lastActiveTsA = userA && userA.lastActiveAgo ? userA.lastActiveAgo : 9999999999; + var lastActiveTsB = userB && userB.lastActiveAgo ? userB.lastActiveAgo : 9999999999; + return lastActiveTsA - lastActiveTsB; }, onSearchQueryChanged: function(input) { From b3d871aa6a1bfc1595fb7b4bba65e052fac6a5ad Mon Sep 17 00:00:00 2001 From: theworldbright Date: Wed, 29 Jun 2016 17:33:41 +0900 Subject: [PATCH 4/5] Add back comment --- src/components/views/rooms/MemberList.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/components/views/rooms/MemberList.js b/src/components/views/rooms/MemberList.js index 9c0fe401db..28e6b97942 100644 --- a/src/components/views/rooms/MemberList.js +++ b/src/components/views/rooms/MemberList.js @@ -423,6 +423,8 @@ module.exports = React.createClass({ if (userA.currentlyActive && !userB.currentlyActive) return -1; if (!userA.currentlyActive && userB.currentlyActive) return 1; + // For now, let's just order things by timestamp. It's really annoying + // that a user disappears from sight just because they temporarily go offline var lastActiveTsA = userA && userA.lastActiveAgo ? userA.lastActiveAgo : 9999999999; var lastActiveTsB = userB && userB.lastActiveAgo ? userB.lastActiveAgo : 9999999999; return lastActiveTsA - lastActiveTsB; From 7609b9eba8b6711ce806d7eea3693de3d8db86ae Mon Sep 17 00:00:00 2001 From: theworldbright Date: Wed, 29 Jun 2016 17:45:24 +0900 Subject: [PATCH 5/5] Simplify logic for timestamp ordering of memberlist --- src/components/views/rooms/MemberList.js | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/components/views/rooms/MemberList.js b/src/components/views/rooms/MemberList.js index 28e6b97942..20f60c80a8 100644 --- a/src/components/views/rooms/MemberList.js +++ b/src/components/views/rooms/MemberList.js @@ -425,9 +425,7 @@ module.exports = React.createClass({ // For now, let's just order things by timestamp. It's really annoying // that a user disappears from sight just because they temporarily go offline - var lastActiveTsA = userA && userA.lastActiveAgo ? userA.lastActiveAgo : 9999999999; - var lastActiveTsB = userB && userB.lastActiveAgo ? userB.lastActiveAgo : 9999999999; - return lastActiveTsA - lastActiveTsB; + return userB.getLastActiveTs() - userA.getLastActiveTs(); }, onSearchQueryChanged: function(input) {