No Description

JC Brand 41db49ffca Initial code for handling a bundle update via PEP 7 years ago
.github 6d3114b5d8 PR template: Changes.md is not in the docs directory (#1018) 7 years ago
3rdparty 039f30a5d3 Add 3rdparty dependencies (used by libsignal) 7 years ago
builds e31373a6ae Fixes #1055 Wrong paths in build.js 7 years ago
converse-logs d7a113e081 Fix transcripts code. 7 years ago
css 6042c233bc Add test that the OMEMO toolbar button renders 7 years ago
demo d0387a65ca Let an embedded MUC expand to fill its containing element 7 years ago
dist da06a62b22 Regenerated dist files 7 years ago
docs 36fd859a88 Store presence info in a separate collection 7 years ago
fonticons d72463c939 Make more semantic by putting login/register column info in css 7 years ago
fonts 468c796cfa Add website CSS and fonts 8 years ago
locale 7076146dae Updated pot and po files 7 years ago
logo b765f31cec Remove older PNG logos 7 years ago
mockup e82112715d Update padding of controlbox elements 7 years ago
sass 6042c233bc Add test that the OMEMO toolbar button renders 7 years ago
sounds 1d2b4c4523 Add sound file credits 11 years ago
spec f906761dc0 Initial work on sending a different stanza for OMEMO messages 7 years ago
src 41db49ffca Initial code for handling a bundle update via PEP 7 years ago
tests 61dcebbbf6 When generating a device id, check whether it already exists 7 years ago
.babelrc 124a45026f Upgrade to latest babel 7 years ago
.eslintrc.json 6042c233bc Add test that the OMEMO toolbar button renders 7 years ago
.gitignore 7b28cb7943 updates #497 7 years ago
.travis.yml 95406a149d Re-add `xhr_user_search_url` and autocomplete when adding contacts 7 years ago
CHANGES.md 36fd859a88 Store presence info in a separate collection 7 years ago
COPYRIGHT 8211ed8f70 Release 3.3.4 7 years ago
Gemfile 7f8b42faf0 Some work on bundling bootstrap within the css files. 7 years ago
Gemfile.lock 7f8b42faf0 Some work on bundling bootstrap within the css files. 7 years ago
LICENSE 9008a1d4d4 Move license to repo root 8 years ago
Makefile d0f490bbdc Start using Sass for the website CSS and rename 7 years ago
Makefile.win c0c4cd9272 Rename builds directory to dist 9 years ago
README.md 6b18b2debc Mention new donator 7 years ago
RELEASE.md ddda0d3eeb Update release steps 8 years ago
bootstrap.py a5359694ae Update bootstrap.py 7 years ago
buildout.cfg 802394f2b5 Update egg versions 8 years ago
composer.json 24da4f6097 Add keywords for composer 8 years ago
dev.html e833af14bf updates #497 7 years ago
fullscreen.html 2ec0dd752f Contributing 3 characters (#1067) 7 years ago
index.html d0f490bbdc Start using Sass for the website CSS and rename 7 years ago
jshintrc f353fe8611 Bugfix for headline messages. 9 years ago
jslicenses.html 9ca04a42ef Update licenses page 7 years ago
mobile.html 23c5312642 LibreJS support (#1001) 7 years ago
package-lock.json 0c50808b65 Add missing declaration and don't run OTR tests 7 years ago
package.json 0c50808b65 Add missing declaration and don't run OTR tests 7 years ago

README.md

converse.js

XMPP Chat Travis Bountysource bounties Translation status

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

Screenshot of Converse.js

inVerse: a fullscreen version of converse.js

Converse.js is also available in a fullscreen version, called inVerse

Screenshot of 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

Screencasts

Note: These screencasts are already quite old! Converse.js has grown and evolved further since then.

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:

Additionally this project is supported by

  • KeyCDN
  • Wikisuite