diff --git a/packages/desktop/package.json b/packages/desktop/package.json index 0b7d6c6..8860904 100644 --- a/packages/desktop/package.json +++ b/packages/desktop/package.json @@ -1,6 +1,6 @@ { "name": "@remocoder/desktop", - "version": "0.1.1", + "version": "0.1.2", "private": true, "type": "module", "main": "./out/main/index.js", diff --git a/packages/desktop/src/main/index.ts b/packages/desktop/src/main/index.ts index e893e65..ae9df55 100644 --- a/packages/desktop/src/main/index.ts +++ b/packages/desktop/src/main/index.ts @@ -116,6 +116,9 @@ function createWindow(icon: Electron.NativeImage | null) { win?.hide() } }) + win.on('closed', () => { + win = null + }) } function resizeWindow(size: { width: number; height: number }): void { @@ -274,16 +277,22 @@ app.whenReady().then(async () => { initToken(loadOrCreateToken()) + const sendToRenderer = (channel: string, ...args: unknown[]) => { + if (win && !win.isDestroyed() && !win.webContents.isDestroyed()) { + win.webContents.send(channel, ...args) + } + } + const { wss, getToken } = startPtyServer(undefined, { onSessionsChange: (sessions) => { currentSessions = sessions - win?.webContents.send('sessions-update', sessions) + sendToRenderer('sessions-update', sessions) }, onPtyOutput: (sessionId, data) => { - win?.webContents.send('pty-output', { sessionId, data }) + sendToRenderer('pty-output', { sessionId, data }) }, onPtyExit: (sessionId, exitCode) => { - win?.webContents.send('pty-exit', { sessionId, exitCode }) + sendToRenderer('pty-exit', { sessionId, exitCode }) }, }) diff --git a/packages/mobile/app.json b/packages/mobile/app.json index cf0daa1..08fb014 100644 --- a/packages/mobile/app.json +++ b/packages/mobile/app.json @@ -3,7 +3,7 @@ "name": "RemoCoder", "slug": "remocoder", "scheme": "remocoder", - "version": "0.1.1", + "version": "0.1.2", "orientation": "portrait", "userInterfaceStyle": "dark", "ios": { diff --git a/packages/mobile/package.json b/packages/mobile/package.json index 1facdd3..dc244c5 100644 --- a/packages/mobile/package.json +++ b/packages/mobile/package.json @@ -1,6 +1,6 @@ { "name": "@remocoder/mobile", - "version": "0.1.1", + "version": "0.1.2", "private": true, "main": "index.js", "scripts": {