Send a presence error from the room, when receiving command ERR_BADCHANNELKEY
fix #2886
Move all the connect() logic from TCPSocketHandler into a subclass
This way, TCPSocketHandler only deal with the message sending/receiving, not
the connect() or anything else. This will be used for implementing servers
(because when a client is accepted, we don’t need all the connect() and dns
resolution stuff).
Handle IRC message 341 (invite confirmation)
Correctly handle the nick change inside the virtual channel
Refactor channel->parting to a new location
Correctly set status="110" in the presence for the target of a kick
Use LIST * instead of just LIST, because some servers don’t accept it
Also add a e2e test for the list query
When joining a channel, send the most recent history found in the database
Fix the author of the IRC invite
Forward IRC invites to XMPP
Forward mediated invitations (XMPP to IRC only)
Don’t use ! as the separator for nicknames, use % instead
It’s now easier to use. The distinction between a nick and a channel name is
based on the first character (by default it's '#' and '&'). The user doesn’t
have to worry about which separator to use anymore.
fix #3066
Fix a missing include for strlen
Properly calculate the maximum size of each message line, before cutting
fix #3067
Save our own host, as reported by the server
cut messages at 512 bytes, taking into account the UTF-8 codepoints
ref #3067
Refactor, test and improve the way we cut too-long messages for IRC
Show off, with some variadic templates, for the logger module
Support multiple nick session, except for IQs
ref #2556