From 8ba05114cda5a15635e4b64d95524c26454c2ff9 Mon Sep 17 00:00:00 2001 From: fiatjaf Date: Sat, 28 Feb 2026 14:26:32 -0300 Subject: [PATCH] remove relay from pool once it's closed or disconnected. --- pool.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pool.go b/pool.go index e9fa12b..b73e4bc 100644 --- a/pool.go +++ b/pool.go @@ -164,6 +164,12 @@ func (pool *Pool) EnsureRelay(url string) (*Relay, error) { } pool.Relays.Store(nm, relay) + go func(r *Relay, relayURL string) { + <-r.Context().Done() + if current, ok := pool.Relays.Load(relayURL); ok && current == r { + pool.Relays.Delete(relayURL) + } + }(relay, nm) return relay, nil }