From 51f4885ae63acf8941799f2e8ae57f5ba1e4252f Mon Sep 17 00:00:00 2001 From: Simon Woolf Date: Mon, 19 Oct 2015 12:45:48 +0100 Subject: [PATCH] Presence map: normalise enter/update actions to present in #put Neater than juggling different broadcast and map-member presence messages in #setPresence Fixes presence test failures broken by 9c4f8d7 --- common/lib/client/realtimepresence.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/common/lib/client/realtimepresence.js b/common/lib/client/realtimepresence.js index ce21eba240..d1a5145d7a 100644 --- a/common/lib/client/realtimepresence.js +++ b/common/lib/client/realtimepresence.js @@ -175,7 +175,6 @@ var RealtimePresence = (function() { break; case presenceAction.UPDATE: case presenceAction.ENTER: - presence.action = presenceAction.PRESENT; case presenceAction.PRESENT: if(members.put(presence)) { broadcastMessages.push(presence); @@ -259,6 +258,10 @@ var RealtimePresence = (function() { }; PresenceMap.prototype.put = function(item) { + if(item.action === presenceAction.ENTER || item.action === presenceAction.UPDATE) { + item = PresenceMessage.fromValues(item); + item.action = presenceAction.PRESENT; + } var map = this.map, key = memberKey(item); /* we've seen this member, so do not remove it at the end of sync */ if(this.residualMembers)