Commit Graph

78 Commits

Author SHA1 Message Date
JC Brand
9e81fa495e Upgrade pluggable.js and skeletor 2021-05-12 12:13:10 +02:00
JC Brand
8966290369 Don't make bundled dependencies devDependencies
Otherwise you need to manually include them in downstream consumer projects
2021-04-30 14:17:46 +02:00
Shaun Wu
9ea8653ef7 Upgrade to Webpack 3
Had to make various other changes due to incompatibilities.

- Use the new `lit` package instead of `lit-html` or `lit-element`
- Drop `haunted` since it breaks the rules by specifying `type: module`
  but then doesn't import with file extensions
- Use Sass Dart instead of node-sass (fixes #2445)
- Upgrade Karma
2021-04-30 13:50:50 +02:00
JC Brand
57ccf4c20e Batched writes to IndexedDB
- Update to the latest @converse/skeletor (which uses mergebounce to batch writes)
- Flush storage before logging out
- Flush when reloading the tab
- Create initStorage method
2021-04-28 16:53:50 +02:00
JC Brand
ccd60f76c3 Cleanup
- Move top-level functinos to utils files
- Get rid of unused/obsolete overrides
- Only import components there where they're used
- Bump version in package.json
2021-03-26 10:58:51 +01:00
JC Brand
9d5d94a8f4 Update to latest Skeletor with localforage-setitems optimization 2021-03-18 16:21:15 +01:00
JC Brand
dde3ef206d Update to Strophe with a SASL fix 2021-03-16 15:10:09 +01:00
JC Brand
8b052e20b9 Fix tests by pinning to latest @converse/skeletor 2021-02-10 16:14:34 +01:00
JC Brand
5a82478381 Declare sizzle as a dependency for @converse/headless 2020-12-10 17:13:40 +01:00
JC Brand
01e03fc677 Bump to Strophe 1.4.1 2020-12-04 14:06:04 +01:00
JC Brand
21dfd8a325 Bugfix: Set protocol after discovering connection methods
Otherwise if an endpoint was passed in with `converse.initialize`, then
that endpoint's protocol is (wrongly) used.
2020-11-30 18:21:33 +01:00
JC Brand
db1905fdb6 Release 7.0.2 2020-11-23 10:18:35 +01:00
JC Brand
85375842a8 Release 7.0.1 2020-11-19 11:23:04 +01:00
JC Brand
357cad8a49 Release 7.0.0 2020-11-18 12:10:32 +01:00
JC Brand
cf94a5193a Move dependency to headless package.json 2020-11-05 14:26:04 +01:00
JC Brand
7803fd2335 Clear chat boxes when clearing cache 2020-10-20 14:28:09 +02:00
JC Brand
e761923cc9 Bump @converse/skeletor and localForage 2020-09-30 18:51:21 +02:00
JC Brand
02a9126ab6 Log errors when failing to save a message to storage 2020-09-30 18:51:21 +02:00
JC Brand
2e393d260b Update to @converse/skeletor 0.0.2 2020-09-18 11:34:14 +02:00
JC Brand
c0fc3c38f3 Bump to strophe 1.4 and add sprintf 2020-09-10 14:08:43 +02:00
JC Brand
2c042cc3fa Fixes #2184: Headless build relies on locale directory
Removed Jed from the headless build and instead let `__` call sprintf.

It's now up to downstream users for `@converse/headless` to decide
whether they want i18n support for the few translatable strings in that package
and to implement it themselves.
2020-09-10 08:55:38 +02:00
JC Brand
09371712b0 Updates #1896: Properly identify archived one-on-one messages
Also, rename attribute from `is_receipt_request` to `is_valid_receipt_request` to avoid confusion.
2020-08-13 11:09:22 +02:00
JC Brand
16ca8044f8 Add experimental support for running the XMPP conneciton inside a shared worker
Still lacks inter-tab communication to update state across tabs, i.e.
when sending a 1-on-1 message in one tab, it doesn't appear in another,
because that information is not available via the websocket connection.

- Create a new `Connection` class that extends Strophe.Connection and
    move related code from `converse-core.js` into this class.
- Store the session in localStorage when using a worker
- Move XEP-0156 code to connection.js
    This allows us to initialize the connection without needing to know the
    domain.
2020-07-27 12:43:47 +02:00
JC Brand
d7bc129ce3 Get rid of Twemoji as a dependency
Fixes #2126
2020-07-10 11:21:45 +02:00
JC Brand
2009a94ba4 Update to Strophe 1.3.6
Fixes #2067
2020-06-15 15:39:33 +02:00
JC Brand
b0cb489769 Use @converse/skeletor, lodash-es and latest webpack-dev-server 2020-06-08 19:38:16 +02:00
JC Brand
089a54281e Bump various 3rd party dependencies 2020-04-29 16:01:33 +02:00
JC Brand
5546085f0d Add keywords 2020-04-29 11:17:21 +02:00
JC Brand
2dd6bc85ea Fixes #1961
Make sure dist dir is included in headless NPM package
2020-04-13 11:45:02 +02:00
JC Brand
8824bb26c4 Bump various dependencies 2020-04-13 11:39:00 +02:00
JC Brand
ca012d4479 Update to newer Skeletor.js
`.forEach` on a Collection no longer returns the models, so need to
update some tests.
2020-03-12 15:24:29 +01:00
JC Brand
7279f08a34 Update to newer skeletor which can return a promise on create 2020-02-03 23:24:44 +01:00
JC Brand
29aed314c1 Remove Backbone
* Remove backbone as NPM deps and from docs
* Remove backbone stuff from webpack
2020-01-30 17:36:55 +01:00
JC Brand
9fb2056753 Move MUC invite widget into a modal 2020-01-30 17:36:55 +01:00
JC Brand
ad93407907 Replace modal templates with lit-html components 2020-01-30 17:36:55 +01:00
JC Brand
a8104d7498 Add Skeletor as dependency 2020-01-30 17:36:55 +01:00
JC Brand
9c5fc2e4d3 Use package.json files to specify more precisely what gets packed 2020-01-10 13:29:42 +01:00
JC Brand
cd60614f88 Release 6.0.0 2020-01-09 17:15:43 +01:00
JC Brand
0f63c84d5b core: properly clear cache in clearSession
Bump to latest backbone.browserStorage which adds the `clear` method
2019-12-11 15:44:56 +01:00
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
JC Brand
266fe131a9 Release 5.0.4 2019-10-08 14:22:56 +02:00
huang.xinghui
9291dfc918 Update package.json
fix: fixed main file path
2019-09-17 11:33:57 +02:00
JC Brand
39896b508b Release 5.0.3 2019-09-13 15:19:00 +02:00
JC Brand
bdf4f3f536 Bump npm and lodash 2019-09-13 13:38:20 +02:00
JC Brand
5bf0955193 Release 5.0.2 2019-09-11 17:44:38 +02:00
JC Brand
93de11d167 Dynamically load the dayjs translation.
Also, remove the Promise polyfill. We don't support browsers which don't support promises.
2019-08-23 14:03:52 +02:00
JC Brand
8f571ff148 Release 5.0.1 2019-08-14 12:56:44 +02:00
JC Brand
bc27b3a36a Release 5.0.0 2019-08-08 18:13:12 +02:00
JC Brand
ade6266de8 Update backbone.overview and strophe.js 2019-08-08 12:45:17 +02:00
JC Brand
8938245cdd Update various dependencies to their latest versions 2019-07-11 09:46:17 +02:00