diff --git a/gui/electron-builder.json5 b/gui/electron-builder.json5 index 358fd3be..b32baa06 100644 --- a/gui/electron-builder.json5 +++ b/gui/electron-builder.json5 @@ -13,11 +13,7 @@ "files": [ "dist", "dist-electron", - ], - - - "extraResources": [ - { + { "from": "../modem/dist/modem/", "to": "modem", "filter": [ @@ -25,22 +21,26 @@ "!**/.git" ] } - ], + ], + + "mac": { "target": [ { "target": "default", - "arch": ["arm64", "x64"] + "arch": ["universal"] } ], - "notarize": "false", + "notarize": "false", "icon": "build/icon.png", "hardenedRuntime": true, "entitlements": "build/entitlements.plist", "entitlementsInherit": "build/entitlements.plist", "gatekeeperAssess": false, + "mergeASARs": false, + "x64ArchFiles": "**/*", "artifactName": "${productName}-Mac-${version}.${ext}" }, "win": { diff --git a/gui/electron/main/index.ts b/gui/electron/main/index.ts index 256eaca5..70933013 100644 --- a/gui/electron/main/index.ts +++ b/gui/electron/main/index.ts @@ -105,12 +105,12 @@ app.whenReady().then(() => { switch (platform().toLowerCase()) { case "darwin": case "linux": - daemonPath = join(process.resourcesPath, "modem", "freedata-daemon"); + daemonPath = join(__dirname, "modem", "freedata-daemon"); break; case "win32": case "win64": - daemonPath = join(process.resourcesPath, "modem", "freedata-daemon.exe"); + daemonPath = join(__dirname, "modem", "freedata-daemon.exe"); break; default: console.log("Unhandled OS Platform: ", platform()); diff --git a/gui/package.json b/gui/package.json index 4c3c7cb3..bf6c36b8 100644 --- a/gui/package.json +++ b/gui/package.json @@ -2,7 +2,7 @@ "name": "FreeDATA", "description": "FreeDATA", "private": true, - "version": "0.11.0-alpha.7", + "version": "0.11.0-alpha.9", "main": "dist-electron/main/index.js", "scripts": { "start": "vite", @@ -32,6 +32,7 @@ "homepage": "https://freedata.app", "dependencies": { "@electron/notarize": "^2.1.0", + "@electron/universal": "^1.4.2", "@popperjs/core": "^2.11.8", "@vueuse/electron": "^10.4.1", "blob-util": "^2.0.2", diff --git a/gui/src/components/main_active_rig_control.vue b/gui/src/components/main_active_rig_control.vue index eaab7b66..55b31e5a 100644 --- a/gui/src/components/main_active_rig_control.vue +++ b/gui/src/components/main_active_rig_control.vue @@ -81,6 +81,8 @@ function set_hamlib_rf_level() { + + diff --git a/modem/mesh.py b/modem/mesh.py index af0ac5bd..87dee234 100644 --- a/modem/mesh.py +++ b/modem/mesh.py @@ -174,7 +174,7 @@ class MeshRouter(): except Exception as e: self.log.warning("[MESH] error adding data to routing table", e=e, router=new_router) - def broadcast_routing_table(self, interval=10): + def broadcast_routing_table(self, interval=600): while True: # always enable receiving for datac4 if broadcasting diff --git a/modem/sock.py b/modem/sock.py index 097faa87..d8294d59 100644 --- a/modem/sock.py +++ b/modem/sock.py @@ -1407,8 +1407,12 @@ def send_modem_state(): } ) - #print(output) - return json.dumps(output) + try: + json_out = json.dumps(output) + except Exception as e: + log.warning("[SCK] error while json conversion for modem state", e=e) + + return json_out def command_response(command, status): diff --git a/modem/static.py b/modem/static.py index f9cdee09..a7151055 100644 --- a/modem/static.py +++ b/modem/static.py @@ -134,7 +134,7 @@ class TCIParam: @dataclass class Modem: - version = "0.11.0-alpha.7" + version = "0.11.0-alpha.9" host: str = "0.0.0.0" port: int = 3000 SOCKET_TIMEOUT: int = 1 # seconds diff --git a/tools/create_python_env.sh b/tools/create_python_env.sh index 66dbac33..58d83868 100755 --- a/tools/create_python_env.sh +++ b/tools/create_python_env.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -if [ ! -d "tnc" ]; then +if [ ! -d "modem" ]; then echo "Error: Run this script from the main FreeDATA directory." exit 1 fi