From 829a15940971fed1239054c3785207a4b70597a5 Mon Sep 17 00:00:00 2001 From: Kevin Jahns Date: Fri, 9 Sep 2022 16:30:00 +0200 Subject: [PATCH] use unload instead of beforeUnload to send disconnect message. closes #119 --- src/y-websocket.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/y-websocket.js b/src/y-websocket.js index c96bdc6..bbabd3f 100644 --- a/src/y-websocket.js +++ b/src/y-websocket.js @@ -350,7 +350,7 @@ export class WebsocketProvider extends Observable { ) broadcastMessage(this, encoding.toUint8Array(encoder)) } - this._beforeUnloadHandler = () => { + this._unloadHandler = () => { awarenessProtocol.removeAwarenessStates( this.awareness, [doc.clientID], @@ -358,9 +358,9 @@ export class WebsocketProvider extends Observable { ) } if (typeof window !== 'undefined') { - window.addEventListener('beforeunload', this._beforeUnloadHandler) + window.addEventListener('unload', this._unloadHandler) } else if (typeof process !== 'undefined') { - process.on('exit', this._beforeUnloadHandler) + process.on('exit', this._unloadHandler) } awareness.on('update', this._awarenessUpdateHandler) this._checkInterval = /** @type {any} */ (setInterval(() => { @@ -401,9 +401,9 @@ export class WebsocketProvider extends Observable { clearInterval(this._checkInterval) this.disconnect() if (typeof window !== 'undefined') { - window.removeEventListener('beforeunload', this._beforeUnloadHandler) + window.removeEventListener('unload', this._unloadHandler) } else if (typeof process !== 'undefined') { - process.off('exit', this._beforeUnloadHandler) + process.off('exit', this._unloadHandler) } this.awareness.off('update', this._awarenessUpdateHandler) this.doc.off('update', this._updateHandler)