diff --git a/drb-c2-core/app/internal/mqtt_handler.py b/drb-c2-core/app/internal/mqtt_handler.py index c4b9b84..5839385 100644 --- a/drb-c2-core/app/internal/mqtt_handler.py +++ b/drb-c2-core/app/internal/mqtt_handler.py @@ -127,10 +127,16 @@ class MQTTHandler: status = payload.get("status") if not status: return - await fstore.doc_update("nodes", node_id, { - "status": status, - "last_seen": datetime.now(timezone.utc).isoformat(), - }) + try: + await fstore.doc_update("nodes", node_id, { + "status": status, + "last_seen": datetime.now(timezone.utc).isoformat(), + }) + except Exception as e: + if "No document to update" in str(e): + logger.info(f"Status from deleted/unknown node {node_id} — ignoring (no Firestore doc)") + else: + raise # ------------------------------------------------------------------ # Metadata — call_start / call_end events