aboutsummaryrefslogtreecommitdiffstats
path: root/deckit/obsclient.py
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-11-09 18:25:59 +0100
committerDanilo M. <danix@danix.xyz>2026-11-09 18:25:59 +0100
commit7f99167f0b6a3c83bf77e20bc5e03942b901fb71 (patch)
tree6b60263b6f702e6088eae30087c6dfa2a5a71f4c /deckit/obsclient.py
parent03e2adab3fb58532ba1e32c2f01a9ec14f11e484 (diff)
downloaddeck-it-7f99167f0b6a3c83bf77e20bc5e03942b901fb71.tar.gz
deck-it-7f99167f0b6a3c83bf77e20bc5e03942b901fb71.zip
fix: OBS idle timeout, payload validation, workspace list
Diffstat (limited to 'deckit/obsclient.py')
-rw-r--r--deckit/obsclient.py5
1 files changed, 5 insertions, 0 deletions
diff --git a/deckit/obsclient.py b/deckit/obsclient.py
index 2a8fd8c..181225a 100644
--- a/deckit/obsclient.py
+++ b/deckit/obsclient.py
@@ -49,9 +49,14 @@ class ObsClient:
self._thread.start()
def _recv_loop(self):
+ import websocket
+
while not self._stop.is_set():
try:
msg = json.loads(self.ws.recv())
+ except websocket.WebSocketTimeoutException:
+ # An idle OBS is not a closed one; keep reading.
+ continue
except Exception:
break
op, d = msg.get("op"), msg.get("d", {})