From ecb014f5bbf6938524249e66b0ac1668dd20df0b Mon Sep 17 00:00:00 2001 From: k3v1n Date: Wed, 3 Oct 2018 14:21:14 +0200 Subject: [PATCH 1/2] Remove event listeners on destroy --- public/io/io/WebSocket.js | 4 ++++ public/wunderbits/WBOnlineStatus.js | 2 ++ 2 files changed, 6 insertions(+) diff --git a/public/io/io/WebSocket.js b/public/io/io/WebSocket.js index 08b1859..be6e5b8 100644 --- a/public/io/io/WebSocket.js +++ b/public/io/io/WebSocket.js @@ -250,6 +250,10 @@ var WebSocketClass = WBEventEmitter.extend({ var self = this; self.clearSocketTimeout(); + self.socket.removeEventListener('close', self.onSocketClose); + self.socket.removeEventListener('error', self.onSocketError); + self.socket.removeEventListener('message', self.onSocketMessage); + self.socket.removeEventListener('open', self.onSocketOpen); self.socket = undefined; localConsole.info('closed', e); /** diff --git a/public/wunderbits/WBOnlineStatus.js b/public/wunderbits/WBOnlineStatus.js index c766001..b5d29d8 100644 --- a/public/wunderbits/WBOnlineStatus.js +++ b/public/wunderbits/WBOnlineStatus.js @@ -39,6 +39,8 @@ var WBOnlineStatus = WBEventEmitter.extend({ 'destroy': function () { + global.removeEventListener('online', self.onOnline.bind(self), false); + global.removeEventListener('offline', self.onOffline.bind(self), false); HealthCheck.destroy(); }, From d63e5af62d9235c7a1d1525cb2f9d84b5a9d82a3 Mon Sep 17 00:00:00 2001 From: k3v1n Date: Wed, 3 Oct 2018 14:21:14 +0200 Subject: [PATCH 2/2] Remove event listeners on destroy --- public/io/io/WebSocket.js | 4 ++++ public/wunderbits/WBOnlineStatus.js | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/public/io/io/WebSocket.js b/public/io/io/WebSocket.js index 08b1859..be6e5b8 100644 --- a/public/io/io/WebSocket.js +++ b/public/io/io/WebSocket.js @@ -250,6 +250,10 @@ var WebSocketClass = WBEventEmitter.extend({ var self = this; self.clearSocketTimeout(); + self.socket.removeEventListener('close', self.onSocketClose); + self.socket.removeEventListener('error', self.onSocketError); + self.socket.removeEventListener('message', self.onSocketMessage); + self.socket.removeEventListener('open', self.onSocketOpen); self.socket = undefined; localConsole.info('closed', e); /** diff --git a/public/wunderbits/WBOnlineStatus.js b/public/wunderbits/WBOnlineStatus.js index c766001..d50b36b 100644 --- a/public/wunderbits/WBOnlineStatus.js +++ b/public/wunderbits/WBOnlineStatus.js @@ -39,6 +39,10 @@ var WBOnlineStatus = WBEventEmitter.extend({ 'destroy': function () { + var self = this; + + global.removeEventListener('online', self.onOnline.bind(self), false); + global.removeEventListener('offline', self.onOffline.bind(self), false); HealthCheck.destroy(); },