|
@@ -4,179 +4,184 @@
|
|
</a>
|
|
</a>
|
|
</h2>
|
|
</h2>
|
|
|
|
|
|
-
|
|
|
|
[](https://inverse.chat/#converse/room?jid=discuss@conference.conversejs.org)
|
|
[](https://inverse.chat/#converse/room?jid=discuss@conference.conversejs.org)
|
|
[](https://github.com/conversejs/converse.js/actions/workflows/karma-tests.yml)
|
|
[](https://github.com/conversejs/converse.js/actions/workflows/karma-tests.yml)
|
|
[](https://hosted.weblate.org/engage/conversejs/?utm_source=widget)
|
|
[](https://hosted.weblate.org/engage/conversejs/?utm_source=widget)
|
|
|
|
|
|
-[Converse](https://conversejs.org) is a web based [XMPP/Jabber](https://xmpp.org) chat client.
|
|
|
|
|
|
+[Converse](https://conversejs.org) is a modern, feature-rich and 100% client-side [XMPP](https://xmpp.org) chat app that runs in a web browser.
|
|
|
|
+It can be used as a standalone web app or seamlessly integrated into existing websites.
|
|
|
|
|
|
-You can either use it as a webchat app, or you can integrate it into your own website.
|
|
|
|
|
|
+Join our [chat room](https://inverse.chat/#converse/room?jid=discuss@conference.conversejs.org) (XMPP URL: [discuss@conference.conversejs.org](xmpp:discuss@conference.conversejs.org?join)).
|
|
|
|
|
|
-It's 100% client-side JavaScript, HTML and CSS and the only backend required
|
|
|
|
-is a modern XMPP server.
|
|
|
|
|
|
+## Quick Start
|
|
|
|
|
|
-Please consider supporting this project via [Github](https://github.com/sponsors/jcbrand), [Patreon](https://www.patreon.com/jcbrand) or [Liberapay](https://liberapay.com/jcbrand)
|
|
|
|
|
|
+Try the hosted app at [conversejs.org](https://conversejs.org/fullscreen.html).
|
|
|
|
+You can also download and install [Converse Desktop](https://github.com/conversejs/converse-desktop/releases) or [Converse Tauri](https://github.com/conversejs/converse-tauri/releases).
|
|
|
|
|
|
-## Demo
|
|
|
|
|
|
+Or set up your own instance:
|
|
|
|
|
|
-Converse is hosted and can be used at [https://conversejs.org](https://conversejs.org).
|
|
|
|
|
|
+```bash
|
|
|
|
+git clone git@github.com:conversejs/converse.js.git
|
|
|
|
+npm install
|
|
|
|
+npm run build
|
|
|
|
+npm run serve -- -p 8008
|
|
|
|
+```
|
|
|
|
|
|
-A demo showing anonymous login is available at [https://conversejs.org/demo/anonymous.html](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](https://conversejs.org/demo/embedded.html).
|
|
|
|
|
|
+You can then open http://localhost:8008/dev.html in your browser to access Converse.
|
|
|
|
|
|
-## Documentation
|
|
|
|
|
|
+See our [quickstart guide](https://conversejs.org/docs/html/quickstart.html) for more details.
|
|
|
|
|
|
-The developer/integrator documentation can be found at [https://conversejs.org/docs/html](https://conversejs.org/docs/html).
|
|
|
|
|
|
+## Live Demos
|
|
|
|
|
|
-You'll probably want to begin with the [quickstart guide](https://conversejs.org/docs/html/quickstart.html),
|
|
|
|
-which shows you how to use the CDN (content delivery network) to quickly get a demo up and running.
|
|
|
|
|
|
+- **[Main App](https://conversejs.org/fullscreen.html)**: Try the full application
|
|
|
|
+- **[Anonymous Login](https://conversejs.org/demo/anonymous.html)**: Test without creating an account
|
|
|
|
+- **[Embedded Chat Room](https://conversejs.org/demo/embedded.html)**: See how to embed a single chat room
|
|
|
|
|
|
-## Converse modes
|
|
|
|
|
|
+## Documentation
|
|
|
|
|
|
-### Overlay
|
|
|
|
|
|
+Comprehensive documentation is available at [conversejs.org/docs/html](https://conversejs.org/docs/html), including:
|
|
|
|
|
|
-In overlay mode, Converse appears overlayed chats on top of the website.
|
|
|
|
|
|
+- [Quickstart Guide](https://conversejs.org/docs/html/quickstart.html)
|
|
|
|
+- [Configuration Options](https://conversejs.org/docs/html/configuration.html)
|
|
|
|
+- [Plugin Development](https://conversejs.org/docs/html/plugin_development.html)
|
|
|
|
|
|
-
|
|
|
|
|
|
+## Key Features
|
|
|
|
|
|
-### Fullpage
|
|
|
|
|
|
+- **Multiple UI Options**: Overlay chat boxes, full-page application, or embedded components
|
|
|
|
+- **Rich Messaging**: Message styling, corrections, reactions, and URL previews
|
|
|
|
+- **Privacy-Focused**: End-to-end encryption with OMEMO
|
|
|
|
+- **User Status**: Custom status messages and availability indicators
|
|
|
|
+- **Notifications**: Desktop notifications for new messages
|
|
|
|
+- **File Sharing**: HTTP File Upload support
|
|
|
|
+- **Extensible**: Plugin architecture based on [pluggable.js](https://conversejs.github.io/pluggable.js/)
|
|
|
|
+- **Internationalized**: Translated into 40+ languages
|
|
|
|
+- **Anonymous Login**: Use without registration (server permitting)
|
|
|
|
+- **Responsive**: Works on desktop and mobile devices
|
|
|
|
|
|
-In fullpage mode, Converse behaves like a single-page app that covers the whole browser viewport.
|
|
|
|
|
|
+### Display Modes
|
|
|
|
|
|
-
|
|
|
|
|
|
+Converse adapts to your needs with multiple display options:
|
|
|
|
|
|
-### Dark mode
|
|
|
|
|
|
+| Mode | Description |
|
|
|
|
+|------|-------------|
|
|
|
|
+| **Fullpage** (default) | Functions as a single-page application covering the entire viewport |
|
|
|
|
+| **Overlay** | Chat boxes appear on top of your website |
|
|
|
|
+| **Embedded** | Integrates into specific elements in your page's DOM |
|
|
|
|
|
|
-
|
|
|
|
|
|
+<details>
|
|
|
|
+<summary>View Screenshots</summary>
|
|
|
|
|
|
-### Embedded
|
|
|
|
|
|
+### Overlay Mode
|
|
|
|
+
|
|
|
|
|
|
-In embedded mode, Converse can be embedded into an element in the DOM.
|
|
|
|
|
|
+### Fullpage Mode
|
|
|
|
+
|
|
|
|
|
|
-
|
|
|
|
|
|
+### Dark Mode
|
|
|
|
+
|
|
|
|
|
|
-## Features
|
|
|
|
-- Available as overlayed chat boxes or as a fullscreen application. See [inverse.chat](https://inverse.chat) for the fullscreen version.
|
|
|
|
-- Custom status messages
|
|
|
|
-- Desktop notifications
|
|
|
|
-- A [plugin architecture](https://conversejs.org/docs/html/plugin_development.html) based on [pluggable.js](https://conversejs.github.io/pluggable.js/)
|
|
|
|
-- Chat statuses (online, busy, away, offline)
|
|
|
|
-- Anonymous logins, see the [anonymous login demo](https://conversejs.org/demo/anonymous.html)
|
|
|
|
-- URL Previews (requires server support, for example [mod_ogp](https://modules.prosody.im/mod_ogp.html)
|
|
|
|
-- Translated into over 40 languages
|
|
|
|
-
|
|
|
|
-### Supported XMPP Extensions
|
|
|
|
-
|
|
|
|
-- [RFC-7395](https://tools.ietf.org/html/rfc7395) XMPP Subprotocol support for WebSocket
|
|
|
|
-- [XEP-0004](https://xmpp.org/extensions/xep-0004.html) Data Forms
|
|
|
|
-- [XEP-0030](https://xmpp.org/extensions/xep-0030.html) Service discovery
|
|
|
|
-- [XEP-0045](https://xmpp.org/extensions/xep-0045.html) Multi-user chat rooms
|
|
|
|
-- [XEP-0048](https://xmpp.org/extensions/xep-0048.html) Bookmarks
|
|
|
|
-- [XEP-0050](https://xmpp.org/extensions/xep-0050.html) Ad-Hoc Commands
|
|
|
|
-- [XEP-0054](https://xmpp.org/extensions/xep-0054.html) VCard-temp
|
|
|
|
-- [XEP-0059](https://xmpp.org/extensions/xep-0059.html) Result Set Management
|
|
|
|
-- [XEP-0060](https://xmpp.org/extensions/xep-0060.html) Publish-Subscribe (limited support)
|
|
|
|
-- [XEP-0066](https://xmpp.org/extensions/xep-0066.html) Out of Band Data
|
|
|
|
-- [XEP-0077](https://xmpp.org/extensions/xep-0077.html) In-band registration
|
|
|
|
-- [XEP-0085](https://xmpp.org/extensions/xep-0085.html) Chat State Notifications
|
|
|
|
-- [XEP-0115](https://xmpp.org/extensions/xep-0115.html) Entity Capabilities
|
|
|
|
-- [XEP-0124](https://xmpp.org/extensions/xep-0124.html) Bidirectional-streams Over Synchronous HTTP (BOSH)
|
|
|
|
-- [XEP-0144](https://xmpp.org/extensions/xep-0144.html) Roster item exchange
|
|
|
|
-- [XEP-0156](https://xmpp.org/extensions/xep-0156.html) Discovering Alternative XMPP Connection Methods
|
|
|
|
-- [XEP-0163](https://xmpp.org/extensions/xep-0163.html) Personal Eventing Protocol (limited support)
|
|
|
|
-- [XEP-0184](https://xmpp.org/extensions/xep-0184.html) Message Receipt
|
|
|
|
-- [XEP-0198](https://xmpp.org/extensions/xep-0198.html) Stream Management
|
|
|
|
-- [XEP-0199](https://xmpp.org/extensions/xep-0199.html) XMPP Ping
|
|
|
|
-- [XEP-0203](https://xmpp.org/extensions/xep-0203.html) Delayed Delivery
|
|
|
|
-- [XEP-0206](https://xmpp.org/extensions/xep-0206.html) XMPP Over BOSH
|
|
|
|
-- [XEP-0245](https://xmpp.org/extensions/xep-0245.html) The /me Command
|
|
|
|
-- [XEP-0249](https://xmpp.org/extensions/xep-0249.html) Direct MUC Invitations
|
|
|
|
-- [XEP-0280](https://xmpp.org/extensions/xep-0280.html) Message Carbons
|
|
|
|
-- [XEP-0297](https://xmpp.org/extensions/xep-0297.html) Stanza Forwarding (limited support)
|
|
|
|
-- [XEP-0308](https://xmpp.org/extensions/xep-0308.html) Last Message Correction
|
|
|
|
-- [XEP-0313](https://xmpp.org/extensions/xep-0313.html) Message Archive Management
|
|
|
|
-- [XEP-0316](https://xmpp.org/extensions/xep-0316.html) MUC Eventing protocol (limited support)
|
|
|
|
-- [XEP-0317](https://xmpp.org/extensions/xep-0317.html) Hats (limited support)
|
|
|
|
-- [XEP-0333](https://xmpp.org/extensions/xep-0333.html) Chat Markers (limited support)
|
|
|
|
-- [XEP-0352](https://xmpp.org/extensions/xep-0352.html) Client State Indication
|
|
|
|
-- [XEP-0357](https://xmpp.org/extensions/xep-0357.html) Push Notifications
|
|
|
|
-- [XEP-0359](https://xmpp.org/extensions/xep-0359.html) Unique and Stable Stanza IDs
|
|
|
|
-- [XEP-0363](https://xmpp.org/extensions/xep-0363.html) HTTP File Upload
|
|
|
|
-- [XEP-0372](https://xmpp.org/extensions/xep-0372.html) References
|
|
|
|
-- [XEP-0382](https://xmpp.org/extensions/xep-0382.html) Spoiler messages
|
|
|
|
-- [XEP-0384](https://xmpp.org/extensions/xep-0384.html) OMEMO Encryption
|
|
|
|
-- [XEP-0393](https://xmpp.org/extensions/xep-0393.html) Message styling
|
|
|
|
-- [XEP-0422](https://xmpp.org/extensions/xep-0422.html) Message Fastening (limited support)
|
|
|
|
-- [XEP-0424](https://xmpp.org/extensions/xep-0424.html) Message Retractions
|
|
|
|
-- [XEP-0425](https://xmpp.org/extensions/xep-0425.html) Message Moderation
|
|
|
|
-- [XEP-0437](https://xmpp.org/extensions/xep-0437.html) Room Activity Indicators
|
|
|
|
-- [XEP-0453](https://xmpp.org/extensions/xep-0453.html) DOAP Usage in XMPP
|
|
|
|
-- [XEP-0454](https://xmpp.org/extensions/xep-0454.html) OMEMO Media sharing
|
|
|
|
-
|
|
|
|
-## Integration into other servers and frameworks
|
|
|
|
-
|
|
|
|
-### XMPP servers
|
|
|
|
-
|
|
|
|
-- **[Openfire](https://www.igniterealtime.org/projects/openfire/index.jsp)**: [inverse.jar](https://www.igniterealtime.org/projects/openfire/plugins.jsp)
|
|
|
|
-- **[Prosody](https://prosody.im/)**: [mod_conversejs](https://modules.prosody.im/mod_conversejs.html)
|
|
|
|
-- **[Ejabberd](https://ejabberd.im/)**: [mod-conversejs](https://docs.ejabberd.im/admin/configuration/modules/#mod-conversejs)
|
|
|
|
-
|
|
|
|
-### Other
|
|
|
|
-
|
|
|
|
-- **[Alfresco](https://www.alfresco.com)**: [alfresco-js-chat-share](https://github.com/keensoft/alfresco-js-chat-share)
|
|
|
|
-- **[Django](https://www.djangoproject.com)**: [django-conversejs](https://pypi.python.org/pypi/django-conversejs) or [django-xmpp](https://github.com/fpytloun/django-xmpp)
|
|
|
|
-- **[Elgg](https://elgg.org)**: [plugin](https://elgg.org/plugins/2997196)
|
|
|
|
-- **[Friendica](https://friendi.ca)**: [converse](https://github.com/friendica/friendica-addons/tree/master/xmpp/converse)
|
|
|
|
-- **[Patternslib](http://patternslib.com)**: [patterns.converse](https://github.com/jcbrand/patterns.converse)
|
|
|
|
-- **[Plone](https://plone.com)**: [collective.converse](https://github.com/collective/collective.converse)
|
|
|
|
-- **[Pàdé](https://www.igniterealtime.org/projects/pade/index.jsp)**: [Pàdé](https://www.igniterealtime.org/projects/pade/index.jsp)
|
|
|
|
-- **[Roundcube](https://roundcube.net)**: [roundcube-converse.js-xmpp-plugin](https://github.com/devurandom/roundcube-converse.js-xmpp-plugin)
|
|
|
|
-- **[Ruby on Rails](https://rubyonrails.org)**: [conversejs-rails](https://github.com/mikemarsian/conversejs-rails)
|
|
|
|
-- **[Tiki Wiki CMS Groupware](https://tiki.org)**: [built-in optional feature](https://doc.tiki.org/XMPP)
|
|
|
|
-- **[Wordpress](https://wordpress.org)**: [ConverseJS](https://wordpress.org/plugins/conversejs/)
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-## Tests
|
|
|
|
-
|
|
|
|
-We use behavior-driven tests written with [jasmine.js](https://jasmine.github.io/).
|
|
|
|
-
|
|
|
|
-Run `make check` to execute all the tests.
|
|
|
|
-
|
|
|
|
-## Licence
|
|
|
|
-
|
|
|
|
-`Converse.js` is released under the [Mozilla Public License (MPL)](https://www.mozilla.org/MPL/2.0/index.txt).
|
|
|
|
-
|
|
|
|
-## Attribution
|
|
|
|
-
|
|
|
|
-Emoji images are courtesy of [Twemoji](https://emojitwo.github.io/).
|
|
|
|
-
|
|
|
|
-## Support
|
|
|
|
-
|
|
|
|
-Issues can be logged on the [Github issue tracker](https://github.com/conversejs/converse.js/issues).
|
|
|
|
-
|
|
|
|
-## 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](https://www.patreon.com/jcbrand) and [Liberapay](https://liberapay.com/jcbrand).
|
|
|
|
|
|
+### Embedded Mode
|
|
|
|
+
|
|
|
|
+</details>
|
|
|
|
+
|
|
|
|
+## XMPP Protocol Support
|
|
|
|
+
|
|
|
|
+Converse implements a wide range of XMPP Extensions (XEPs), making it one of the most protocol-compliant web clients available.
|
|
|
|
+
|
|
|
|
+<details>
|
|
|
|
+<summary><strong>View all supported XEPs (45+)</strong></summary>
|
|
|
|
+
|
|
|
|
+| XEP | Name | Notes |
|
|
|
|
+|-----|------|-------|
|
|
|
|
+| [RFC-7395](https://tools.ietf.org/html/rfc7395) | XMPP Subprotocol for WebSocket | |
|
|
|
|
+| [XEP-0004](https://xmpp.org/extensions/xep-0004.html) | Data Forms | |
|
|
|
|
+| [XEP-0030](https://xmpp.org/extensions/xep-0030.html) | Service Discovery | |
|
|
|
|
+| [XEP-0045](https://xmpp.org/extensions/xep-0045.html) | Multi-user Chat | |
|
|
|
|
+| [XEP-0048](https://xmpp.org/extensions/xep-0048.html) | Bookmarks | |
|
|
|
|
+| [XEP-0050](https://xmpp.org/extensions/xep-0050.html) | Ad-Hoc Commands | |
|
|
|
|
+| [XEP-0054](https://xmpp.org/extensions/xep-0054.html) | VCard-temp | |
|
|
|
|
+| [XEP-0059](https://xmpp.org/extensions/xep-0059.html) | Result Set Management | |
|
|
|
|
+| [XEP-0060](https://xmpp.org/extensions/xep-0060.html) | Publish-Subscribe | Limited support |
|
|
|
|
+| [XEP-0066](https://xmpp.org/extensions/xep-0066.html) | Out of Band Data | |
|
|
|
|
+| [XEP-0077](https://xmpp.org/extensions/xep-0077.html) | In-band Registration | |
|
|
|
|
+| [XEP-0085](https://xmpp.org/extensions/xep-0085.html) | Chat State Notifications | |
|
|
|
|
+| [XEP-0115](https://xmpp.org/extensions/xep-0115.html) | Entity Capabilities | |
|
|
|
|
+| [XEP-0124](https://xmpp.org/extensions/xep-0124.html) | BOSH | |
|
|
|
|
+| [XEP-0144](https://xmpp.org/extensions/xep-0144.html) | Roster Item Exchange | |
|
|
|
|
+| [XEP-0156](https://xmpp.org/extensions/xep-0156.html) | Discovering Alternative XMPP Connection Methods | |
|
|
|
|
+| [XEP-0163](https://xmpp.org/extensions/xep-0163.html) | Personal Eventing Protocol | Limited support |
|
|
|
|
+| [XEP-0184](https://xmpp.org/extensions/xep-0184.html) | Message Receipt | |
|
|
|
|
+| [XEP-0198](https://xmpp.org/extensions/xep-0198.html) | Stream Management | |
|
|
|
|
+| [XEP-0199](https://xmpp.org/extensions/xep-0199.html) | XMPP Ping | |
|
|
|
|
+| [XEP-0203](https://xmpp.org/extensions/xep-0203.html) | Delayed Delivery | |
|
|
|
|
+| [XEP-0206](https://xmpp.org/extensions/xep-0206.html) | XMPP Over BOSH | |
|
|
|
|
+| [XEP-0245](https://xmpp.org/extensions/xep-0245.html) | The /me Command | |
|
|
|
|
+| [XEP-0249](https://xmpp.org/extensions/xep-0249.html) | Direct MUC Invitations | |
|
|
|
|
+| [XEP-0280](https://xmpp.org/extensions/xep-0280.html) | Message Carbons | |
|
|
|
|
+| [XEP-0297](https://xmpp.org/extensions/xep-0297.html) | Stanza Forwarding | Limited support |
|
|
|
|
+| [XEP-0308](https://xmpp.org/extensions/xep-0308.html) | Last Message Correction | |
|
|
|
|
+| [XEP-0313](https://xmpp.org/extensions/xep-0313.html) | Message Archive Management | |
|
|
|
|
+| [XEP-0316](https://xmpp.org/extensions/xep-0316.html) | MUC Eventing Protocol | Limited support |
|
|
|
|
+| [XEP-0317](https://xmpp.org/extensions/xep-0317.html) | Hats | Limited support |
|
|
|
|
+| [XEP-0333](https://xmpp.org/extensions/xep-0333.html) | Chat Markers | Limited support |
|
|
|
|
+| [XEP-0352](https://xmpp.org/extensions/xep-0352.html) | Client State Indication | |
|
|
|
|
+| [XEP-0357](https://xmpp.org/extensions/xep-0357.html) | Push Notifications | |
|
|
|
|
+| [XEP-0359](https://xmpp.org/extensions/xep-0359.html) | Unique and Stable Stanza IDs | |
|
|
|
|
+| [XEP-0363](https://xmpp.org/extensions/xep-0363.html) | HTTP File Upload | |
|
|
|
|
+| [XEP-0372](https://xmpp.org/extensions/xep-0372.html) | References | |
|
|
|
|
+| [XEP-0382](https://xmpp.org/extensions/xep-0382.html) | Spoiler Messages | |
|
|
|
|
+| [XEP-0384](https://xmpp.org/extensions/xep-0384.html) | OMEMO Encryption | |
|
|
|
|
+| [XEP-0393](https://xmpp.org/extensions/xep-0393.html) | Message Styling | |
|
|
|
|
+| [XEP-0422](https://xmpp.org/extensions/xep-0422.html) | Message Fastening | Limited support |
|
|
|
|
+| [XEP-0424](https://xmpp.org/extensions/xep-0424.html) | Message Retractions | |
|
|
|
|
+| [XEP-0425](https://xmpp.org/extensions/xep-0425.html) | Message Moderation | |
|
|
|
|
+| [XEP-0437](https://xmpp.org/extensions/xep-0437.html) | Room Activity Indicators | |
|
|
|
|
+| [XEP-0453](https://xmpp.org/extensions/xep-0453.html) | DOAP Usage in XMPP | |
|
|
|
|
+| [XEP-0454](https://xmpp.org/extensions/xep-0454.html) | OMEMO Media Sharing | |
|
|
|
|
+</details>
|
|
|
|
+
|
|
|
|
+## Integration Options
|
|
|
|
+
|
|
|
|
+Converse integrates with popular platforms and frameworks:
|
|
|
|
+
|
|
|
|
+### XMPP Servers
|
|
|
|
+| Server | Plugin |
|
|
|
|
+|--------|--------|
|
|
|
|
+| [Openfire](https://www.igniterealtime.org/projects/openfire/) | [inverse](https://www.igniterealtime.org/projects/openfire/plugins.jsp) |
|
|
|
|
+| [Prosody](https://prosody.im/) | [mod_conversejs](https://modules.prosody.im/mod_conversejs.html) |
|
|
|
|
+| [Ejabberd](https://ejabberd.im/) | [mod-conversejs](https://docs.ejabberd.im/admin/configuration/modules/#mod-conversejs) |
|
|
|
|
+
|
|
|
|
+### Web Frameworks & CMS
|
|
|
|
+| Platform | Integration |
|
|
|
|
+|----------|-------------|
|
|
|
|
+| [Elgg](https://elgg.org) | [plugin](https://elgg.org/plugins/2997196) |
|
|
|
|
+| [Peertube](https://github.com/JohnXLivingston/peertube-plugin-livechat) | [peertube-plugin-livechat](https://github.com/JohnXLivingston/peertube-plugin-livechat) |
|
|
|
|
+| [Pàdé](https://www.igniterealtime.org/projects/pade/index.jsp) | [Pàdé](https://www.igniterealtime.org/projects/pade/index.jsp) |
|
|
|
|
+| [Roundcube](https://roundcube.net) | [roundcube-converse.js-xmpp-plugin](https://github.com/devurandom/roundcube-converse.js-xmpp-plugin) |
|
|
|
|
+| [Tiki Wiki CMS Groupware](https://tiki.org) | [built-in optional feature](https://doc.tiki.org/XMPP) |
|
|
|
|
+| [Ubuntu-Touch](https://open-store.io/app/conversejs.luigi311) | [ConverseJS for Ubuntu-Touch](https://open-store.io/app/conversejs.luigi311) |
|
|
|
|
+| [WordPress](https://wordpress.org) | [ConverseJS Plugin](https://wordpress.org/plugins/conversejs/) |
|
|
|
|
+
|
|
|
|
+## Support the Project
|
|
|
|
+
|
|
|
|
+If you find Converse useful, please consider supporting its development:
|
|
|
|
+
|
|
|
|
+- [GitHub Sponsors](https://github.com/sponsors/jcbrand)
|
|
|
|
+- [Patreon](https://www.patreon.com/jcbrand)
|
|
|
|
+- [Liberapay](https://liberapay.com/jcbrand)
|
|
|
|
+
|
|
|
|
+Thanks to everyone who has supported this project over the years through donations, testing, bug reports, and code contributions.
|
|
|
|
|
|
## Sponsors
|
|
## Sponsors
|
|
|
|
|
|
-<p>
|
|
|
|
|
|
+<div style="display: flex; flex-wrap: wrap; gap: 20px; align-items: center; justify-content: center;">
|
|
<a href="https://bairesdev.com/sponsoring-open-source-projects/?utm_source=conversejs" target="_blank" rel="noopener">
|
|
<a href="https://bairesdev.com/sponsoring-open-source-projects/?utm_source=conversejs" target="_blank" rel="noopener">
|
|
<img alt="BairesDev" src="https://raw.githubusercontent.com/conversejs/media/main/logos/bairesdev-primary.png" width="200">
|
|
<img alt="BairesDev" src="https://raw.githubusercontent.com/conversejs/media/main/logos/bairesdev-primary.png" width="200">
|
|
</a>
|
|
</a>
|
|
-</p>
|
|
|
|
-<p>
|
|
|
|
<a href="https://blokt.com?utm_source=conversejs" target="_blank" rel="noopener">
|
|
<a href="https://blokt.com?utm_source=conversejs" target="_blank" rel="noopener">
|
|
<img alt="Blokt Crypto & Privacy" src="https://raw.githubusercontent.com/conversejs/converse.js/541613d1fea8aef364af00180f60e959162e5e4b/logo/blokt.png" width="200">
|
|
<img alt="Blokt Crypto & Privacy" src="https://raw.githubusercontent.com/conversejs/converse.js/541613d1fea8aef364af00180f60e959162e5e4b/logo/blokt.png" width="200">
|
|
</a>
|
|
</a>
|
|
-</p>
|
|
|
|
-<p>
|
|
|
|
<a href="https://www.keycdn.com?utm_source=conversejs" target="_blank" rel="noopener">
|
|
<a href="https://www.keycdn.com?utm_source=conversejs" target="_blank" rel="noopener">
|
|
<img alt="KeyCDN" src="https://raw.githubusercontent.com/conversejs/converse.js/541613d1fea8aef364af00180f60e959162e5e4b/logo/keycdn.png" width="200">
|
|
<img alt="KeyCDN" src="https://raw.githubusercontent.com/conversejs/converse.js/541613d1fea8aef364af00180f60e959162e5e4b/logo/keycdn.png" width="200">
|
|
</a>
|
|
</a>
|
|
-</p>
|
|
|
|
|
|
+</div>
|