never send blank nicks (FIXES yaaic/atomic, Revolution IRC)
--HG-- branch : nmdc-ircfrontend
This commit is contained in:
parent
0e7e2b629c
commit
458ab0a054
18
server.go
18
server.go
@ -59,6 +59,7 @@ type Server struct {
|
|||||||
recievedFirstServerMessage bool
|
recievedFirstServerMessage bool
|
||||||
recievedCtcpVersion bool
|
recievedCtcpVersion bool
|
||||||
nickChangeAttempt int
|
nickChangeAttempt int
|
||||||
|
sentFakeSelfJoin bool
|
||||||
|
|
||||||
quirks Quirks
|
quirks Quirks
|
||||||
}
|
}
|
||||||
@ -210,8 +211,12 @@ func (s *Server) upstreamWorker() {
|
|||||||
case hubEvent := <-s.upstreamEvents:
|
case hubEvent := <-s.upstreamEvents:
|
||||||
switch hubEvent.EventType {
|
switch hubEvent.EventType {
|
||||||
case libnmdc.EVENT_USER_JOINED:
|
case libnmdc.EVENT_USER_JOINED:
|
||||||
s.reply(rplJoin, hubEvent.Nick, BLESSED_CHANNEL)
|
if hubEvent.Nick == s.clientNick() && s.sentFakeSelfJoin {
|
||||||
// If we want to JOIN with the full power of the supplied nick!user@host, then we'll need to actually remember the active client's USER parameters
|
s.sentFakeSelfJoin = false
|
||||||
|
} else {
|
||||||
|
// If we want to JOIN with the full power of the supplied nick!user@host, then we'll need to actually remember the active client's USER parameters
|
||||||
|
s.reply(rplJoin, hubEvent.Nick, BLESSED_CHANNEL)
|
||||||
|
}
|
||||||
|
|
||||||
case libnmdc.EVENT_USER_PART:
|
case libnmdc.EVENT_USER_PART:
|
||||||
s.reply(rplPart, hubEvent.Nick, BLESSED_CHANNEL, "Disconnected")
|
s.reply(rplPart, hubEvent.Nick, BLESSED_CHANNEL, "Disconnected")
|
||||||
@ -678,6 +683,15 @@ func (s *Server) sendNames() {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if len(nameList) == 0 {
|
||||||
|
// We don't have a nick list yet. Many clients can't handle a blank list
|
||||||
|
// We could delay until we do have a nick list
|
||||||
|
// Or, we could send our nick only, and filter it out of the next join
|
||||||
|
|
||||||
|
nameList = append(nameList, s.clientNick())
|
||||||
|
s.sentFakeSelfJoin = true
|
||||||
|
}
|
||||||
|
|
||||||
s.reply(rplNames, BLESSED_CHANNEL, strings.Join(nameList, " "))
|
s.reply(rplNames, BLESSED_CHANNEL, strings.Join(nameList, " "))
|
||||||
s.reply(rplEndOfNames, BLESSED_CHANNEL)
|
s.reply(rplEndOfNames, BLESSED_CHANNEL)
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user