diff --git a/freedata-nsis-config.nsi b/freedata-nsis-config.nsi index 160e0bad..6e32b5f5 100644 --- a/freedata-nsis-config.nsi +++ b/freedata-nsis-config.nsi @@ -47,14 +47,34 @@ Section "FreeData Server" SEC01 ; Set output path to the installation directory SetOutPath $INSTDIR\freedata-server + ; Check if "config.ini" exists and back it up + IfFileExists $INSTDIR\freedata-server\config.ini backupConfig + +doneBackup: ; Add your application files here File /r "modem\server.dist\*" +; Restore the original "config.ini" if it was backed up + IfFileExists $INSTDIR\freedata-server\config.ini.bak restoreConfig + ; Create a shortcut in the user's desktop CreateShortCut "$DESKTOP\FreeDATA Server.lnk" "$INSTDIR\freedata-server.exe" ; Create Uninstaller WriteUninstaller "$INSTDIR\Uninstall.exe" + + ; Backup "config.ini" before overwriting files +backupConfig: + Rename $INSTDIR\freedata-server\config.ini $INSTDIR\freedata-server\config.ini.bak + Goto doneBackup + +; Restore the original "config.ini" +restoreConfig: + Delete $INSTDIR\freedata-server\config.ini + Rename $INSTDIR\freedata-server\config.ini.bak $INSTDIR\freedata-server\config.ini + + + SectionEnd Section "FreeData x64 GUI" SEC02 diff --git a/gui/electron/main/index.ts b/gui/electron/main/index.ts index 7a843c32..0059d66c 100644 --- a/gui/electron/main/index.ts +++ b/gui/electron/main/index.ts @@ -117,9 +117,10 @@ app.whenReady().then(() => { //serverProcess.unref(); // Allow the server process to continue running independently of the parent process // break; case "win32": - console.log(`Starting server with path: ${serverPath}`); serverPath = join(basePath, "freedata-server", "freedata-server.exe"); - serverProcess = spawn('cmd.exe', ['/c', 'start', 'cmd.exe', '/k', serverPath], { shell: true }); + console.log(`Starting server with path: ${serverPath}`); + serverProcess = spawn('cmd.exe', ['/c', 'start', 'cmd.exe', '/c', serverPath], { shell: true }); + console.log(`Started server | PID: ${serverProcess.pid}`); break; default: @@ -142,8 +143,6 @@ serverProcess.stderr.on('data', (data) => { console.error(`stderr: ${data}`); }); - - //) }); app.on('before-quit', () => { diff --git a/gui/src/js/eventHandler.js b/gui/src/js/eventHandler.js index 5c8077ab..613776d2 100644 --- a/gui/src/js/eventHandler.js +++ b/gui/src/js/eventHandler.js @@ -134,12 +134,7 @@ export function eventDispatcher(data) { displayToast("success", "bi-ethernet", message, 5000); stateStore.modem_connection = "connected"; - getRemote().then(() => { - //initConnections(); - getModemState(); - }); - //getRemote(); getModemState(); getOverallHealth(); loadAudioDevices(); diff --git a/gui/src/main.ts b/gui/src/main.ts index ac10bbc6..c66bb2b2 100644 --- a/gui/src/main.ts +++ b/gui/src/main.ts @@ -32,8 +32,12 @@ const tooltipList = [...tooltipTriggerList].map( import { getRemote } from "./store/settingsStore"; import { initConnections } from "./js/event_sock.js"; import { getModemState } from "./js/api"; +import { loadAudioDevices, loadSerialDevices } from "./js/deviceFormHelper.ts"; + getRemote().then(() => { initConnections(); + loadAudioDevices(); + loadSerialDevices(); getModemState(); });