From 0af858a1bcf9634471acd961e3deba899dd6ea7b Mon Sep 17 00:00:00 2001 From: Akos Kitta Date: Wed, 2 Nov 2022 16:36:56 +0100 Subject: [PATCH 1/2] fix: avoid ENOTDIR when opening second instance. If the resource is a file, do not try to `readdir`, but return undefined Closes #1590 Signed-off-by: Akos Kitta --- .../src/electron-main/theia/electron-main-application.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arduino-ide-extension/src/electron-main/theia/electron-main-application.ts b/arduino-ide-extension/src/electron-main/theia/electron-main-application.ts index 335899d70..e6f7bb486 100644 --- a/arduino-ide-extension/src/electron-main/theia/electron-main-application.ts +++ b/arduino-ide-extension/src/electron-main/theia/electron-main-application.ts @@ -180,8 +180,8 @@ export class ElectronMainApplication extends TheiaElectronMainApplication { if (!stats) { return undefined; } - if (stats.isFile() && path.endsWith('.ino')) { - return path; + if (stats.isFile()) { + return path.endsWith('.ino') ? path : undefined; } try { const entries = await fs.readdir(path, { withFileTypes: true }); From 6e6d647cf961a253ad9e512e055c4afe228c805f Mon Sep 17 00:00:00 2001 From: Akos Kitta Date: Wed, 2 Nov 2022 16:37:43 +0100 Subject: [PATCH 2/2] fix: allow second instance on macOS Signed-off-by: Akos Kitta --- .../src/electron-main/theia/electron-main-application.ts | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/arduino-ide-extension/src/electron-main/theia/electron-main-application.ts b/arduino-ide-extension/src/electron-main/theia/electron-main-application.ts index e6f7bb486..240f0595d 100644 --- a/arduino-ide-extension/src/electron-main/theia/electron-main-application.ts +++ b/arduino-ide-extension/src/electron-main/theia/electron-main-application.ts @@ -355,10 +355,7 @@ export class ElectronMainApplication extends TheiaElectronMainApplication { argv: string[], cwd: string ): Promise { - if ( - !os.isOSX && - (await this.launchFromArgs({ cwd, argv, secondInstance: true })) - ) { + if (await this.launchFromArgs({ cwd, argv, secondInstance: true })) { // Application has received a file in its arguments return; }