Commit Graph

298 Commits

Author SHA1 Message Date
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
1e707f7cf2 npm run build should also build unminified JS 2019-10-09 16:57:32 +02:00
JC Brand
266fe131a9 Release 5.0.4 2019-10-08 14:22:56 +02:00
JC Brand
c357dec8ed Fix CDN path 2019-09-13 16:04:25 +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
31860acc9d Makefile: add recipe for setting the CDN url as the publicPath 2019-09-13 13:29:49 +02:00
JC Brand
43c7040331 Include the locale dir in package builds 2019-09-11 18:42:38 +02:00
JC Brand
5bf0955193 Release 5.0.2 2019-09-11 17:44:38 +02:00
JC Brand
b3e13c5ea5 Add webpack config for making a headless build 2019-09-11 17:18:11 +02:00
JC Brand
54b3fc6dfc Update eslint 2019-09-09 13:13:23 +02:00
JC Brand
e5d07f5a41 Build resources before running tests 2019-09-05 15:04:16 +02:00
JC Brand
64135b7731 Update webpack config to re-add the old make watch 2019-09-04 19:09:16 +02:00
JC Brand
df7e3841a2 Add latest babel plugin for dynamic imports 2019-09-04 15:18:51 +02:00
JC Brand
cf7d2fb648 Add webpack.nodeps.js
Use it to generate dist/converse-no-dependencies.js which we use to
generate the converse.pot file.
2019-08-23 21:36:27 +02:00
JC Brand
12bca2298c Replace Bourbon with postcss/autoprefixer 2019-08-23 15:09:37 +02:00
JC Brand
9ae71104c2 webpack: split css out into separate file
- Add postcss with autoprefixer and cleancss
2019-08-23 14:56:10 +02:00
JC Brand
9f054dd767 Update webpack config
- hot reloading
- split config into dev and prod
2019-08-23 13:29:26 +02:00
JC Brand
76f2b66445 Add a po loader for webpack.
- Removes the need for generating and keeping json files
2019-08-23 11:42:37 +02:00
JC Brand
8aaf50d58c Use webpack's dynamic imports feature for fetching emoji JSON 2019-08-23 09:18:10 +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
9a7dd99889 Ensure python 3.7 is used for sphinx and bump lerna version 2019-07-25 13:24:16 +02:00
JC Brand
30ad84d386 Update Lerna 2019-07-23 08:14:13 +02:00
JC Brand
a1630b5c1f Replace wait-until-promise with utility method
and bump default timeout

Also let `_converse.api.waitUntil` use it if a function is passed in.
2019-07-11 23:34:27 +02:00
JC Brand
8938245cdd Update various dependencies to their latest versions 2019-07-11 09:46:17 +02:00
JC Brand
98215deb21 Update to latest backbone.overview which debounces sorting on add event 2019-06-27 13:15:55 +02:00
Chaimaa ZEGOUMOU
a0b925ef6e Fixes #1071. x clear cross now same size as text (#1609) 2019-06-19 15:37:55 +02:00
JC Brand
91882e2b23 Bump clean-css and http-server versions 2019-06-12 06:45:13 +02:00
JC Brand
01fce55733 Add prettierx and tentatively use it for some formatting
I'm using prettierx, which is a fork of prettier so that we can have
spaces before the brackets in a function declaration.

I don't like how restrictive prettier is concerning its configuration
and formatting.

- it messes up some indentation in specs/
- it removes a second newline when I specifically want to have two
- it doesn't allow spaces before brackets in function declarations (hence prettierx)
- it adds spaces for function parameters with default values

None of this is configurable.

So auto-formatting is not turned on by default, but it might be a useful
tool in some cases.

Fixes an issue where indentation was off in converse-core.js, causing
vim-sleuth to wrongly indent by three spaces only.
2019-06-05 10:25:31 +02:00
JC Brand
3c6a17f85c Update to latest Strophe commit with explicit bind support 2019-06-03 10:02:57 +02:00
JC Brand
aece956281 Refactor strophe usage
- Upgrade to latest commit in Strophe
- Import individual Strophe dependencies
- Replace strophe plugins with code in Converse
2019-05-29 18:27:34 +02:00
JC Brand
b876500865 Update to latest backbone.overview 2019-05-23 14:44:10 +02:00
JC Brand
85fc91d7a1 Fixes #641.
Remove Makefile.win and add build instructions for Windows based on NPM
scripts.
2019-05-15 13:03:13 +02:00
JC Brand
d3bc206413 Update lerna to latest version 2019-05-15 10:00:14 +02:00
JC Brand
d91a5ca6de Remove alias for xss. Upgrade pluggable.js to version 2.0.1 2019-05-13 18:54:00 +02:00
JC Brand
a94f47141e Also include sass files in NPM package 2019-05-10 15:36:12 +02:00
JC Brand
84472ab752 Bugfix. npm install converse.js failed
because @converse-headless wasn't available
2019-05-10 15:26:50 +02:00
JC Brand
587dddd81d Update to latest version of Strophe
which logs less on the INFO loglevel
2019-05-10 13:26:30 +02:00
JC Brand
476069ec50 Let npm pack create the assets tarball for us
That way the tarball we upload to Github is the same as the one that we
get from installing Converse via NPM.

CC @ChaosKid42

To create the tarball containing the assets, just run `npm pack`.
This is the same tarball that gets uploaded to https://npmjs.org
2019-05-10 12:57:30 +02:00
JC Brand
a276a05094 Avoid main.js being generated in dist
when were generating only the CSS
2019-05-10 12:57:30 +02:00
JC Brand
0e7d64818d Add NPM scripts so that we can build dist files 2019-05-10 12:57:30 +02:00
JC Brand
c2a0999627 Put CSS files also in ./dist 2019-05-10 12:57:30 +02:00
JC Brand
dd20fc4b07 Updated deps eslint, eslint-plugin-lodash, node-sass 2019-05-10 10:58:45 +02:00
JC Brand
8283ea3d1a Remove unused dependency 2019-05-08 21:37:37 +02:00
JC Brand
61727f4c45 DayJS should be a dev dependency 2019-05-06 15:06:03 +02:00
JC Brand
c3dac272f8 Replace moment with DayJS 2019-05-06 14:27:18 +02:00
supun19
eec51f9d62 Doc rooms api (#1551)
* Rooms Api
number of parameters in the documentation was made 2 from 3 as api which is used to open a room with default configuration has only 2 parameters.
2019-05-03 11:38:05 +02:00
JC Brand
1251f395b1 Use webpack to generate css/converse.css 2019-04-18 17:50:05 +02:00