From 25e004976e0115a2e811c42fe291d39fe285bf6c Mon Sep 17 00:00:00 2001 From: Susmitha Girumala Date: Mon, 7 Jun 2021 18:50:39 -0400 Subject: [PATCH] fix: Remove shell option for spawning clis on windows --- ui/desktop/electron-app/src/helpers/spawn-promise.js | 5 +++-- ui/desktop/electron-app/src/models/session.js | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/ui/desktop/electron-app/src/helpers/spawn-promise.js b/ui/desktop/electron-app/src/helpers/spawn-promise.js index af2da4ab3..1ad034fa7 100644 --- a/ui/desktop/electron-app/src/helpers/spawn-promise.js +++ b/ui/desktop/electron-app/src/helpers/spawn-promise.js @@ -1,7 +1,6 @@ const { path } = require('../cli/path.js'); const { spawn, spawnSync } = require('child_process'); const jsonify = require('../utils/jsonify.js'); -const { isWindows } = require('../helpers/platform.js'); // You can throw exceptions, or allow them to occur, and this is supported. // Exceptions thrown in this way will be returned to the UI as an @@ -28,7 +27,7 @@ module.exports = { */ spawnAsyncJSONPromise(command) { return new Promise((resolve, reject) => { - const childProcess = spawn(path(), command, { shell: isWindows() }); + const childProcess = spawn(path(), command); let outputStream = ''; let errorStream = ''; @@ -56,6 +55,8 @@ module.exports = { childProcess.stderr.on('error', processError); childProcess.stderr.on('data', processError); + // Capture spawn errors + childProcess.on('error', (error) => reject(error)); }); }, diff --git a/ui/desktop/electron-app/src/models/session.js b/ui/desktop/electron-app/src/models/session.js index 0b95a338b..e52a5419c 100644 --- a/ui/desktop/electron-app/src/models/session.js +++ b/ui/desktop/electron-app/src/models/session.js @@ -39,7 +39,7 @@ class Session { * @return {boolean} */ get isRunning() { - return !this.#process.killed; + return this.#process && !this.#process.killed; } /**