From a97c3d6c3342b0759080eed21383afa69cf97e3d Mon Sep 17 00:00:00 2001 From: Tim Robinson Date: Thu, 19 Feb 2015 12:17:09 +0000 Subject: [PATCH 1/2] Add listen for socket transport upgrades --- plugins/c9.vfs.server/vfs.js | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/plugins/c9.vfs.server/vfs.js b/plugins/c9.vfs.server/vfs.js index 378208c8..6671d515 100644 --- a/plugins/c9.vfs.server/vfs.js +++ b/plugins/c9.vfs.server/vfs.js @@ -154,7 +154,7 @@ Vfs.prototype._createEngine = function(vfs, options) { }); this.keepAliveTimer = null; - var listeningForEIOSocketClose = false; + var listeningForEIOSocketEvents = false; this.workers = 0; @@ -177,20 +177,25 @@ Vfs.prototype._createEngine = function(vfs, options) { /* Add listener to core Engine.io socket used for user communication to track and log all reasons causing it to close so when users complain about disconnects we can investigate what's causing them */ - var listenForEIOSocketClose = function (eioSocket) { + var listenForEIOSocketEvents = function (eioSocket) { if (!eioSocket || listeningForEIOSocketClose) return; eioSocket.once("close", function (reason, description) { var logMetadata = {message: "Socket closed", collab: options.collab, reason: reason, description: description, id: that.id, sid: socket.id, pid: that.pid}; that.logger.log(logMetadata); - listeningForEIOSocketClose = false; + listeningForEIOSocketEvents = false; }); - listeningForEIOSocketClose = true; + eioSocket.on("upgrade", function (transport) { + var newTransportName = transport && transport.name ? transport.name : "unknown"; + var logMetadata = {message: "Socket transport changed", collab: options.collab, type: newTransportName, id: that.id, sid: socket.id, pid: that.pid}; + that.logger.log(logMetadata); + }) + listeningForEIOSocketEvents = true; }; socket.socket.once('away', function() { - listenForEIOSocketClose(socket.socket.socket); + listenForEIOSocketEvents(socket.socket.socket); }); socket.socket.once('back', function() { - listenForEIOSocketClose(socket.socket.socket); + listenForEIOSocketEvents(socket.socket.socket); }); } socket.on('disconnect', function (err) { From b46f26fa11c29c55c9b1b6bdc3a939faefbdd36b Mon Sep 17 00:00:00 2001 From: Tim Robinson Date: Thu, 19 Feb 2015 14:06:10 +0000 Subject: [PATCH 2/2] var name fix --- plugins/c9.vfs.server/vfs.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/c9.vfs.server/vfs.js b/plugins/c9.vfs.server/vfs.js index 6671d515..808562aa 100644 --- a/plugins/c9.vfs.server/vfs.js +++ b/plugins/c9.vfs.server/vfs.js @@ -178,7 +178,7 @@ Vfs.prototype._createEngine = function(vfs, options) { to track and log all reasons causing it to close so when users complain about disconnects we can investigate what's causing them */ var listenForEIOSocketEvents = function (eioSocket) { - if (!eioSocket || listeningForEIOSocketClose) return; + if (!eioSocket || listeningForEIOSocketEvents) return; eioSocket.once("close", function (reason, description) { var logMetadata = {message: "Socket closed", collab: options.collab, reason: reason, description: description, id: that.id, sid: socket.id, pid: that.pid}; that.logger.log(logMetadata); @@ -188,7 +188,7 @@ Vfs.prototype._createEngine = function(vfs, options) { var newTransportName = transport && transport.name ? transport.name : "unknown"; var logMetadata = {message: "Socket transport changed", collab: options.collab, type: newTransportName, id: that.id, sid: socket.id, pid: that.pid}; that.logger.log(logMetadata); - }) + }); listeningForEIOSocketEvents = true; }; socket.socket.once('away', function() {