fix: exit lifecycle probe without document command queue

This commit is contained in:
codex
2026-08-03 17:21:08 +03:00
parent 32607e2f34
commit 81a075e684
2 changed files with 12 additions and 1 deletions
@@ -330,6 +330,16 @@ internal sealed class FirstLimitedApplyAutomationCoordinator
{
if (exitHandlerSubscribed) AcadApplication.Idle -= OnExitIdle;
exitHandlerSubscribed = false;
// LifecycleProbe deliberately opens no drawing. It is already
// executing in the first verified Idle callback, where the managed
// quit API has been runtime-confirmed to terminate AutoCAD cleanly.
if (document is null && string.Equals(config?.Phase, "LifecycleProbe", StringComparison.OrdinalIgnoreCase))
{
transitions.Add("LifecycleProbeApplicationQuitRequested");
TryWriteEvidence(state == CoordinatorState.Completed, null);
AcadApplication.Quit();
return;
}
if (document is null) throw new InvalidOperationException("AUTOMATION_EXIT_DOCUMENT_UNAVAILABLE");
transitions.Add("NativeQuitCommandQueued");
// Persist the exit boundary before handing control back to AutoCAD;