Closed DanielOaks closed 7 years ago
I don't know (yet) enough about IRCv3 to review this properly.
All good! CAP CLEAR
was removed as a part of the CAP
spec here, in the first bullet point in the Errata.
The default implementation forces the NICK
and USER
commands to end CAP
negotiation and the registration suspension. What's actually supposed to happen is the client sends the CAP LS
(starts the CAP
negotiation phase which suspends registration), then sends NICK
and USER
, and while registration is suspended CAP
negotiation happens. When CAP END
is sent, registration continues as normal (here). The is detailed in the last line of the CAP LS
spec here.
It also includes a CAP
fix for weechat-1.4 which I think I was using at the time.
This PR contains a few minor fixes for the
CAP
command, and adds a workaround to let Weechat (and possibly other clients) actually useCAP
negotiation when connecting to the server (which is required when registration is now properly suspended during CAP negotiation). If you'd like this squashed, let me know.