Explorar el Código

Log why a waiting intent is waiting

A queued intent retries until its lifetime expires, and the status explaining
why it cannot be delivered was logged at debug. In an info-level capture that
turned a scene lease which never published into sixty seconds of silence
followed by a bare intent_timeout, with nothing naming the cause.

The ending run shows exactly that: state_selected at t=531300, no
cinematic_enqueued, then intent_timeout at t=591315. The set_cinematic_active
intent was queued correctly but set_cinematic_slot_active_reserved kept
returning a still-publishing scene lease, and which status it returned was
never recorded.

Raised to info. The existing dedup on lastIntentStatus keeps it to one line per
distinct status.
Millie hace 3 días
padre
commit
b04319cf2a

+ 5 - 1
Sunrise/src/server/activity/mission/mission_script_runtime_delivery.cpp

@@ -171,7 +171,11 @@ void report_intent_status(RuntimeInstance& instance,
         return;
     }
     instance.lastIntentStatus = status;
-    log_line(core::log::Level::debug, &instance, "intent", name);
+    // A waiting intent retries until its lifetime expires, so the reason it is waiting is the
+    // only account of why a delivery never happened. At debug it was invisible, and a scene
+    // lease that never published looked like sixty seconds of silence before intent_timeout.
+    // The dedup above keeps this to one line per distinct status.
+    log_line(core::log::Level::info, &instance, "intent", name);
 }
 
 /**