From ebb196f164c1ab132bea6803c73da2e9c14db607 Mon Sep 17 00:00:00 2001 From: sawka Date: Sun, 30 Oct 2022 13:06:25 -0700 Subject: [PATCH] send initial local server status --- src/emain.ts | 5 +++++ src/main.tsx | 2 +- src/model.ts | 4 +++- src/preload.js | 1 + 4 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/emain.ts b/src/emain.ts index c72e9ed94..54e3ccb26 100644 --- a/src/emain.ts +++ b/src/emain.ts @@ -245,6 +245,11 @@ electron.ipcMain.on("get-id", (event) => { return; }); +electron.ipcMain.on("local-server-status", (event) => { + event.returnValue = (localServerProc != null); + return; +}); + electron.ipcMain.on("restart-server", (event) => { if (localServerProc != null) { localServerProc.kill(); diff --git a/src/main.tsx b/src/main.tsx index d7b21631d..d7ffe35ef 100644 --- a/src/main.tsx +++ b/src/main.tsx @@ -2587,7 +2587,7 @@ class Main extends React.Component<{}, {}> { - + diff --git a/src/model.ts b/src/model.ts index 067f4c600..b020753f1 100644 --- a/src/model.ts +++ b/src/model.ts @@ -1529,13 +1529,15 @@ class Model { termUsedRowsCache : Record = {}; debugCmds : number = 0; debugSW : OV = mobx.observable.box(false); - localServerRunning : OV = mobx.observable.box(false); + localServerRunning : OV; constructor() { this.clientId = getApi().getId(); this.ws = new WSControl(this.clientId, (message : any) => this.runUpdate(message, false)); this.ws.reconnect(); this.inputModel = new InputModel(); + let isLocalServerRunning = getApi().getLocalServerStatus(); + this.localServerRunning = mobx.observable.box(isLocalServerRunning); getApi().onTCmd(this.onTCmd.bind(this)); getApi().onICmd(this.onICmd.bind(this)); getApi().onLCmd(this.onLCmd.bind(this)); diff --git a/src/preload.js b/src/preload.js index 314b0e260..bdb57e05d 100644 --- a/src/preload.js +++ b/src/preload.js @@ -2,6 +2,7 @@ let {contextBridge, ipcRenderer} = require("electron"); contextBridge.exposeInMainWorld("api", { getId: () => ipcRenderer.sendSync("get-id"), + getLocalServerStatus: () => ipcRenderer.sendSync("local-server-status"), restartLocalServer: () => ipcRenderer.sendSync("restart-server"), onTCmd: (callback) => ipcRenderer.on("t-cmd", callback), onICmd: (callback) => ipcRenderer.on("i-cmd", callback),