mirror of
https://github.com/ergochat/ergo.git
synced 2024-11-22 11:59:40 +01:00
Make CAP version upgrading work as recommended by cap spec
This commit is contained in:
parent
cb1de17ffc
commit
c84ef97b90
@ -535,8 +535,12 @@ func capHandler(server *Server, client *Client, msg ircmsg.IrcMessage, rb *Respo
|
||||
if !client.registered {
|
||||
rb.session.capState = caps.NegotiatingState
|
||||
}
|
||||
if len(msg.Params) > 1 && msg.Params[1] == "302" {
|
||||
rb.session.capVersion = 302
|
||||
if 1 < len(msg.Params) {
|
||||
num, err := strconv.Atoi(msg.Params[1])
|
||||
newVersion := caps.Version(num)
|
||||
if err == nil && rb.session.capVersion < newVersion {
|
||||
rb.session.capVersion = newVersion
|
||||
}
|
||||
}
|
||||
// weechat 1.4 has a bug here where it won't accept the CAP reply unless it contains
|
||||
// the server.name source... otherwise it doesn't respond to the CAP message with
|
||||
|
Loading…
Reference in New Issue
Block a user