This is an XMPP client that can serialize (most of?) its state. It's intended to be used on the web.
While ugly, it solved my immediate problem of how to maintain a single XMPP connection per tab, while letting the user navigate to other pages. This let me provide live support during a programming contest, without depending on third-party services.
Beware: Not only is the codebase ugly, but the default web UI is also ugly.