diff --git a/electron.js b/electron.js index ce482a2..1b87945 100644 --- a/electron.js +++ b/electron.js @@ -113,7 +113,7 @@ function createWindow() { }); const appPath = (os.platform() === 'win32') ? path.resolve(path.join(app.getAppPath(), '..\\..\\repertory-ui.exe')) : - (os.platform() === 'darwin') ? app.getAppPath() : + (os.platform() === 'darwin') ? path.resolve(path.join(path.dirname(app.getAppPath()), '../MacOS/repertory-ui')) : process.env.APPIMAGE; const autoLauncher = new AutoLaunch({ @@ -277,21 +277,25 @@ ipcMain.on(Constants.IPC_Check_Dependency_Installed, (event, data) => { try { const exists = fs.lstatSync(data.File).isFile(); standardIPCReply(event, Constants.IPC_Check_Dependency_Installed_Reply, { - Exists: exists, + data: { + Exists: exists, + }, }); } catch (e) { standardIPCReply(event, Constants.IPC_Check_Dependency_Installed_Reply, { - Exists: false, - }, e); + data : { + Exists: false, + }, + }); } }); ipcMain.on(Constants.IPC_Check_Dependency_Installed + '_sync', (event, data) => { try { - const exists = fs.lstatSync(data.File).isFile(); + const ls = fs.lstatSync(data.File); event.returnValue = { data: { - Exists: exists + Exists: ls.isFile() || ls.isSymbolicLink(), }, }; } catch (e) { @@ -589,7 +593,7 @@ ipcMain.on(Constants.IPC_Grab_UI_Releases, (event) => { ipcMain.on(Constants.IPC_Install_Dependency, (event, data) => { if (data.Source.toLowerCase().endsWith('.dmg')) { helpers - .executeAsync('hdiutil', ['attach', data.Source]) + .executeAsync('open', ['-a', 'Finder', '-W', data.Source]) .then(() => { standardIPCReply(event, Constants.IPC_Install_Dependency_Reply, { Source: data.Source, diff --git a/package.json b/package.json index 2a81922..d709b33 100644 --- a/package.json +++ b/package.json @@ -38,7 +38,6 @@ "fs-extra": "3.0.1", "html-webpack-plugin": "2.29.0", "jest": "20.0.4", - "mac-open": "^0.1.3", "node-schedule": "^1.3.1", "npm": "^6.6.0", "object-assign": "4.1.1", diff --git a/src/App.js b/src/App.js index 18a30d1..a169f40 100644 --- a/src/App.js +++ b/src/App.js @@ -545,9 +545,11 @@ class App extends IPCContainer { const ret = this.sendSyncRequest(Constants.IPC_Check_Dependency_Installed, { File: dep.file, }); - if (ret.data.Exists || !ret.data.Success) { + if (ret.data.Exists) { clearInterval(i); - this.checkVersionInstalled(); + setTimeout(() => { + this.checkVersionInstalled(); + }, 10000); } }, 3000); };