From 240559581a225ff632c00a52e029b3728c61309e Mon Sep 17 00:00:00 2001 From: Wim Date: Thu, 21 Feb 2019 17:52:28 +0100 Subject: [PATCH] Handle quit message relay better on gateways with one channel on the irc bridge #722 --- gateway/gateway.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/gateway/gateway.go b/gateway/gateway.go index eaffca11..36ef3ebe 100644 --- a/gateway/gateway.go +++ b/gateway/gateway.go @@ -188,6 +188,11 @@ func (gw *Gateway) getDestChannel(msg *config.Message, dest bridge.Bridge) []con // irc quit is for the whole bridge, isn't a per channel quit. // channel is empty when we quit if msg.Event == config.EventJoinLeave && getProtocol(msg) == "irc" && msg.Channel == "" { + // if we only have one channel on this irc bridge it's got to be the sending one. + // don't send it back + if channel.Account == msg.Account && len(dest.Channels) == 1 && dest.Protocol == "irc" { + return channels + } for _, channel := range gw.Channels { if channel.Account == dest.Account && strings.Contains(channel.Direction, "out") && gw.validGatewayDest(msg) {