diff --git a/Changelog.md b/Changelog.md index 280e7f4..fb85298 100644 --- a/Changelog.md +++ b/Changelog.md @@ -1,5 +1,7 @@ # Not released +# Released + # 9.31.1 ElectronNET.CLI: @@ -33,8 +35,6 @@ ElectronNET.WebApp (internal use): Thank you for donation [Phil Seeman](https://github.com/mpnow) ❤ -# Released - # 8.31.2 ElectronNET.CLI: diff --git a/ElectronNET.API/HostHook.cs b/ElectronNET.API/HostHook.cs index 9618edb..3760625 100644 --- a/ElectronNET.API/HostHook.cs +++ b/ElectronNET.API/HostHook.cs @@ -72,13 +72,14 @@ namespace ElectronNET.API { BridgeConnector.Socket.Off(socketEventName + "Error" + guid); Electron.Dialog.ShowErrorBox("Host Hook Exception", result.ToString()); + taskCompletionSource.SetException(new Exception($"Host Hook Exception {result}")); }); BridgeConnector.Socket.On(socketEventName + "Complete" + guid, (result) => { BridgeConnector.Socket.Off(socketEventName + "Error" + guid); BridgeConnector.Socket.Off(socketEventName + "Complete" + guid); - T data; + T data = default; try { @@ -105,7 +106,8 @@ namespace ElectronNET.API } catch (Exception exception) { - throw new InvalidCastException("Return value does not match with the generic type.", exception); + taskCompletionSource.SetException(exception); + //throw new InvalidCastException("Return value does not match with the generic type.", exception); } taskCompletionSource.SetResult(data); diff --git a/ElectronNET.API/Tray.cs b/ElectronNET.API/Tray.cs index 2781a1f..76705a4 100644 --- a/ElectronNET.API/Tray.cs +++ b/ElectronNET.API/Tray.cs @@ -263,6 +263,15 @@ namespace ElectronNET.API }); } + /// + /// Shows the Traybar (empty). + /// + /// The image. + public void Show(string image) + { + BridgeConnector.Socket.Emit("create-tray", image); + } + /// /// Destroys the tray icon immediately. /// diff --git a/ElectronNET.CLI/Commands/BuildCommand.cs b/ElectronNET.CLI/Commands/BuildCommand.cs index 2075b70..748348a 100644 --- a/ElectronNET.CLI/Commands/BuildCommand.cs +++ b/ElectronNET.CLI/Commands/BuildCommand.cs @@ -186,7 +186,7 @@ namespace ElectronNET.CLI.Commands ProcessHelper.CmdExecute($"node build-helper.js " + manifestFileName, tempPath); Console.WriteLine($"Package Electron App for Platform {platformInfo.ElectronPackerPlatform}..."); - ProcessHelper.CmdExecute($"npx electron-builder . --config=./bin/electron-builder.json --{platformInfo.ElectronPackerPlatform} --{electronArch} -c.electronVersion=9.0.3 {electronParams}", tempPath); + ProcessHelper.CmdExecute($"npx electron-builder --config=./bin/electron-builder.json --{platformInfo.ElectronPackerPlatform} --{electronArch} -c.electronVersion=9.0.3 {electronParams}", tempPath); Console.WriteLine("... done"); diff --git a/ElectronNET.Host/api/tray.js b/ElectronNET.Host/api/tray.js index 6ed7e14..77b3030 100644 --- a/ElectronNET.Host/api/tray.js +++ b/ElectronNET.Host/api/tray.js @@ -47,13 +47,17 @@ module.exports = (socket) => { } }); socket.on('create-tray', (image, menuItems) => { - const menu = electron_1.Menu.buildFromTemplate(menuItems); - addMenuItemClickConnector(menu.items, (id) => { - electronSocket.emit('trayMenuItemClicked', id); - }); const trayIcon = electron_1.nativeImage.createFromPath(image); tray = new electron_1.Tray(trayIcon); - tray.setContextMenu(menu); + + if (menuItems) { + const menu = electron_1.Menu.buildFromTemplate(menuItems); + addMenuItemClickConnector(menu.items, (id) => { + electronSocket.emit('trayMenuItemClicked', id); + }); + + tray.setContextMenu(menu); + } }); socket.on('tray-destroy', () => { if (tray) { diff --git a/ElectronNET.Host/api/tray.ts b/ElectronNET.Host/api/tray.ts index e7e8ef5..3fa8d94 100644 --- a/ElectronNET.Host/api/tray.ts +++ b/ElectronNET.Host/api/tray.ts @@ -53,16 +53,18 @@ export = (socket: SocketIO.Socket) => { }); socket.on('create-tray', (image, menuItems) => { - const menu = Menu.buildFromTemplate(menuItems); - - addMenuItemClickConnector(menu.items, (id) => { - electronSocket.emit('trayMenuItemClicked', id); - }); - const trayIcon = nativeImage.createFromPath(image); tray = new Tray(trayIcon); - tray.setContextMenu(menu); + + if (menuItems) { + const menu = Menu.buildFromTemplate(menuItems); + + addMenuItemClickConnector(menu.items, (id) => { + electronSocket.emit('trayMenuItemClicked', id); + }); + tray.setContextMenu(menu); + } }); socket.on('tray-destroy', () => {