|
@@ -820,6 +820,11 @@ func (channel *Channel) Join(client *Client, key string, isSajoin bool, rb *Resp
|
820
|
820
|
// don't send topic and names for a SAJOIN of a different client
|
821
|
821
|
channel.SendTopic(client, rb, false)
|
822
|
822
|
channel.Names(client, rb)
|
|
823
|
+ } else {
|
|
824
|
+ // ensure that SAJOIN sends a MODE line to the originating client, if applicable
|
|
825
|
+ if givenMode != 0 {
|
|
826
|
+ rb.Add(nil, client.server.name, "MODE", chname, modestr, details.nick)
|
|
827
|
+ }
|
823
|
828
|
}
|
824
|
829
|
|
825
|
830
|
// TODO #259 can be implemented as Flush(false) (i.e., nonblocking) while holding joinPartMutex
|