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.
Currently this is not yet the case, as the code makes ajax calls to the (Plone) backend to fetch user info.
Features
It has the following features:
- Manually or automically subscribe to other users.
- With manual roster subscriptions, you can accept or decline contact requests.
- Chat statuses (online, busy, away, offline)
- Custom status message
- Typing notifications (i.e when the contact is typing)
- Third person messages (/me )
- Multi-user chat in chatrooms
- Topics can be set for chatrooms
- Full name and profile picture support
A screencast of Converse.js
in action via collective.xmpp.chat
can be seen here.
It depends on quite a few third party libraries, including strophe.js, backbone.js and require.js.
Licence
Converse.js
is released under both the MIT and GPL licenses.