Some quick bugs / things that could be improved that I noticed.
Usernames that include special characters don't show up correctly, this isn't really a bug in your program bug the font you chose to use, maybe one that includes all special characters would be of better choice?
Show/Hide Offline User
This seems to be buggged for me, it seems that certain "people" bug it. For example:
File "/home/Josh/Desktop/pyICQ/plugins/gui/CFrmContactList.py", line 339, in OnShowHideOffline
self.setContactStatus(self, contact, contact.Status, False)
File "/home/Josh/Desktop/pyICQ/plugins/gui/CFrmContactList.py", line 291, in setContactStatus
entry.SetData(int(name)) # save the contact's screen name in order to identify it later
ValueError: invalid literal for int(): xSweetLouVX
This causes the contact list to "disapear"
Sometimes when you try to do tomany things at once: message / view details / request user information the messenger will get a connection error and you will no longer be able to chat even though it seems like you're sitll online. Fix:
put a delay between when a user can do certain things.
Switching to offline mode
Even though you have stated this to be already bugged, it does disconnect when you switch to offline, maybe have it close the GTK window and taskbar icon bfore it disconnects.
Right-click on contact list bug
When trying to rightclick on contact list if you don't actually select someone you get this error:
Traceback (most recent call last):
File "/home/Josh/Desktop/pyICQ/plugins/gui/CFrmContactList.py", line 226, in OnRightClick
contact = self.getContact(index)
File "/home/Josh/Desktop/pyICQ/plugins/gui/CFrmContactList.py", line 237, in getContact
screen_name = str(self.lstContacts.GetItemData(index))
File "/usr/lib/python2.4/site-packages/wx-2.6-gtk2-unicode/wx/_controls.py", line 4653, in GetItemData
return _controls_.ListCtrl_GetItemData(*args, **kwargs)
wx._core.PyAssertionError: C++ assertion "wxAssertFailure" failed in ../src/generic/listctrl.cpp(3887): invalid item index in GetItem
An easy fix for this would be to check if the a user is selected with an if() statement, if no one is, then do nothing, but if someone is then display the menu.
Service crashes when using command over and over
WHen using "request user information" over and over(really fast) it complately messes up the item forever, I still havnt been able to fix it on my side, so I don't recremend trying this just take my word for it. removing and reinstalling pyICQ doesn't fix the problem. Havnt tried restarting computer yet tho.:
SNAC(15,02): requesting buddy information... ok
Warning: SNAC family 0015 has no service 0001
2A 02 00 41 00 20 00 15 00 01 00 00 00 00 0A 9F
00 02 00 21 00 10 0E 00 29 D3 E6 09 D0 07 AE 04
B2 04 2E 7F DC 09
Fix: 10s delay between the last click of certain items, grey them out(disable) and then reable them after 10secs.
That's it for my bug testing for tonight, I'll do some more tomarrow.