diff --git a/khatru/listener.go b/khatru/listener.go index 10e5660..454315d 100644 --- a/khatru/listener.go +++ b/khatru/listener.go @@ -349,7 +349,11 @@ func (rl *Relay) removeClientAndListeners(ws *WebSocket) { if specs, ok := rl.clients[ws]; ok { for _, spec := range specs { // no need to cancel contexts since they inherit from the main connection context - rl.dispatcher.removeSubscription(spec.ssid) + filter := rl.dispatcher.removeSubscription(spec.ssid) + + if rl.OnListenerRemoved != nil { + rl.OnListenerRemoved(ws, spec.ssid, spec.sid, filter) + } } } delete(rl.clients, ws)