From 7114c8a1e923f9b9185e947ae966df066d22f014 Mon Sep 17 00:00:00 2001 From: Simon Ser Date: Fri, 20 Mar 2020 22:53:05 +0100 Subject: [PATCH] Avoid sending JOIN twice for the same channel --- bridge.go | 6 ------ downstream.go | 6 ++++++ 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/bridge.go b/bridge.go index 66f2ef0..baab546 100644 --- a/bridge.go +++ b/bridge.go @@ -11,12 +11,6 @@ func forwardChannel(dc *downstreamConn, ch *upstreamChannel) { downstreamName := dc.marshalChannel(ch.conn, ch.Name) - dc.SendMessage(&irc.Message{ - Prefix: dc.prefix(), - Command: "JOIN", - Params: []string{downstreamName}, - }) - if ch.Topic != "" { dc.SendMessage(&irc.Message{ Prefix: dc.srv.prefix(), diff --git a/downstream.go b/downstream.go index 10b38bc..13921a8 100644 --- a/downstream.go +++ b/downstream.go @@ -700,6 +700,12 @@ func (dc *downstreamConn) register() error { dc.forEachUpstream(func(uc *upstreamConn) { for _, ch := range uc.channels { if ch.complete { + dc.SendMessage(&irc.Message{ + Prefix: dc.prefix(), + Command: "JOIN", + Params: []string{dc.marshalChannel(ch.conn, ch.Name)}, + }) + forwardChannel(dc, ch) } }