JC Brand
27557d6a04
Document _converse.ChatBox.prototype.sendMessage
as an API method
...
Until now, we've only been explicitly documenting the `_converse.api`
namespace and only considered the methods under it as forming the API
contract (which determines how we do semver releases).
It appears as if we've reached a point where trying to keep everything
under the `_converse.api` namespace no longer makes sense. Certain
methods are applicable to particular models and trying to shoehorn them
into the `_converse.api` namespace seems clunky and non-intuitive.
I've therefore decided to slightly refactor `sendMessage` to let it take
two simple parameters and to document it with JSDoc so that it's
presented as an API method, albeit only available on a chat model.
updates #1496
updates #1504
2019-03-21 21:03:02 +01:00
JC Brand
675692df74
Use _converse.api.send
to forward messages
2019-03-21 20:54:23 +01:00
Emmanuel Gil Peyrot
b7ae9f212c
Replace http: with https: in conversejs.org links
2019-03-04 17:47:45 +01:00
JC Brand
f123f483ae
Fixes #1406
2019-02-21 09:19:02 +01:00
JC Brand
c026dc8a86
New copyright year
2019-02-18 20:23:18 +01:00
JC Brand
9233087548
Don't hash web storage ids.
...
Makes debugging more difficult and uses up extra CPU cycles for no real security benefit.
2019-02-18 20:23:18 +01:00
JC Brand
a4d608dcdf
Save room features in separate model
...
As a namespacing mechanism to avoid clashes.
Fixes bug where two chats are shown as currently being active in the rooms list.
2019-01-10 12:15:59 +01:00
JC Brand
98fee37a41
Destroy devicelist if we can't fetch the devices for it.
...
Otherwise Converse will try to fetch the devices again and again upon
page refresh.
2018-12-21 06:29:22 +01:00
JC Brand
45ed506551
Don't hardcode devices storage to session storage.
...
The devicelists are not stored in session storage, so we end up with
fetching all the devices per stored devicelist with every new browser
session.
2018-12-21 06:29:22 +01:00
JC Brand
e6c66cfebd
Ability to republish if publish-options precondition not met
2018-12-21 06:29:22 +01:00
JC Brand
bcb3bcaf03
OMEMO can only be supported once it's been initialized
...
updates #1180
2018-12-21 06:29:21 +01:00
JC Brand
a3830e9a7a
Use async/await
2018-12-21 06:29:21 +01:00
JC Brand
be1be3534c
Don't render the lock icon when the MUC doesn't qualify
...
Updates #1180
2018-12-21 06:29:21 +01:00
JC Brand
9aca32ad97
Handle errors when sending encrypted groupchat messages
...
updates #1180
2018-12-21 06:29:21 +01:00
JC Brand
d051085626
Only clear textarea once message was sent
...
This now requires `sendMessage` to return a boolean to indicate success.
Disable the textarea while message is being sent.
2018-12-21 05:58:22 +01:00
JC Brand
85dab7367b
Use pubsub#access_model
to publish keys and devices publically
2018-12-21 04:35:28 +01:00
JC Brand
9c05ca9a09
Add test for sending/receiving MUC OMEMO messages
...
While adding support for MUCs, I refactored converse-omemo somewhat to move functions
out of `overrides` and to use async/await
Updates #1180
2018-12-20 21:51:16 +01:00
JC Brand
f64fdb8088
Render the OMEMO lock icon in MUC toolbars as well
...
updates #1180
2018-12-20 21:51:16 +01:00
JC Brand
c8d78d744b
Fix typo and formatting in user-facing strings
2018-12-19 05:50:06 +01:00
JC Brand
d5485d09ae
Always render the OMEMO lock icon
...
When OMEMO isn't possible, render it as grey.
This change makes OMEMO for MUCs easier, since there I anticipate that
OMEMO support might change dynamically based on who enters/exits the
room.
updates #1180
2018-12-14 11:25:57 +01:00
JC Brand
79bfb45639
Use async/await in MAM code and tests
2018-12-06 13:10:33 +01:00
JC Brand
cd63afcaad
Add space following question mark
2018-11-22 09:09:14 +01:00
Christoph Scholz
da5ca0b585
implement XEP-0184: Message Delivery Receipts
2018-11-13 17:13:35 +01:00
JC Brand
3b60ced39c
Add a button for regenerating your OMEMO device bundle
2018-11-12 20:29:55 +01:00
JC Brand
fa4c555c44
Use async/await instead of explicit Promise
2018-11-12 14:45:57 +01:00
JC Brand
affafc746c
Bugfix. Make sure _devices_promise
is a Promise
2018-11-12 12:04:25 +01:00
JC Brand
461ebc0aea
Use async/await instead of explicit promises
2018-11-09 17:37:14 +01:00
JC Brand
6904f9a897
Use es2015 modules instead of UMD
2018-10-23 12:25:58 +02:00
cmrd Senya
8ba8eb02fa
Update main converse.js package to use @converse/headless
...
* Update moved dependencies references to @converse/headless
* Remove unused webpack resolve aliases
2018-10-22 12:44:38 +02:00
JC Brand
c8dc7b63b2
Disable OMEMO when the current device is not trusted.
...
updates #1242
2018-10-18 07:47:25 +02:00
JC Brand
bb78d8519f
Use async function instead of explicit promises
2018-10-18 07:03:42 +02:00
JC Brand
029fb6d60b
Make sure we have a device to publish before doing so
2018-10-18 00:17:21 +02:00
JC Brand
94a1852b4f
Use async function instead of explicit promises
2018-10-17 23:58:11 +02:00
JC Brand
a5a600bade
Fixes #1193 Properly handle OMEMO messages without body
tag
2018-10-15 23:47:22 +02:00
JC Brand
79b8ed7177
New release 4.0.2
2018-10-02 22:51:01 +02:00
JC Brand
dbfd460125
Don't include additionalData
when en/decrypting with crypto.subtle
...
Otherwise compatibility with Conversations is broken.
Unfortunately this means that OMEMO won't work on Edge, because it
for some reason requires the additionalData.
References:
* https://github.com/conversejs/converse.js/issues/1187#issuecomment-426276243
* https://stackoverflow.com/questions/42933162/web-crypto-api-using-microsoft-edge-38-14393-0-0/42950731
Fixes #1187
2018-10-02 22:07:16 +02:00
JC Brand
e05b7e9de3
OMEMO fixes for Edge.
2018-09-25 13:21:48 +02:00
JC Brand
cfcab80147
Don't inform of unencryptable OMEMO messages unless in debug mode
2018-09-07 15:23:16 +02:00
JC Brand
5f16babebd
Fix failing OMEMO test and simplify by using async/await
2018-09-02 14:27:05 +02:00
JC Brand
6f13676ee1
Show OMEMO error messages only in debug mode
2018-08-31 21:33:46 +02:00
JC Brand
1d5cf8eb7c
Fix AES-GCM encryption/decryption so that it works with Conversations
...
Fixes #497
2018-08-31 21:13:33 +02:00
JC Brand
c2184ce8e1
Always create a new session
2018-08-31 18:44:24 +02:00
JC Brand
fc6982ce08
Merge branch 'omemo-debug'
2018-08-31 18:39:01 +02:00
JC Brand
bd1fd7eef1
Key should be AES-128, not AES-256
2018-08-31 18:33:03 +02:00
JC Brand
c2f1b2543f
Pass array buffer to libsignal decrypt
2018-08-31 18:24:08 +02:00
JC Brand
c8211085fd
Pass array buffer to libsignal encrypt/decrypt methods
2018-08-31 18:10:09 +02:00
JC Brand
6a061b4525
Use raw
key format and not jwk
. Set correct key size.
2018-08-31 17:15:03 +02:00
JC Brand
ed9afe9afb
Only include key and not whole payload from libsignal
2018-08-31 13:57:49 +02:00
JC Brand
34541d6410
Add check before resetting
2018-08-30 13:39:33 +02:00
JC Brand
1dc1c1f98a
Properly generate and render fingerprints
2018-08-27 21:02:31 +02:00