diff --git a/package-lock.json b/package-lock.json index 7812887..a2c1d25 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,15 +1,17 @@ { "name": "electronwmd", - "version": "0.1.3-1.1.1", + "version": "0.1.4-1.1.1", "lockfileVersion": 2, "requires": true, "packages": { "": { - "version": "0.1.3-1.1.1", + "name": "electronwmd", + "version": "0.1.4-1.1.1", "dependencies": { "@types/electron": "^1.6.10", "async-mutex": "^0.3.2", "jconv": "^0.1.5", + "jsbi": "^3.2.5", "netmd-js": "^3.2.3", "typescript": "^4.3.5", "webusb": "^2.2.0" diff --git a/package.json b/package.json index 3849086..8dbef77 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "electronwmd", - "version": "0.1.3-1.1.1", + "version": "0.1.4-1.1.1", "description": "Electron version of WebMinidisc Pro", "main": "dist/main.js", "scripts": { @@ -21,7 +21,8 @@ "asarUnpack": [ "./node_modules/netmd-js/**/*", "./node_modules/crypto-js/**/*", - "./node_modules/jconv/**/*" + "./node_modules/jconv/**/*", + "./node_modules/jsbi/**/*" ], "win": { "icon": "./res/icon.ico" @@ -42,6 +43,7 @@ "@types/electron": "^1.6.10", "async-mutex": "^0.3.2", "jconv": "^0.1.5", + "jsbi": "^3.2.5", "netmd-js": "^3.2.3", "typescript": "^4.3.5", "webusb": "^2.2.0" diff --git a/src/main.ts b/src/main.ts index 2bea1bd..ddc9d52 100644 --- a/src/main.ts +++ b/src/main.ts @@ -26,6 +26,7 @@ async function integrate(window: BrowserWindow){ writable: false, value: { usb } }); + usb.ondisconnect = () => window.reload(); const service = new NetMDUSBService({debug: true}); let currentObj = service as any; @@ -43,10 +44,9 @@ async function integrate(window: BrowserWindow){ } } try{ - return await (service as any)[n](...allArgs); + return [ await (service as any)[n](...allArgs), null ]; }catch(err){ - window.reload(); - return null; + return [ null, err ]; } }) }); diff --git a/src/preload.ts b/src/preload.ts index 6c66976..fcfe86c 100644 --- a/src/preload.ts +++ b/src/preload.ts @@ -16,7 +16,7 @@ import { ipcRenderer.on("_callback", (evt, cbname, ...args) => callbacks[cbname](...args)); for(const name of defined){ - iface[name] = (...args: any[]) => { + iface[name] = async (...args: any[]) => { const registeredForThis = new Set(); for(let i = 0; i