From 776c1b152ec71081914f551eb33c899eff7a9e99 Mon Sep 17 00:00:00 2001 From: Christophe Date: Tue, 8 Aug 2023 03:51:31 +0700 Subject: [PATCH] Improve logout() LocalAuth logic (#2175) * Improve logout() LocalAuth logic - Wait for browser to close to prevent Exception on Windows * Update Client.js * Update LocalAuth.js --------- Co-authored-by: Rajeh Taher Co-authored-by: tuyuribr <45042245+tuyuribr@users.noreply.github.com> Co-authored-by: Shir Serlui <70711723+shirser121@users.noreply.github.com> --- src/Client.js | 9 ++++++++- src/authStrategies/LocalAuth.js | 4 ++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/Client.js b/src/Client.js index c673cef..51a6f25 100644 --- a/src/Client.js +++ b/src/Client.js @@ -702,7 +702,14 @@ class Client extends EventEmitter { await this.pupPage.evaluate(() => { return window.Store.AppState.logout(); }); - + await this.pupBrowser.close(); + + let maxDelay = 0; + while (this.pupBrowser.isConnected() && (maxDelay < 10)) { // waits a maximum of 1 second before calling the AuthStrategy + await new Promise(resolve => setTimeout(resolve, 100)); + maxDelay++; + } + await this.authStrategy.logout(); } diff --git a/src/authStrategies/LocalAuth.js b/src/authStrategies/LocalAuth.js index c66cfff..8309c3d 100644 --- a/src/authStrategies/LocalAuth.js +++ b/src/authStrategies/LocalAuth.js @@ -44,10 +44,10 @@ class LocalAuth extends BaseAuthStrategy { async logout() { if (this.userDataDir) { - return (fs.rmSync ? fs.rmSync : fs.rmdirSync).call(this, this.userDataDir, { recursive: true }); + return (fs.rmSync ? fs.rmSync : fs.rmdirSync).call(this, this.userDataDir, { recursive: true, force: true }); } } } -module.exports = LocalAuth; \ No newline at end of file +module.exports = LocalAuth;