diff --git a/packages/bolt-connection/src/channel/browser/browser-channel.js b/packages/bolt-connection/src/channel/browser/browser-channel.js index ff5d1144e..c22e7fbb8 100644 --- a/packages/bolt-connection/src/channel/browser/browser-channel.js +++ b/packages/bolt-connection/src/channel/browser/browser-channel.js @@ -166,10 +166,10 @@ export default class WebSocketChannel { */ close () { return new Promise((resolve, reject) => { + this._clearConnectionTimeout() if (this._ws && this._ws.readyState !== WS_CLOSED) { this._open = false this.stopReceiveTimeout() - this._clearConnectionTimeout() this._ws.onclose = () => resolve() this._ws.close() } else { diff --git a/packages/neo4j-driver-deno/lib/bolt-connection/channel/browser/browser-channel.js b/packages/neo4j-driver-deno/lib/bolt-connection/channel/browser/browser-channel.js index 655461e61..c38443e46 100644 --- a/packages/neo4j-driver-deno/lib/bolt-connection/channel/browser/browser-channel.js +++ b/packages/neo4j-driver-deno/lib/bolt-connection/channel/browser/browser-channel.js @@ -166,10 +166,10 @@ export default class WebSocketChannel { */ close () { return new Promise((resolve, reject) => { + this._clearConnectionTimeout() if (this._ws && this._ws.readyState !== WS_CLOSED) { this._open = false this.stopReceiveTimeout() - this._clearConnectionTimeout() this._ws.onclose = () => resolve() this._ws.close() } else { diff --git a/packages/neo4j-driver-lite/test/integration/browser.environment.js b/packages/neo4j-driver-lite/test/integration/browser.environment.js index ddea458c4..8612ba539 100644 --- a/packages/neo4j-driver-lite/test/integration/browser.environment.js +++ b/packages/neo4j-driver-lite/test/integration/browser.environment.js @@ -23,10 +23,9 @@ class BrowserEnvironment extends NodeEnvironment { async setup () { await super.setup() this.global.WebSocket = WebSocket - this.global.window = { - navigator: { - userAgent: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36' - } + this.global.window = globalThis + this.global.window.navigator = { + userAgent: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36' } }