979e2c3a16
broadcast() wrapped each client.send in a bare runCatching with no logging or dead-client eviction, so an approval prompt could vanish silently and the session hang until reconnect. Now log+evict failed clients from both registries and error when a prompt reaches 0 live clients. Note: :apps:server:test not run (core:kernel temporarily broken by concurrent work); change is isolated, compiled clean before the breakage, detekt passes.