Chat States

A few weeks ago, Tom Germeau from MozChat brought to my attention that recent clients such as Google Talk, Gajim, Pandion (and of course MozChat) are all using JEP-0085 (Chat State Notifications) for doing `Contact is typing ...' notifications. There have been many discussions in the past on whether or not to prefer this JEP over the old JEP-0022 (Message Events), which most of the other clients out there implement. This is why Psi didn't implement chat sates yet. However, we recently decided to put this (cleaner, standards track) JEP into our mainline development version after all.

Although our implementation is backwards compatible with the previous JEP, we give a preference to the newer JEP by only switching to the older one when we detect that the other side implements the legacy JEP exclusively. Besides the composing notifications, we also implemented the other states (when a user is inactive and when a user ends the conversation) as well. However, for privacy reasons, we made the actual broadcasting of this information optional (off by default). And finally, to help get the legacy JEP out of this world, I also submitted an implementation of Chat States for the PyMSN-t transport.

This page was posted in Jabber with tags Psi, Jabber, and XMPP.