[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kopete-devel
Subject:    [Kopete-devel] Re: Oscar groups and serverside contacts
From:       Christopher TenHarmsel <tenharmsel () staticmethod ! net>
Date:       2003-04-17 16:42:11
[Download RAW message or body]

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Thursday 17 April 2003 12:33, Will Stephenson wrote:
> As I understand it, OscarSocket::parseSSIData reads a block of server side
> data and adds them to the aimbuddylist en masse.  After the whole block is
> parsed it emits gotConfig which (eventually) causes
> OscarAccount::addServerContact to be called for each buddy in the list.
>
> (Only considering buddies not already in the contact list now) this creates
> new kopete contacts, except if it couldn't find the named group for the
> numeric group id in the buddylist's known groups.  In which case it gives
> up without trying to make a new contact.
>
> This would never happen if the whole entire server side list was retrieved
> at once, as all groups would be known before addServerContact was ever
> called. But reading the debug output it seems that it arrives in several
> packets, which gives scope for contacts to arrive out of order.  Now your
> code in 0.6.x gets round this by having oscarsocket emit a signal from
> parseSSIData every time it reads a group, that causes queued groupless
> contacts to be reexamined as I mentioned below.  This mechanism is
> currently absent in oscar_split_branch.

Thanks for explaining this ^_^.  That make sense to me, I forgot that the code 
I wrote to add server side contacts drops them if the group doesn't exist.  I 
now remember thinking at the time that this wasn't a good way to go, so I 
think the thing to do is to put the queue back in there.  I can try and get 
to this this weekend...or wait, I can't because I can't even load protocol 
plugins due to very very new kdelibs.  Once that problem gets figured out I 
can try and fix this.

> What would be handiest for me is if you as a regular AIM user could have a
> look at what's done so far in oscar_split_branch and see what you think.

I think I remember how it was done, I remember seeing the queues, but being 
confused by why they were needed.  I think I assumed that the server sent 
things out in a logical order, but I suppose that was a bad assumption.

- -Chris

- -- 
Christopher TenHarmsel, KDE Developer
Public Key on www.keyserver.net
And I alone am returned to wag the tail.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (GNU/Linux)

iD8DBQE+ntlmX4RAkQTBjgURAqhJAJ0cO5XOMMOtVUzT9gpmHkPvUQ27vwCfeEZU
f98XlE4+IQEbS/L2snJm+cQ=
=+9/D
-----END PGP SIGNATURE-----

_______________________________________________
Kopete-devel mailing list
Kopete-devel@mail.kde.org
http://mail.kde.org/mailman/listinfo/kopete-devel

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic