From 651047cfa8adb284779a9dda35541b1473f9c2c7 Mon Sep 17 00:00:00 2001 From: schlagmichdoch Date: Fri, 30 Dec 2022 23:31:58 +0100 Subject: [PATCH] clear peers on page hide --- public/scripts/network.js | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/public/scripts/network.js b/public/scripts/network.js index 6557bf9..7f0a20c 100644 --- a/public/scripts/network.js +++ b/public/scripts/network.js @@ -5,10 +5,10 @@ class ServerConnection { constructor() { this._connect(); - Events.on('beforeunload', e => this._disconnect()); - Events.on('pagehide', e => this._disconnect()); - document.addEventListener('visibilitychange', e => this._onVisibilityChange()); - Events.on('online', this._connect); + Events.on('beforeunload', _ => this._disconnect()); + Events.on('pagehide', _ => this._disconnect()); + document.addEventListener('visibilitychange', _ => this._onVisibilityChange()); + Events.on('online', _ => this._connect()); } _connect() { @@ -21,7 +21,7 @@ class ServerConnection { ws.onclose = _ => this._onDisconnect(); ws.onerror = e => this._onError(e); this._socket = ws; - Events.on('reconnect', this._connect); + Events.on('reconnect', _ => this._connect()); } _onMessage(msg) { @@ -67,7 +67,6 @@ class ServerConnection { this.send({ type: 'disconnect' }); this._socket.onclose = null; this._socket.close(); - Events.fire('disconnect'); } _onDisconnect() { @@ -79,7 +78,10 @@ class ServerConnection { } _onVisibilityChange() { - if (document.hidden) return; + if (document.hidden) { + Events.fire('disconnect'); + return; + } this._connect(); }