diff --git a/src/main/load-serialport.js b/src/main/load-serialport.js index fdf3922..5d9cb6c 100644 --- a/src/main/load-serialport.js +++ b/src/main/load-serialport.js @@ -13,13 +13,27 @@ const getSerialPortConstructorArguments = (ports) => { return { path, baudRate } } -let sender = null +const senders = [] ipcMain.on("APP_MOUNTED", (event) => { - sender = event.sender + const { sender } = event + senders.push(sender) + + sender.once('destroyed', () => { + const index = senders.indexOf(sender) + if (index >= 0) senders.splice(index, 1) + }) }) const sendMsg = (channel, msg) => { - if (sender) sender.send(channel, msg) + if (senders.length <= 0) return + + try { + senders.forEach((sender) => { + sender.send(channel, msg) + }) + } catch (error) { + console.error(error) + } } SerialPort.list().then((ports, err) => {