Converse.js implements an XMPP based instant messaging client in the browser.
It is used by collective.xmpp.chat, which is a Plone instant messaging add-on.
The ultimate goal is to enable anyone to add chat functionality to their websites, regardless of the backend.
This is currently possible, except for adding new contacts, which still makes an XHR call to the (Plone) backend to fetch user info.
Features
- Manually or automically subscribe to other users.
- Accept or decline contact requests
- Chat status (online, busy, away, offline)
- Custom status messages
- Typing notifications
- Third person messages (/me )
- Multi-user chat in chatrooms
- Chatroom Topics
- vCard support
Screencasts
- Screencast 1: Integrated into a Plone site via collective.xmpp.chat.
- Screencast 2: A static HTML page with Converse.js. Here we chat to external XMPP accounts on Jabber.org and Gmail.
Demo
The code in Converse.js is pretty solid and already used in production in Plone installations. It's however not yet 100% ready for prime-time as a standalone client.
Nevertheless, you can try out the current functionality on this page.
Click this link or click the link on the bottom right corner.
Besides providing valid credentials for an XMPP/Jabber account, you'll also have to provide the details of a BOSH Connection Manager. I intend to set up a connection manager for people to play with in the near future, but for the moment I unfortunately can't help you there.
You can create a Jabber/XMPP account at any of these providers:
Tests
We use the Jasmine testing framework to write tests. The tests can be run in the browser and can be viewed here.Dependencies
Converse.js depends on a few third party libraries, including:
Licence
Converse.js is released under both the MIT and GPL licenses.