Commit Graph

274 Commits

Author SHA1 Message Date
JC Brand
976c3d6006 Remove the formdata and promise polyfills 2020-02-06 15:20: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
d8e561ef7e Fix linting errors 2019-12-20 16:02:53 +01:00
dependabot[bot]
115ee46e09 Bump npm from 6.11.3 to 6.13.4
Bumps [npm](https://github.com/npm/cli) from 6.11.3 to 6.13.4.
- [Release notes](https://github.com/npm/cli/releases)
- [Changelog](https://github.com/npm/cli/blob/latest/CHANGELOG.md)
- [Commits](https://github.com/npm/cli/compare/v6.11.3...v6.13.4)

Signed-off-by: dependabot[bot] <support@github.com>
2019-12-18 12:47:13 +02: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
raphaelSeguin
97b8ecbbdf Display status avatars in the occupants list 2019-12-05 14:13:52 +01:00
JC Brand
e23c7ce543 More retraction updates
- Retracted moderated message are not editable
- Use "removed" for user-facing text
2019-11-26 22:04:38 +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
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
54b3fc6dfc Update eslint 2019-09-09 13:13:23 +02:00
JC Brand
ef32050553 Update mobile.html 2019-09-09 12:49:36 +02:00
JC Brand
df7e3841a2 Add latest babel plugin for dynamic imports 2019-09-04 15:18:51 +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
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
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
168f29cf06 Only call credentials_url when authentication is set to login
Also update to newer strophe.js version which contains a bugfix.
2019-07-09 12:47:09 +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
dd91d3cc55 Use flexbox to keep the chat scrolled down
By using `display: flex` and `flex-direction: column-reverse`, the chat
now automatically scrolls down when loaded, without requiring any
extra JavaScript.

We still need to scroll down with JavaScript when sending a message.

By using `column-reverse`, the messages container now works in reverse.
So the newest message is the first element in the container and the
oldest message is the last. This is the reverse of before.

Due to this, this change will likely break some plugins.
2019-06-18 11:37:07 +02:00
JC Brand
83201e7c02 Reconnection fixes.
When reconnecting with a new transport, we call setUserJID
so that a new resource is generated, to avoid multiple
server-side sessions with the same resource.

We also call `_proto._doDisconnect` so that connection event handlers
for the old transport are removed.
2019-06-14 12:00:49 +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
f2ac9ef4d7 converse-muc: Support for XEP-0410 to check whether we're joined 2019-06-03 11:41:34 +02:00
JC Brand
3c6a17f85c Update to latest Strophe commit with explicit bind support 2019-06-03 10:02:57 +02:00
JC Brand
7b11d85503 Add support for XEP-0198 Stream Management
- New plugin `converse-smacks`
- New config option `enable_smacks`
- Rename session cache id from `converse.bosh-session` to `converse.session`
- Refactor logout and login as consistently used api methods
- Refactor session cache to store per JID

Fixes #316
2019-06-03 09:43:12 +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
d3bc206413 Update lerna to latest version 2019-05-15 10:00:14 +02:00
JC Brand
385a82f432 Bump strophe.js to 1.3.3 2019-05-15 09:50:17 +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
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
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
JC Brand
6f25adf033 Upgrade to bootstrap.native 2.0.26 2019-04-18 16:14:51 +02:00
JC Brand
8bc3aaa224 Upgrade to Webpack 4.28.1 2019-04-18 16:14:51 +02:00
JC Brand
aa90ebd7f0 Bugfix. Don't delete JID or resource...
when an affiliation change presence is received.
2019-04-11 01:39:06 +02:00
JC Brand
5532a9ec63 Remove jquery from tests 2019-04-08 21:45:09 +02:00
JC Brand
acab0339f1 New release 4.2.0 2019-04-04 12:33:08 +02:00
JC Brand
b726a2353c Remove Awesomeplete in favor of _converse.AutoComplete 2019-03-28 12:43:34 +01:00
JC Brand
ba81207da5 Upgrade to Jasmine 2.99.2 2019-03-25 23:05:21 +01:00
JC Brand
d87551328d Upgrade to Strophe 1.3.2 2019-03-21 07:28:37 +01:00
JC Brand
b15ebdde40 Update to Backbone 1.4.0 and use fork of Backbone.NativeView
with `_setElement` fix.

See https://github.com/akre54/Backbone.NativeView/pull/29
2019-03-01 11:56:22 +01:00
JC Brand
5afb3051cc New release v4.1.2 2019-02-22 16:49:45 +01:00
JC Brand
e389d77107 New release 4.1.1 2019-02-18 20:40:55 +01:00
JC Brand
fb5c299d9b Upgrade lerna to latest version 2019-02-12 14:21:40 +01:00
JC Brand
7100681496 Use devDependencies consistently
'dependencies' in package.json get installed as well when installing
converse.js or @converse/headless in a 3rd party project, which is
unnecessary.
2019-02-11 19:34:21 +01:00
JC Brand
28845bb850 Updated package-lock.json 2019-02-08 15:37:47 -07:00
JC Brand
004519931c Upgrade babel and lodash 2019-02-05 13:02:36 -07:00
JC Brand
450c0e5e0f Use bootstrap.native-loader to avoid including unused code 2019-01-25 07:32:51 +01:00
JC Brand
46d404809d Upgrade bootstrap.native to 2.0.24 2019-01-25 07:32:50 +01:00
JC Brand
a2f42d27a2 New release 4.1.0 2019-01-11 18:49:37 +01:00
JC Brand
0464772bfe Update package data 2019-01-10 12:12:14 +01:00
JC Brand
4013fbd273 Updated dependencies 2018-12-11 11:43:40 +01:00
JC Brand
384f1d7977 New release 4.0.6 2018-12-07 12:40:02 +01:00
JC Brand
588b015e62 Release v4.0.5 2018-11-15 13:24:22 +01:00
JC Brand
9f98a5cd72 Use snabbdom 0.7.2 2018-11-12 20:29:55 +01:00
JC Brand
f471dd2474 Release 4.0.4 2018-10-29 22:28:28 +01:00
JC Brand
fd41994672 Pin to latest backbone.browserStorage, then make clean && make dist 2018-10-28 18:23:05 +01:00
JC Brand
bf187560ee Replace ruby-sass with node-sass 2018-10-28 17:27:01 +01:00
JC Brand
0715476862 Add package-log.json for headless build. Set to 4.0.4
This is probably fine as a patch release. Even tough files have been
moved around, the API is still the same.
2018-10-25 08:01:47 +02:00
JC Brand
02f1b33143 New build and package-lock.json 2018-10-23 15:50:55 +02:00
JC Brand
a20fd39313 Upgrade NPM and avoid duplicate deps 2018-10-23 15:08:53 +02:00
JC Brand
3f7ffd025a Remove Backbone.View related dependencies from headless package 2018-10-22 14:06:03 +02:00
JC Brand
18024b8bd2 Store lerna packages in the src directory
- Also update versions in package.json
- Update Makefile
2018-10-22 13:29:25 +02:00
cmrd Senya
1ed12d964f Update package-lock.json 2018-10-22 12:46:11 +02:00
JC Brand
279fda7877 New release 4.0.3 2018-10-22 11:41:40 +02:00
JC Brand
a49c1f5592 Update Strophe.js, strophe plugins and backbone.browserStorage 2018-10-21 23:19:39 +02:00
JC Brand
82239d281f Refactor file-extension checking into utility functions 2018-10-16 00:22:39 +02:00
JC Brand
e181aaf99b Make the message view's render method async
So that we first render dynamic content (e.g. images) before inserting
it into the chat.

Also, add the `show_images_inline` setting (which is the cause of this
whole change).

Updated tests to handle this new change and start using async/await
instead of promise callbacks.
2018-10-15 22:19:04 +02:00
JC Brand
5c3661d730 Remove unused dependency protobufjs 2018-10-10 19:28:25 +02:00
JC Brand
9bc8bdf34c Test updates after updating to use latest strophe.js
`toLocaleString` now returns element attributes in alphabetical order
(for better cross-browser consistency).

Also, `toLocaleString` is now used in favor of `outerHTML` because
browsers aren't consistent with one another in their output.
2018-10-03 21:11:20 +02:00
JC Brand
79b8ed7177 New release 4.0.2 2018-10-02 22:51:01 +02:00
JC Brand
bf76b3b486 Add a polyfill for TextEncoder/TextDecoder for Edge 2018-09-25 13:20:55 +02:00
JC Brand
b9c6a29fdf Update to newest lodash 2018-09-24 21:53:54 +02:00
JC Brand
31080bf2f9 Add a FormData polyfill for Edge comptaibility
Fixes #1220
2018-09-24 16:18:51 +02:00
JC Brand
11dd79f8cd New release 4.0.1 2018-09-19 16:16:10 +02:00
JC Brand
60b08d41a7 Fixes #1203
Update to Strophe 1.2.16
2018-09-16 10:54:40 +02:00
JC Brand
09bb6b494d New release 4.0.0 2018-09-07 16:20:30 +02:00
JC Brand
eca11953bb Upgrade to fontawesome 5 2018-09-04 13:34:06 +02:00
JC Brand
e35fceff1a Remove the need for emojione 2018-09-03 14:16:59 +02:00
JC Brand
1d38d8af03 Use twemoji for rendering emojis 2018-09-03 13:24:37 +02:00
JC Brand
21178add98 Remove converse-otr 2018-08-27 22:09:22 +02:00
JC Brand
4c3645c559 Merge branch 'master' into converse-omemo 2018-08-03 14:47:20 +02:00
JC Brand
1443fdd447 (WIP) Wait for promises before opening chats in API methods 2018-08-01 11:10:43 +02:00
JC Brand
6785eff4a7 Merge branch 'master' into converse-omemo 2018-07-01 11:44:04 +02:00
JC Brand
3dac4ae45c Add support for logging in with OAuth 2018-06-13 18:39:51 +02:00
JC Brand
57b4dec5a0 Bugfix. Validation messages wasn't being shown
due to Awesomplete doing things to the DOM and then confusing Snabbdom.
2018-06-06 18:31:04 +02:00
JC Brand
f7c3351e2b Merge branch 'master' into webpack 2018-06-04 13:46:27 +02:00
JC Brand
659f70b28b Add the ability to make different kinds of builds 2018-06-04 13:38:53 +02:00
JC Brand
596082eecc Get tests to run agains the webpack build 2018-06-03 16:40:20 +02:00
JC Brand
74eed32e82 Add shims to webpack config and fix bugs in templates 2018-06-02 17:18:42 +02:00
JC Brand
ec12e6cbc5 Update to strophe.js 1.2.15 2018-05-28 10:38:05 +02:00
JC Brand
6dc9e8edf1 Use webpack for module bundling 2018-05-25 14:23:32 +02:00
JC Brand
0c50808b65 Add missing declaration and don't run OTR tests
Add 3rd party dependencies

updates #497
2018-05-23 12:51:01 +02:00
JC Brand
38499917a9 updates #194
Include entity capabilities hash in outgoing presences

Also, started some work on using jsdoc for rendering API documentation.
Ideally that would go into a separate commit but that would take ages to
untangle.
2018-05-11 13:35:27 +02:00
JC Brand
b1a54e626d Update bootstrap.native 2018-05-10 21:30:11 +02:00
JC Brand
127f458978 Update dist files 2018-05-08 19:58:12 +02:00
JC Brand
2d5e8262e9 Create new builds 2018-05-07 18:24:24 +02:00
JC Brand
e77f627432 Remove unused code, fix build path and update package-lock.json 2018-05-03 18:22:54 +02:00
JC Brand
56e4e8b8ee Fix rendering of headline messages.
Also, add urijs to more intelligently handle URIs
2018-04-30 15:37:36 +02:00
JC Brand
133df99aec Honor the filesize restrictions of the XMPP server
updates #161
2018-04-18 11:35:33 +02:00
JC Brand
877acd16d2 Update eslint 2018-03-17 18:54:19 +00:00
JC Brand
14de16f728 Tweak .button-on css 2018-03-16 19:41:00 +00:00
JC Brand
439e2a25ca Merge branch 'master' into bootstrap4 2018-03-06 11:40:10 +01:00
JC Brand
25b345f677 Update moment 2018-03-06 11:32:18 +01:00
JC Brand
d4d3d4c838 Merge branch 'split-muc' into bootstrap4 2018-03-05 16:51:33 +01:00
JC Brand
de66a7ddfa Cleanup post release 2018-03-05 15:12:29 +01:00
JC Brand
8211ed8f70 Release 3.3.4 2018-03-05 14:43:53 +01:00
JC Brand
e630339a69 Update spec to test sent out stanza as well 2018-03-02 11:59:25 +01:00
JC Brand
617019af0e Merge remote-tracking branch 'origin' into bootstrap4 2018-02-15 14:15:04 +01:00
JC Brand
db85cb7f1d Release 3.3.3 2018-02-14 16:53:07 +01:00
JC Brand
c5d4d421a4 Updated dependencies
Use fork of otr.js (with updated webworker-threads) and use original snabbdom again
2018-02-06 18:02:03 +01:00
JC Brand
6b644d6d11 Release 3.3.2 2018-01-29 16:48:54 +01:00
JC Brand
682312a1f3 Bump versions for backbone.overview and backbone.vdomview 2018-01-29 15:29:12 +01:00
JC Brand
6dfd2f8855 Remove npm as dependency. Updates #884 2018-01-29 14:42:10 +01:00
JC Brand
e6d5631452 Start moving css from mockup.css into the core sass files 2018-01-23 14:34:05 +01:00
JC Brand
6f59114989 Drop jquery and use native bootstrap 2018-01-23 09:49:13 +01:00
JC Brand
972e682e75 Update backbone.overview to 1.0.1
Fixes bug whereby `replaceWith` for HTMLElements not supported in IE or Safari

Refs #995
2018-01-22 12:00:21 +01:00
JC Brand
7d7b4c7e75 Updated npm 2018-01-22 09:38:24 +01:00
JC Brand
ccf5ce2ae5 New release 3.3.1 2018-01-18 14:48:32 +01:00
JC Brand
8f455cf902 Release 3.3.0 2018-01-17 19:45:33 +01:00
JC Brand
a1767ffecd Make sure rooms and bookmarks lists are recreated and shown after reconnect 2018-01-15 22:03:31 +01:00
JC Brand
59c11526f2 Use latest releases and update test for travis 2018-01-15 21:24:08 +01:00
JC Brand
f8bcdad8ea Use newest pluggable.js 2018-01-11 22:48:26 +00:00
JC Brand
8d999b2802 Explicit plugin dependencies. Make hide_open_bookmarks false by default 2018-01-10 13:26:50 +00:00
JC Brand
e5b256e45e Fix broken tests 2018-01-10 12:27:46 +00:00