xmpp.chapril.org-conversejs/src/headless
JC Brand 1fa203c990 Support for IndexedDB. updates #1105
Depend on latest backbone.browserStorage which has support for IndexedDB
via localforage.

Storage operations are now asynchronous and transactional.

Bugs fixed (mostly by waiting for operations to complete):

* Rooms are now fetched asynchronously, so wait before triggering `show`
  or when closing.
* Make sure chat create/update transactions complete before firing events
* Make sure chats and messages have been fetched before creating new ones.
* When doing a `fetch` with `wait: false` on a collection and then
  creating a model in that collection, then once the read
  operation finishes (after creating the model), the collection is emptied again.
* Patch and wait when saving.
  Otherwise we have previously set attributes overriding later ones.
* Make sure api.roomviews.close returns a promise

Test fixes:

* Chats are now asynchronously returned, so we need to use `await`
* Wait for the storage transaction to complete when creating and updating messages
* Wait for all chatboxes to close
    Otherwise we get sessionStorage inconsistencies due to the async nature of localforage.
* Wait for room views to close in spec/chatroom.js

In the process, remove the `closeAllChatBoxes` override in
converse-controlbox by letting the `close` method decide whether it
should be closed or not.
2019-10-30 13:02:23 +01:00
..
templates Move unnecessary templates in headless package to main package 2018-10-22 13:59:06 +02:00
utils Support for IndexedDB. updates #1105 2019-10-30 13:02:23 +01:00
converse-bookmarks.js Support for IndexedDB. updates #1105 2019-10-30 13:02:23 +01:00
converse-bosh.js Support for IndexedDB. updates #1105 2019-10-30 13:02:23 +01:00
converse-caps.js Support for IndexedDB. updates #1105 2019-10-30 13:02:23 +01:00
converse-chatboxes.js Support for IndexedDB. updates #1105 2019-10-30 13:02:23 +01:00
converse-core.js Support for IndexedDB. updates #1105 2019-10-30 13:02:23 +01:00
converse-disco.js Support for IndexedDB. updates #1105 2019-10-30 13:02:23 +01:00
converse-emoji.js Support for IndexedDB. updates #1105 2019-10-30 13:02:23 +01:00
converse-mam.js Support for IndexedDB. updates #1105 2019-10-30 13:02:23 +01:00
converse-muc.js Support for IndexedDB. updates #1105 2019-10-30 13:02:23 +01:00
converse-ping.js Don't rely on getUniqueId of Strophe.Connection 2019-10-11 17:46:13 +02:00
converse-pubsub.js Fix linting errors (no-unused-vars) 2019-10-09 16:27:58 +02:00
converse-roster.js Support for IndexedDB. updates #1105 2019-10-30 13:02:23 +01:00
converse-rsm.js Updates #1548. MAM paging improvements. 2019-08-06 22:54:51 +02:00
converse-smacks.js Make sure the roster is fetched again if stream resumption fails 2019-10-15 14:30:04 +02:00
converse-status.js Support for IndexedDB. updates #1105 2019-10-30 13:02:23 +01:00
converse-vcard.js Refactor _converse.XMPPStatus out into headless/converse-status.js 2019-10-18 11:13:09 +02:00
emojis.json Add initial support for custom emojis 2019-10-17 12:12:08 +02:00
headless.js Refactor _converse.XMPPStatus out into headless/converse-status.js 2019-10-18 11:13:09 +02:00
i18n.js Fix linting errors (no-unused-vars) 2019-10-09 16:27:58 +02:00
lodash.noconflict.js Fix linting errors and add @module jsdoc directives 2019-07-11 10:48:52 +02:00
package-lock.json Support for IndexedDB. updates #1105 2019-10-30 13:02:23 +01:00
package.json Support for IndexedDB. updates #1105 2019-10-30 13:02:23 +01:00
polyfill.js Store lerna packages in the src directory 2018-10-22 13:29:25 +02:00
README.md Update build docs on converse-headless and add README 2018-10-26 16:07:37 +02:00

Converse Headless

Converse has a special build called the headless build.

You can generate it yourself by running make dist/converse-headless.js

The headless build is a bundle of all the non-UI parts of Converse, and its aim is to provide you with an XMPP library (and application) on which you can build your own UI.

It's also installable with NPM/Yarn as @converse/headless.

The main distribution of Converse relies on the headless build.

The file src/headless/headless.js is used to determine which plugins are included in the build.