From 7747f25c9e339d11710ac8e4379a2b50d91b3f34 Mon Sep 17 00:00:00 2001 From: Joseph Doherty Date: Wed, 24 Jun 2026 19:05:42 -0400 Subject: [PATCH] docs(known-issues): mark central-report singleton-hang fix as committed (was stale 'pending commit') The HOST-021 fix (AkkaHostedService.GetOrCreateActorSystem + AddSingleton in Program.cs/SiteServiceRegistration.cs) is committed and live on main; the tracker still read 'pending commit' / 'Fix (pending, task #48)'. Status corrected. --- .../2026-06-05-central-report-pages-singleton-query-hang.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/known-issues/2026-06-05-central-report-pages-singleton-query-hang.md b/docs/known-issues/2026-06-05-central-report-pages-singleton-query-hang.md index f45cb553..546bee39 100644 --- a/docs/known-issues/2026-06-05-central-report-pages-singleton-query-hang.md +++ b/docs/known-issues/2026-06-05-central-report-pages-singleton-query-hang.md @@ -1,6 +1,6 @@ # Central report pages hang ~30s — NotificationOutbox / SiteCallAudit singleton query Asks never reply -**Status:** FIXED — verified 2026-06-05 (pending commit) · **Severity:** High (real users see 30s page loads) · **Found:** 2026-06-05 +**Status:** FIXED — verified 2026-06-05; committed & live on `main` (confirmed 2026-06-24: `AkkaHostedService.GetOrCreateActorSystem()` + `AddSingleton` registrations present in HEAD) · **Severity:** High (real users see 30s page loads) · **Found:** 2026-06-05 **Components:** Notification Outbox (#21), Site Call Audit (#22), Central UI (#9), Host/cluster (#15/#13) ## FIX APPLIED & VERIFIED (2026-06-05) @@ -73,7 +73,7 @@ the `ActorSystem` is simply **dead** by the time a page queries it. "Determinist restart and full redeploy" is fully explained: it is a DI-lifetime code defect that re-triggers on the first post-`Up` health probe every boot. -**Fix (pending, task #48):** stop the container from disposing the externally-owned +**Fix (applied 2026-06-05 — see "FIX APPLIED & VERIFIED" above):** stop the container from disposing the externally-owned `ActorSystem`. It must be resolvable from DI as the live instance (the kit calls `GetService()`), re-readable (must not cache `null` during warmup), and never disposed by a child scope. A `Transient`/`Scoped` factory returning the `IDisposable` system