ICQ nicknames, predicate group, contacts auth requests

Hello.

Two years ago i wrote this quick and dirty (and ugly code for my Wildfire server, because ICQ nicknames support was very bad. For now it looks much better. In any way, could you look at the code and find something useful. For example, is it possible to have ‘predicate’ group for ICQ or another gateway’s contacts? If i want to have each gateway’s contacts in the separated group, i can’t do this for now.

And, imho, ICQ gateway should try to use all the ways to create nickname for contact, as my code does.

And, of course, it’s very bad to send subscription request to each ICQ contact (i’ve already received all of them and it annoys users very much), so i did it by updating base too For now,it looks like gateway doesn’t send the unnecessary auth?

I haven’t found the way to post attches here, so i’ve put the code to the pastebin:

http://pastebin.ca/724153

Nicknames, unless something has changed, do in fact stick with the contacts. The part that doesn’t work right now is new contacts that don’t yet have a nickname. That is an open JIRA issue at the moment and to be fixed when I have some time to get to it. =) See GATE-49

As for the groups, groups are supported and work correctly for me. There is, however, an odd issue with adding contacts not picking up their new groups. (I think, sometimes I see it, sometimes I don’t)

Auth requests are generally crappy. notz did some good work helping me to fix them up but there’s a lot more that could be done.

What subscription request for each ICQ contact are you talking about? XMPP subscription requests? The only ones I’ve ever seen and purposely trigger are the ones that are when someone adds you, which are proper and let the XMPP user know that the event occurred. If you are referring to the ICQ users getting add requests … that’s odd. I haven’t been able to duplicate that. I’ve been using a real ICQ client to test with, multiple versions, and the illustrious gaim/pidgin.

The first priority was to get adding actually working properly. 'cause it sucks a lot if you add someone and they don’t stick. But yes, it would be better to handle the ICQ adds in the “silly ICQ dance” method of:

client -> icq: add user to SSI

icq -> client: no no this person hasn’t authed you

client -> icq: fine then, here’s an auth request

… time passes, user on other end hopefully accepts …

icq -> client: you were authed

client -> icq: great, put them in my roster

icq -> client: done

See GATE-360

BTW, what exactly is the vcard step accomplishing? The IM Gateway plugin doesn’t support vcards yet and returns a failure. See GATE-42 Generally I don’t try to second guess my users, that leads to more problems than it solves. If someone doesn’t -want- a nickname set then I shouldn’t prevent them from doing that, so that’s the fight i face when trying to determine whether to use just the nickname or the full name or whatever. =)

Yes, as for now, nicknames support looks much better. Two years ago, after the first login to the gateway, i had a long list of UINs. Only few contacts had a real name in the contact list. I don’t remember, which ones they were,may be those, who didn’t have the defined realname.

About groups: how do i rename or move user from one ICQ group to another? Does it work correctly now? I remember little problems, have just tested the renaming and it works. If i find the problem, i will let you know

I’m talking about…“i don’t know which”-auth requests Again, two years ago, after first login i got ‘pending’ state for all my ICQ contacts, and they received new auth requests in their ICQ-client and asked me ‘Hey, man, what’s wrong, why do you send us an auth request again? You’ve already authed’ As far as i can see, ICQ gateway doesn’t do this now and it’s very good

About vCards…really, i don’t remember. But two years ago this code got a vCard of the ICQ contact, i could parse it and i did it. This code updated all the empty nicknames and Wildfire displayed the nicknames for all Jabber-clients. Some of them do it by themselves (for example, Tkabber did it and i saw the nickname of the ICQ contact insted of UIN), but Psi didn’t do it, that’s why i created this hack.

Well first of all, what were you using two years ago? =) This plugin has only existed for a year.

hiddenman wrote:

Yes, as for now, nicknames support looks much better. Two years ago, after the first login to the gateway, i had a long list of UINs. Only few contacts had a real name in the contact list. I don’t remember, which ones they were,may be those, who didn’t have the defined realname.

About groups: how do i rename or move user from one ICQ group to another? Does it work correctly now? I remember little problems, have just tested the renaming and it works. If i find the problem, i will let you know

I’m talking about…“i don’t know which”-auth requests Again, two years ago, after first login i got ‘pending’ state for all my ICQ contacts, and they received new auth requests in their ICQ-client and asked me ‘Hey, man, what’s wrong, why do you send us an auth request again? You’ve already authed’ As far as i can see, ICQ gateway doesn’t do this now and it’s very good

About vCards…really, i don’t remember. But two years ago this code got a vCard of the ICQ contact, i could parse it and i did it. This code updated all the empty nicknames and Wildfire displayed the nicknames for all Jabber-clients. Some of them do it by themselves (for example, Tkabber did it and i saw the nickname of the ICQ contact insted of UIN), but Psi didn’t do it, that’s why i created this hack.

Oops, i was wrong. I see my old postsm, they were in January 2006

Right but… the plugin only started existing at the end of 2006. 9/18/2006 was the first beta release.

As far as i remember, it was called ‘transports’ at that time.

Hrm. That was actually a different project altogether. I believe you are referring to the one by Noah Campbell?

I’m no sure, really May be. I hope, you took the best features from it?

Hehehe, well Noah’s work was very helpful in getting started for sure! He had a lot of really great ideas!