I noticed a rather nasty issue while listing IRC chat rooms. I think it
is not actually caused by the IRC implementation, but due to its large
number of chat rooms (easily 4000+ on a decent server) it does make it
apparent. This issue wasn't there previously and I believe it may be
caused by some of the recent changes w.r.t. smoothing out the UI. (This
is a bit of a guess, but I arrived there while pinpointing changes
around the area of server chat room listing code.)
To recreate the issue:
1. Set up an IRC account and connect to an IRC server.
2. Go to menu option "Add chat room".
3. Select IRC account.
4. Click list button such that chat rooms are queried.
5. Wait until listing is done and first chat rooms appear in the UI.
See also this (very small) part of logging output:
ArrayIndexOutOfBoundsException is caused, I believe due to a race
condition between 1. adding new chat rooms to the list (and sort them),
and 2. updating the UI to show the newly added item. Though I haven't
completely figured it out yet.
Notice, though, that the actual size of the Vector increases steadily,
while the faulty index jumps all over the range. I suspect this is
because this index is based on its sorted position, and the chat room
list arrives in random order thus position changes after sorting.
I'll have another look at it soon, but I figure that you might be able
to pinpoint the actual problem much easier.
Thanks in advance,
PS: All the exception throwing really kills performance and