From 41079a65c60d5b397f346485ee5d255c032e0a52 Mon Sep 17 00:00:00 2001 From: Matteo Pagliazzi Date: Wed, 7 Sep 2016 17:00:43 +0200 Subject: [PATCH 1/2] correctly reconnect to pusher after inactivity --- website/client/js/services/pusherService.js | 1 + 1 file changed, 1 insertion(+) diff --git a/website/client/js/services/pusherService.js b/website/client/js/services/pusherService.js index 11b1d88d0e..ed36c8ca74 100644 --- a/website/client/js/services/pusherService.js +++ b/website/client/js/services/pusherService.js @@ -112,6 +112,7 @@ angular.module('habitrpg') var awaitActivity = function() { $(document).off('mousemove keydown mousedown touchstart', awaitActivity); + connectToPusher(partyId); // Limit of 1 connected tab is disabled for now // if (!localStorage.getItem(tabIdKey) || localStorage.getItem(tabIdKey) === tabId) { // connectToPusher(partyId); From 7ea9debe3f781841d1acc44b625f314ac1d26d6e Mon Sep 17 00:00:00 2001 From: Matteo Pagliazzi Date: Wed, 7 Sep 2016 17:18:48 +0200 Subject: [PATCH 2/2] trigger pusher on system messages too --- website/server/models/group.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/website/server/models/group.js b/website/server/models/group.js index 68393172ad..c9a275679b 100644 --- a/website/server/models/group.js +++ b/website/server/models/group.js @@ -351,6 +351,12 @@ schema.methods.sendChat = function sendChat (message, user) { User.update(query, lastSeenUpdate, {multi: true}).exec(); + // If the message being sent is a system message (not gone through the api.postChat controller) + // then notify Pusher about it (only parties for now) + if (newMessage.uuid === 'system' && this.privacy === 'private' && this.type === 'party') { + pusher.trigger(`presence-group-${this._id}`, 'new-chat', newMessage); + } + return newMessage; };