Observers need a total-lifetime bound, not only an idle one
open by a73x
Since d2323cb8 a dial the observer table cannot hold waits in the kernel backlog instead of being accepted and closed. observer_idle_ms drops a peer that sends nothing for 10 s, but a peer that trickles bytes without ever completing an attach frame holds a slot indefinitely and the queue behind it is silent. Add an accepted_ms per observer and drop past a total cap. Nothing first-party trickles, so this is hardening, not a repro. Also pin td.srv.observer_idle_ms = 60_000 in the burst test in server_test_attach.zig so the idle drop cannot be what seats the eighth peer.