584f293d05
* Use Promises instead of callbacks * Update to latest (Last Call) version of XEP-0363 * Move non-view specific methods to models instead * Add more tests updates #161 |
||
---|---|---|
.github | ||
3rdparty | ||
builds | ||
converse-logs | ||
css | ||
demo | ||
dist | ||
docs | ||
fonticons | ||
fonts | ||
locale | ||
logo | ||
mockup | ||
sass | ||
sounds | ||
spec | ||
src | ||
tests | ||
.babelrc | ||
.eslintrc.json | ||
.gitignore | ||
.travis.yml | ||
bootstrap.py | ||
buildout.cfg | ||
CHANGES.md | ||
composer.json | ||
COPYRIGHT | ||
dev.html | ||
fullscreen.html | ||
Gemfile | ||
Gemfile.lock | ||
index.html | ||
jshintrc | ||
jslicenses.html | ||
LICENSE | ||
Makefile | ||
Makefile.win | ||
mobile.html | ||
package-lock.json | ||
package.json | ||
README.md | ||
RELEASE.md |
converse.js
Converse.js is a web based XMPP/Jabber instant messaging client.
It enables you to add chat functionality to your website, independent of any specific backend. You will however need an XMPP server to connect to, either your own, or a public one.
Please support this project via Patreon or Liberapay
Demo
Converse.js is hosted and can be used at https://conversejs.org.
A demo showing anonymous login is available at https://conversejs.org/demo/anonymous.html and a demo which shows how you can embed a single chat room into a page is avialable at https://conversejs.org/demo/embedded.html.
Converse.js: As seen on the conversejs.org website
inVerse: a fullscreen version of converse.js
Converse.js is also available in a fullscreen version, called inVerse
Documentation
The developer/integrator documentation can be found at https://conversejs.org/docs/html.
You'll probably want to begin with the quickstart guide, which shows you how to use the CDN (content delivery network) to quickly get a demo up and running.
Features
- A plugin architecture based on pluggable.js
- Single-user and group chats
- Contacts and groups
- Multi-user chat rooms XEP 45
- Direct invitations to chat rooms XEP 249
- vCard support XEP 54
- Service discovery XEP 30
- In-band registration XEP 77
- Chat room bookmarks XEP 48
- Roster item exchange XEP 144
- Chat statuses (online, busy, away, offline)
- Custom status messages
- Desktop notifications
- Typing and state notifications XEP 85
- Messages appear in all connnected chat clients XEP 280
- Third person "/me" messages XEP 245
- XMPP Ping XEP 199
- Server-side archiving of messages XEP 313
- Hidden Messages (aka Spoilers) XEP 382
- Client state indication XEP 352
- Off-the-record encryption
- Translated into 16 languages
Integration into other frameworks
- Ruby on Rails: conversejs-rails
- Django: django-conversejs or django-xmpp
- Plone: collective.converse
- Roundcube: roundcube-converse.js-xmpp-plugin
- Wordpress: ConverseJS
- Patternslib: patterns.converse
- Alfresco: alfresco-js-chat-share
- Friendica: converse
- Tiki Wiki CMS Groupware: built-in optional feature
Screencasts
Note: These screencasts are already quite old! Converse.js has grown and evolved further since then.
- In a static HTML page. Here we chat to external XMPP accounts on Jabber.org and Gmail.
- Integrated into a Plone site via collective.xmpp.chat.
- Off-the-record encryption in Converse 0.7.
Tests
We use behavior-driven tests written with jasmine.js.
Open tests.html in your browser, and the tests will run automatically.
Licence
Converse.js
is released under the Mozilla Public License (MPL).
Support
For support queries and discussions, please join the mailing list: conversejs@librelist.com
Also take a look at the mailing list archives.
Issues can be logged on the Github issue tracker.
Donations
A heartfelt thanks for everyone who has supported this project over the years. Many people have contributed testing, bugfixes, features and corrections.
Recently we have started accepting donations via Patreon and Liberapay.
The following people are making recurring donations:
- Rafael
- mt7479
- roelra
- Guus der Kinderen
- An anonymous backer on Liberapay
Additionally this project is supported by