diff --git a/src/pages/Device.tsx b/src/pages/Device.tsx index 0fb59a9..db9914e 100644 --- a/src/pages/Device.tsx +++ b/src/pages/Device.tsx @@ -203,10 +203,24 @@ export default function DevicePage() { // --- Real-time device updates (optional) --- // Updates device-level info (name, status, lastActive, etc.) - useWebSocket({ - path: `/v1/live/devices/${deviceID}`, - parse: (e) => Device.any(JSON.parse(e.data)), + useWebSocket({ + path: `/live/devices/${deviceID}`, + parse: (e) => { + try { + const raw = JSON.parse(e.data); + const dev = Device.any(raw); + if (!dev?.settings) { + console.warn("[ws] received device without settings:", raw); + return null; + } + return dev; + } catch (err) { + console.warn("[ws] failed to parse device:", err); + return null; + } + }, onMessage: (updatedDevice) => { + if (!updatedDevice) return; setDevice(updatedDevice); }, token,