summer of code updates?

Will Thompson will at
Thu Jul 26 17:29:55 EDT 2007


I'm still working on telepathy-haze, the libpurple connection manager.
It supports the contact list, text IMs, presence and status messages so
far. I'm going to throw in aliasing and avatars in the next few days
before switching over to writing a telepathy prpl --- with those
features, the connection manager would support everything that I use
when IMing, and then I can use it for real and see what breaks.

One problem that I have encountered is that Telepathy connection
managers are meant to be stateless, and shouldn't write anything,
whereas libpurple writes the blist, accounts and icon cache to disk.
Right now I'm using mkdtemp(3) and will trash the directory on exit,
which I suppose is good enough. (Previously I set the user directory to
/dev/null, but then errors are periodically spewed to the terminal.)
Perhaps I should write the prefs-as-signals stuff that gets mentioned
now and again as a prerequisite for optionally using, say, gconf and
gnome-keyring, but that might need to be a 3.0-esque change, and it's
not critical right now. Anyone have any other, less invasive ideas?

There have been some other hiccups with differences between libpurple
and Telepathy's views of the world. One example is buddy groups:
libpurple is basically set up to have each buddy in exactly one group,
whereas Telepathy generally treats groups more like tags, with a given
contact being in zero or several groups. libpurple does support a given
buddy being in multiple groups on every protocol that I have tried, but
then there are different PurpleBuddy structs for every group that that
buddy is in, which is pretty bizarre. (I guess this is the legacy of the
buddy list being basically a Gtk tree model?) I might be motivated to
look at fixing this up at the legendary Hour of GObjectification or

Anyway, in summary, "so far so good". Take a look at for more details.

Would you like more frequent updates to the list from us during


PS. Incidentally, do any of you know any particularly effective
water-banishing rituals I could use on the nearby flooding? :-)

More information about the Devel mailing list