Skip to content

Commit 31f5e47

Browse files
feat: enhance dashboard UI with new home and settings pages, and improve error logging in WebSocket connections
1 parent a5cf7cc commit 31f5e47

2 files changed

Lines changed: 15 additions & 4 deletions

File tree

.github/workflows/release.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -598,8 +598,9 @@ jobs:
598598
name: SentraCore ${{ github.ref_name }}
599599
body: |
600600
## Highlights
601-
- Engine config is now **writable by default** on installed systems (prevents “stuck connecting” when the install directory is protected).
602-
- Release artifacts include `engine-config.json` for Windows/macOS/Linux builds.
601+
- Updated dashboard UI with new home page and settings page.
602+
- Added new settings page to configure engine settings.
603+
- Added new home page to display engine status and settings.
603604
- Website: modern GitHub Pages landing site with direct-download buttons (via GitHub Releases API).
604605
605606
## Downloads

engine/api/server.py

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,8 @@ async def broadcast_live(self, data: dict) -> None:
6565
for ws in self._live_connections:
6666
try:
6767
await ws.send_text(message)
68-
except Exception:
68+
except Exception as e:
69+
logger.debug("Live broadcast failed; dropping client: %r", e)
6970
disconnected.append(ws)
7071
for ws in disconnected:
7172
self.disconnect_live(ws)
@@ -79,7 +80,8 @@ async def broadcast_alert(self, data: dict) -> None:
7980
for ws in self._alert_connections:
8081
try:
8182
await ws.send_text(message)
82-
except Exception:
83+
except Exception as e:
84+
logger.debug("Alert broadcast failed; dropping client: %r", e)
8385
disconnected.append(ws)
8486
for ws in disconnected:
8587
self.disconnect_alert(ws)
@@ -227,6 +229,10 @@ async def websocket_live(websocket: WebSocket):
227229
# Keep connection alive; data is pushed by the engine
228230
await websocket.receive_text()
229231
except WebSocketDisconnect:
232+
pass
233+
except Exception as e:
234+
logger.debug("Live WebSocket error: %r", e)
235+
finally:
230236
ws_manager.disconnect_live(websocket)
231237

232238
@app.websocket("/ws/alerts")
@@ -237,6 +243,10 @@ async def websocket_alerts(websocket: WebSocket):
237243
while True:
238244
await websocket.receive_text()
239245
except WebSocketDisconnect:
246+
pass
247+
except Exception as e:
248+
logger.debug("Alert WebSocket error: %r", e)
249+
finally:
240250
ws_manager.disconnect_alert(websocket)
241251

242252
return app

0 commit comments

Comments
 (0)