Skip to content
Web-based XMPP/Jabber chat client written in JavaScript
JavaScript HTML CSS Makefile
Branch: master
Clone or download

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Fix funding links Aug 6, 2019
converse-logs Fix transcripts code. Jan 9, 2018
demo Release 6.0.0 Jan 9, 2020
docs/source
images Make sure `webfonts` dir is copied over Feb 13, 2020
locale Replace JID with 'XMPP Address' Apr 13, 2020
logo Add a readme logo Apr 29, 2020
mockup Fix various website CSS issues. Re-add images Aug 8, 2019
sass Minimize chat when clicking on title bar Jun 1, 2020
sounds Add sound file credits Aug 25, 2014
spec Updates #1999 - Demarcate first unread message May 13, 2020
src Oauth Provider settings should be an array and not an object for forE… Jun 1, 2020
.eslintrc.json mam: Add `MAMResult` hook Apr 23, 2020
.gitignore Remove need for stamp-npm file Apr 7, 2020
.nvmrc Add Skeletor as dependency Jan 30, 2020
.prettierrc Add prettierx and tentatively use it for some formatting Jun 5, 2019
.travis.yml Use Karma as test runner Apr 23, 2020
CHANGES.md roster: Filter contacts via all available information May 14, 2020
COPYRIGHT Release 6.0.0 Jan 9, 2020
LICENSE Move license to repo root Sep 4, 2017
Makefile Use Karma as test runner Apr 23, 2020
README.md Add a readme logo Apr 29, 2020
RELEASE.md Don't include vim temp-files in release tarball Jan 10, 2020
buildout.cfg Bump docutils to 0.15.2 Aug 8, 2019
composer.json Replace http: with https: in conversejs.org links Mar 4, 2019
dev.html dev.html: Use libsignal from Converse.js CDN Apr 29, 2020
fullscreen.html Set meta and noscript tags Jan 15, 2020
index.html Various smaller fixes Apr 28, 2020
jshintrc Bugfix for headline messages. Mar 28, 2016
jslicenses.html Release 6.0.0 Jan 9, 2020
karma.conf.js Various smaller fixes Apr 28, 2020
lerna.json Store lerna packages in the `src` directory Oct 22, 2018
manifest.json Add version number and sized images to manifest.json Mar 3, 2020
mobile.html Release 6.0.0 Jan 9, 2020
package-lock.json Updates #1999 - Demarcate first unread message May 13, 2020
package.json Explicitly add lit-element as dependency and update lockfile May 13, 2020
postcss.config.js webpack: split css out into separate file Aug 23, 2019
redirect.html Fix path to converse.css and add some mockup fixes Jun 4, 2019
requirements.txt Update developer documentation and buildout dependencies Jul 25, 2019
webpack.common.js Update to latest sass-loader Apr 7, 2020
webpack.dev.js Update to latest sass-loader Apr 7, 2020
webpack.headless.js Updates #1313 and #1793: Send button improvements Jan 10, 2020
webpack.html Refactor so that message attributes are parsed early Apr 27, 2020
webpack.nodeps.js Manually merge translations from weblate Apr 13, 2020
webpack.prod.js Update to latest sass-loader Apr 7, 2020
webpack.serve.js Remove reference to deleted file Apr 27, 2020

README.md

Converse.js

XMPP Chat Travis Bountysource bounties Translation status

Converse is a web based XMPP/Jabber chat client.

You can either use it as a webchat app, or you can integrate it into your own website.

It's 100% client-side JavaScript, HTML and CSS and the only backend required is a modern XMPP server.

Please support this project via Patreon or Liberapay

Demo

Converse 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.

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.

Converse modes

Overlay

In overlay mode, Converse appears overlayed chats on top of the website.

Screenshot of Converse in overlay mode

Fullpage

In fullpage mode, Converse behaves like a single-page app that covers the whole browser viewport.

Screenshot of Converse in fullpage mode

Embedded

In embedded mode, Converse can be embedded into an element in the DOM.

Screenshot of Converse in embedded mode

Features

  • Available as overlayed chat boxes or as a fullscreen application. See inverse.chat for the fullscreen version.
  • Custom status messages
  • Desktop notifications
  • A plugin architecture based on pluggable.js
  • Chat statuses (online, busy, away, offline)
  • Anonymous logins, see the anonymous login demo
  • Translated into over 30 languages

Supported XMPP Extensions

Integration into other servers and frameworks

Tests

We use behavior-driven tests written with jasmine.js.

You ran run make check to execute all the tests.

Licence

Converse.js is released under the Mozilla Public License (MPL).

Attribution

Emoji images are courtesy of Twemoji.

Support

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.

We accept donations via Patreon and Liberapay.

You can’t perform that action at this time.