Hubert Chathi
4f112e8379
only re-try creating olm sessions for servers that failed to respond
...
If the server responded, then retrying likely won't help. Retrying is mainly
to help with slow servers.
2020-03-23 22:36:10 -04:00
Hubert Chathi
4d63f8ed04
don't always do second phase of olm creation
...
don't need to do the shorter timeout when doing preparation to encrypt, and
skip the second phase if the first phase already took longer than a normal
otk claim
2020-03-23 21:26:56 -04:00
David Baker
e1ad2f8a21
Use checkDeviceTrust when computing untrusted devices
...
Apparently we missed using cross-signing trust in the js-sdk itself
2020-03-23 14:28:10 +00:00
Hubert Chathi
9911766435
expose prepareToEncrypt in the client API
2020-03-18 18:53:26 -04:00
Bruno Windels
9bebb22746
devicesByUser should be userId => array of devices
2020-03-17 09:51:28 +01:00
Hubert Chathi
04387e78cc
some cleanups
2020-03-10 15:56:33 -04:00
Hubert Chathi
98d955ef1f
refactor megolm encryption to improve perceived speed
...
- allow applications to pre-send decryption keys before the message is sent
- establish new olm sessions with a shorter timeout first, and then re-try in
the background with a longer timeout without blocking message sending
2020-03-09 18:38:18 -04:00
Hubert Chathi
bf92cb1522
try to re-fetch devices before giving up on trying to heal a broken olm ( #1224 )
2020-02-21 10:20:46 -05:00
Hubert Chathi
cb69515be9
add some logging when sender could not establish an olm session
2020-02-20 14:49:32 -05:00
Hubert Chathi
6e233e860e
remove leftover debugging messages
2020-02-20 14:43:59 -05:00
Hubert Chathi
b4f0ea441b
remove obsolete comment
2020-02-20 14:43:24 -05:00
Jack Works
468fb2cc41
chore: remove custom promise, use es6 standard
...
Signed-off-by: Jack Works <jackworks@protonmail.com >
2020-01-23 19:23:08 -07:00
Travis Ralston
b3efa73eda
Fix conflict in megolm.js
2020-01-15 09:06:30 -07:00
Travis Ralston
f3efac059c
Merge branch 'develop' into travis/sourcemaps
2020-01-15 09:03:21 -07:00
Hubert Chathi
9fb4ed2ec0
Merge pull request #1146 from uhoreg/reporting_olm_error
...
record, report, and notify about olm errors
2020-01-15 09:37:43 -05:00
Hubert Chathi
f19013143a
fix indexedDB storage and retry decryption when we get an olm error
2020-01-14 23:47:05 -05:00
Hubert Chathi
ea3ee9bea5
Merge pull request #1148 from matrix-org/erikj/per_user_device_messages
...
Send device messages for the same user in same API call.
2020-01-14 21:33:46 -05:00
David Baker
6a583d2ba6
Merge pull request #1150 from matrix-org/dbkr/dont_error_on_unknown_devices
...
Add an option to ignore unverified devices
2020-01-14 17:11:47 +00:00
Erik Johnston
b4a93d2dc3
Also apply cahnge to '_splitBlockedDevices'
2020-01-14 10:09:19 +00:00
Erik Johnston
260040b919
Rename var to match new function
2020-01-14 10:07:54 +00:00
Travis Ralston
458b2d422d
Merge branch 'develop' into travis/sourcemaps
2020-01-13 11:17:27 -07:00
David Baker
ee51357dbc
Add an option to ignore unverified devices
...
Hopefully all necessary information is on the docstring.
Default behaviour remains unchanged.
2020-01-13 17:37:38 +00:00
Erik Johnston
ed3fded8e8
Send device messages for the same user in same API call.
...
Currently we split the device messages up to limit the number per call,
but that can end up splitting messages to a given users device over
separate API calls. This is fine, but means that the server can't e.g.
bundle them into a single EDU for remote users or sanity check that the
client is sending to the right set of devices (i.e. its device list
cache isn't wrong).
2020-01-13 13:43:00 +00:00
Hubert Chathi
0a9959bffb
use a separate object for each encrypted content
...
so that we don't duplicate the ciphertext for everyone
2020-01-11 15:49:01 -05:00
Hubert Chathi
b3a16cb852
lint (and add a comment)
2020-01-10 13:36:11 -05:00
Hubert Chathi
63c57e8e02
record, report, and notify about olm errors
2020-01-09 22:19:35 -05:00
Travis Ralston
18ccceca2d
[CONFLICT CHUNKS] Merge branch 'develop' into travis/sourcemaps-dev
2020-01-07 14:37:17 -07:00
Hubert Chathi
01f6b3dfc6
notify devices when we don't send them keys ( #1135 )
...
and handle incoming notifications
2020-01-06 17:47:22 -05:00
Travis Ralston
f952f6742f
Remove ancient "use strict" annotations
...
We don't need these anymore. Theoretically this commit could go to develop, but for safety it's going to `travis/sourcemaps` first.
2019-12-17 15:43:02 -07:00
Travis Ralston
f3a10a8166
Appease the linter's line length limit
2019-12-17 15:27:17 -07:00
Travis Ralston
d3ce0cb82f
Convert src to ES6
...
The bulk of this is just export/import changes, though there's a couple pieces to highlight:
* We no longer use default exports. This is because it's discouraged by the JS community, though not in any official capacity.
* We now use `polyfillSuper` for some prototype inheritance because the tests, and sometimes webpack, break on "cannot call EncryptionAlgorithm without 'new'". It's very much a workaround, and definitely not needed when we use real classes.
There is some import shuffling to help keep the imports clean - this was done by my IDE.
2019-12-17 15:14:22 -07:00
Michael Telatynski
4a47867e49
Down to two test failures
2019-12-04 19:17:58 +00:00
Michael Telatynski
efcaadd0b4
Rip out more bluebirds
2019-12-02 22:34:46 +00:00
Michael Telatynski
1286007b2e
Rip out bluebird of a bunch of places, lots to go :(
2019-12-02 22:34:46 +00:00
Matthew Hodgson
fcbfaac1fd
Merge pull request #1090 from matrix-org/matthew/more_e2ee_logging
...
expand e2ee logging to better debug UISIs
2019-11-26 10:18:28 +00:00
Matthew Hodgson
6e08835496
log keyshare ID
2019-11-26 01:58:04 +00:00
Matthew Hodgson
191695da5a
lint
2019-11-26 01:41:59 +00:00
Matthew Hodgson
2215087f96
expand e2ee logging to better debug UISIs
2019-11-26 01:17:12 +00:00
Michael Telatynski
7fb807919c
Stop using bluebird .returns and .spread
2019-11-25 12:31:46 +00:00
Hubert Chathi
e9908b1d97
fix the path in references to logger.js
2019-10-25 23:24:30 -04:00
janith
ad84631ddb
Change logger import to ES6
2019-05-30 09:27:25 +05:30
jkasun
a73dabcb67
Console logging to loglevel
2019-05-19 09:29:40 +05:30
Hubert Chathi
5480e8e1d5
refactor key sharing requests
...
use sendRoomKeyRequest with a new resend flag, instead of cancelRoomKeyRequest,
when requesting keys, so that we make sure that we send a new request if there
is no previous request
fixes https://github.com/vector-im/riot-web/issues/6838
2019-03-04 17:09:56 -05:00
Hubert Chathi
526da71992
Merge pull request #848 from uhoreg/fix_partial_keyshare
...
handle partially-shared sessions better
2019-03-01 12:18:54 -05:00
Hubert Chathi
282904d4be
restore the order of backup vs retry decryption
2019-03-01 08:54:04 -05:00
Hubert Chathi
a1be24307a
lint
2019-02-28 22:54:46 -05:00
Hubert Chathi
4b5623691b
handle partially-shared sessions better
...
- don't cancel key requests if we can't decrypt everything in the session
- overwrite the session key if we get a better version
2019-02-28 16:01:29 -05:00
Travis Ralston
fd155c15bd
Excessive checks are excessive
2019-02-26 13:50:09 -07:00
Travis Ralston
aaa43631aa
Fix "e is undefined" masking the original error in MegolmDecryption
2019-02-26 13:15:03 -07:00
David Baker
907cf19f05
Merge remote-tracking branch 'origin/develop' into dbkr/e2e_backups
2018-11-15 16:35:52 +00:00