I think that the IRC implementation is (almost) at a stage now, where it
would be nice to have a larger audience look at it and use it. It is
still rather far from a complete implementation, especially if you
consider all the additional channel modes and such that have been
introduced by individual servers.
What is currently possible is the following:
- Create (and edit) IRC accounts. (Inherited from the old
implementation, just added a few tweaks.)
- Support for secure connections (minimal UI tweaks in order to indicate
a secure connection)
- Join chatrooms
- Send and receive messages
- Receive private messages.
- Send private messages (although currently via a workaround by typing
'/msg <user> <message>'. Once you receive a message, a new
(non-persistent) chat room emerges.)
- Correctly handle nick changes, users joining, leaving, being kicked,
quitting. ==> Hence the list of chat room members should be current at
- Listing available chat rooms on a server. (Queries the list once, then
stores the result.)
- A few channel mode changes are recognized, currently: member status
changes (default, voiced, opped, owner) for both yourself and fellow
chat room members.
Now what's still to be done: (A lot ...)
- Correct detection of channel forwarding
- Correct detection of some join failures
- Other channel mode changes.
- Private messaging via UI (double clicking chat room member)
- IRC formatting (which also fixes an issue that corrupts a specific
channel's history file when control characters are sent and stored.)
- DCC support
- Lots of stuff ...
Note that because of some (mostly minor) issues I encountered in the IRC
library, some change is going on there too. So this library, too, is in
All in all, I would like to work towards a stable though somewhat
minimal working IRC implementation and improve from there. And for that
I would like to ask for help from some other adventurous souls who are
willing to spend some time using and testing the implementation and who
will report any bugs, stack traces, etc. they encounter.
Anyone willing to help?
Anyone with suggestions on how we can best approach this? I.e.
- merge into nightly?
- keep separate repo that is up to date with nightly?
- create separate bundles to add? (can those be added easily to an
I'm curious to all of your thoughts and responses!