SoC: XMPP Update
It’s been a while since my last update, so I’d like to list what I’ve implemented so far. Since mid-eval is up pretty soon, I’ll need it anyways 🙂
- The new registration interface (I already posted screenshots for it on this blog).
- A small lock is shown next to connected accounts that use SSL/TLS encryption.
- Integrated a fully-features discovery browser for accessing all the nice remote features. This also allows listing MUC channels and joining them (screenshot).
- Implemented Ad-Hoc commands, both sending and receiving.
- Implemented these commands into the discovery browser (screenshot). The server’s ad-hoc commands are shown in the account submenu (as demonstrated in this image), too. If any contact on the contact list has some ad-hoc commands available, they’re listed in their context menu (this is untested due to some non-Adium bugs).
- Implemented displaying search results using the libpurple API. This will also benefit the other libpurple protocols.
- Implemented MSN/Yahoo!-style buzz/nudge-support, including writing up a proposal for a XEP for it
- Implemented XEP-0115: Entity Capabilities (version 1.3; I accidentally started a huge discussion on the xmpp-standards list to completely rewrite it after I implemented it)
- Implemented XEP-0203: Delayed Delivery, which was very simple.
- Automatic accept / accept+add / deny of subscription requests (called “Request for Authorization” in Adium I think)
The major parts still missing are:
- The ad-hoc receiving part is planned to be used by AppleScript, so you can add custom AppleScripts to the list to be executed by clients connected to the same account (different resource), even with forms for interaction. This depends on Matthew Handley implementing the AS-part, though.
- Multiuser-Chat enhancements. For this feature I’ll probably don’t have to do anything, since Erik Beerepoot agreed to add the connection between his work and libpurple itself, which should automagically make it work with XMPP (libpurple already implements all features I’d like to have added to Adium).
I’m well within my time plan, so the project is looking good so far.