Commit Graph

288 Commits

Author SHA1 Message Date
JC Brand
1949356ede Work on turning chat views into custom elements
The eventual goal is to avoid UI-related stanza processing if the relevant chats
aren't in the DOM.

With the current architecture, chatboxes are created (and the stanzas
related to them processed) even if `#conversejs` isn't in the DOM.

* Initial work on making controlbox an element
* Create a shared base class
* Ceate ChatBoxViews proxy
* Update sass now that certain classes are moved to converse-chats element
2021-02-09 15:48:21 +01:00
JC Brand
9a2ded5a9a Remove global lodash 2020-12-29 15:12:45 +01:00
JC Brand
bb3ac36098 Render the roster container and filter with lit-html
This is the first commit that makes use of the `ElementView` from
Skeletor, which lets us turn views into custom elements.
2020-12-28 20:56:37 +01:00
JC Brand
c457081597 WIP: Add support for XEP-437: Room Activity Indicators
- Send marker for last message before leaving and before subscribing to RAI
- clear cache of RAI-subscribed domains on reconnection
2020-12-14 13:11:24 +01:00
JC Brand
3b00a0e30d Bump lit-element and xss 2020-12-10 17:29:47 +01:00
JC Brand
5a82478381 Declare sizzle as a dependency for @converse/headless 2020-12-10 17:13:40 +01:00
JC Brand
e3ebde9741 Move converse-chat plugin into folder 2020-12-07 16:30:11 +01:00
JC Brand
01e03fc677 Bump to Strophe 1.4.1 2020-12-04 14:06:04 +01:00
JC Brand
824bf2ed30 Move all plugin files to ./plugin folders
Rename converse-core.js to core.js
2020-12-03 16:41:15 +01:00
JC Brand
c0dc8c8915 Bump 3rd party dev dependencies 2020-12-03 12:25:43 +01:00
JC Brand
b18cc6bcc5 Move modals and their templates into ./modals/ 2020-12-03 11:02:35 +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
8a857e39f4 Move tab update to notification plugin
Updating tab notifications is not something that should be done in the headless part of Converse.
Don't update the tab title, having a favicon is enough.
2020-11-18 10:42:31 +01:00
JC Brand
cf94a5193a Move dependency to headless package.json 2020-11-05 14:26:04 +01:00
JC Brand
bdb347b703 Updates #1471
OMEMO should not be enabled if the device is not trusted and also not if
the cache gets cleared on logout.
2020-11-02 13:22:00 +01:00
JC Brand
8c1e886af9 Fixes #2302 Bookmarks get duplicated on server push 2020-10-23 16:22:40 +02:00
JC Brand
7803fd2335 Clear chat boxes when clearing cache 2020-10-20 14:28:09 +02:00
dependabot-preview[bot]
62c657beba [Security] Bump elliptic from 6.5.2 to 6.5.3
Bumps [elliptic](https://github.com/indutny/elliptic) from 6.5.2 to 6.5.3. **This update includes a security fix.**
- [Release notes](https://github.com/indutny/elliptic/releases)
- [Commits](https://github.com/indutny/elliptic/compare/v6.5.2...v6.5.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-15 10:28:07 +02:00
JC Brand
7aee9c4432 muc: simplify api.rooms methods.
- Let `api.rooms.open` call `api.rooms.get` directly, instead of indirectly via `api.rooms.create`
- Remove the `createChatRoom` function
- Also strip URI parts from JID in `api.rooms.get` and use utility method for doing so
2020-10-07 15:31:13 +02:00
dependabot[bot]
1af233cc59 Bump http-proxy from 1.18.0 to 1.18.1
Bumps [http-proxy](https://github.com/http-party/node-http-proxy) from 1.18.0 to 1.18.1.
- [Release notes](https://github.com/http-party/node-http-proxy/releases)
- [Changelog](https://github.com/http-party/node-http-proxy/blob/master/CHANGELOG.md)
- [Commits](https://github.com/http-party/node-http-proxy/compare/1.18.0...1.18.1)

Signed-off-by: dependabot[bot] <support@github.com>
2020-10-07 11:34:21 +02:00
dependabot-preview[bot]
846ef06862 [Security] Bump dot-prop from 4.2.0 to 4.2.1
Bumps [dot-prop](https://github.com/sindresorhus/dot-prop) from 4.2.0 to 4.2.1. **This update includes a security fix.**
- [Release notes](https://github.com/sindresorhus/dot-prop/releases)
- [Commits](https://github.com/sindresorhus/dot-prop/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-07 11:31:31 +02:00
JC Brand
383b6a27c3 Render the brand heading as a component 2020-10-02 11:44:28 +02:00
JC Brand
e761923cc9 Bump @converse/skeletor and localForage 2020-09-30 18:51:21 +02:00
JC Brand
78f8f73fea Get rid of converse-uniview plugin
Instead of overriding createChatBox, set 'hidden' flag via defaults
2020-09-21 18:08:48 +02:00
JC Brand
2e393d260b Update to @converse/skeletor 0.0.2 2020-09-18 11:34:14 +02:00
JC Brand
49cda74971 Update package-lock 2020-09-17 10:42:57 +02:00
dependabot[bot]
522e7706c1 Bump lodash from 4.17.15 to 4.17.19
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.15 to 4.17.19.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.15...4.17.19)

Signed-off-by: dependabot[bot] <support@github.com>
2020-09-15 15:43:41 +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
7c43d0435c Refactor OMEMO.
- Add hooks to the stanza parsers so that plugins can do additional parsing.
- Change ChatBox instance methods to functions and use them for stanza parsing.
- Move encrypt and decrypt messages to `converse.env.omemo`

Apparently, when receving a 1:1 carbon message, a device was wrongly created
for the contact's device list, instead of our own.
2020-09-09 14:04:24 +02:00
JC Brand
4e7b29e417 Make sure initialize can be awaited...
before `converse.initialize` has been called

In the process, remove other "core" promises. There is no core or
community plugins code awaiting on them and since it's possible to
call `converse.initialize` twice, I'm not sure it makes sense to even have them.

Also removed unused error class IllegalMessage.
2020-09-03 17:07:44 +02:00
JC Brand
c41bdac6c8 Some work on componentizing the minimized chats UI 2020-09-03 13:06:17 +02:00
JC Brand
d5c93eb024 Create converse-root custom element
This element can be used to declaratively insert Converse into the DOM.

You can put `<converse-root>` into the DOM (e.g. by rendering it inside
a React component) before or afer Converse has loaded and/or has been
initialized.
2020-09-03 13:06:17 +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
945d7e9891 Update 3rd party dependencies 2020-07-22 10:04:59 +02:00
JC Brand
cb50de16e2 Update 3rd party dependencies 2020-07-20 13:19:12 +02:00
JC Brand
40587aa2e1 Fix linting error 2020-07-13 11:27:32 +02:00
JC Brand
d7bc129ce3 Get rid of Twemoji as a dependency
Fixes #2126
2020-07-10 11:21:45 +02:00
JC Brand
f4f183bc46 Rendeer SVG icons inline
to overcome cross-site restrictions on using the `use` attribute of the `<svg>` element.
2020-07-02 01:21:40 +02:00
JC Brand
694e7abe9c Bump dependencies 2020-06-26 16:00:48 +02:00
JC Brand
bec476b601 Bump various dependencies 2020-06-25 11:19:07 +02:00
JC Brand
a31d245136 Update to eslint 7.3.0 2020-06-22 11:01:19 +02:00
JC Brand
0cc088a523 Use the assets_path setting for the icons sprite 2020-06-18 13:45:03 +02:00
JC Brand
e0be139783 Update copy-webpack-plugin to version 6.0.2 2020-06-18 13:33:56 +02:00
Ariel Fuggini
73d33e1161
Makes mentions case-insensitive, plus parsing functionality refactor (#2061) 2020-06-18 11:19:01 +02:00
JC Brand
2009a94ba4 Update to Strophe 1.3.6
Fixes #2067
2020-06-15 15:39:33 +02:00