1
0
mirror of https://github.com/matrix-org/matrix-js-sdk.git synced 2025-07-31 15:24:23 +03:00
Commit Graph

1429 Commits

Author SHA1 Message Date
936eef194a minor fixes to tests 2019-05-29 17:01:13 -04:00
53804cac5c save cross-signing keys from sync and verify new keys for user 2019-05-28 22:28:54 -04:00
4ef970b4da fix(login): saves access_token and user_id after login for all login types
Signed-off-by: Sergii Stotskyi <sergiy.stotskiy@gmail.com>

Fixes #876
2019-05-28 17:47:49 +03:00
193ad9e09d use 3 keys for cross-signing 2019-05-23 18:18:21 -04:00
de8063a43a Merge branch 'develop' into loglevel-extend 2019-05-19 09:40:38 +05:30
a73dabcb67 Console logging to loglevel 2019-05-19 09:29:40 +05:30
761806c678 Add support for class properties
This enables compiler and linting features to allow class properties like we do
in the React SDK.
2019-05-13 13:52:37 +01:00
405451d783 complete some more unit tests 2019-05-03 23:23:08 -04:00
b0275afac2 remove some debugging lines 2019-05-03 23:22:51 -04:00
ae71f41138 add missing files 2019-05-03 18:12:17 -04:00
af93401385 Use more appropriate errors for some situations 2019-04-16 11:13:36 -06:00
0f2f041d8b Use constants for autodiscovery errors
To ease usage
2019-04-15 22:04:24 -06:00
fe47435fc7 Fix tests for autodiscovery 2019-04-15 21:12:17 -06:00
0a82c84006 Merge pull request #882 from uhoreg/fix_mac
support both the incorrect and correct MAC methods
2019-04-05 16:45:45 -04:00
01af303d63 fix the selection of the verification methods, and test more things 2019-04-04 14:08:30 -04:00
6ba7e85e24 Ensure we have crypto before accessing it in Room model
If crypto startup has failed, we shouldn't try to access any of its methods.
This fixes a variant of this in the `Room` model.
2019-04-04 12:06:41 +01:00
d1e64d0cfb support both the incorrect and correct MAC methods
also do some refactoring to make it easier to support choices in the other
methods in the future
2019-04-02 23:36:49 -04:00
5a26503da7 Remove sessionStore to cryptoStore migration path
The code to migrate from the `sessionStore` to `cryptoStore` originally appeared
in https://github.com/matrix-org/matrix-js-sdk/pull/584 (2017-12-06). At this
point, it seems safe to assume most sessions that need migrating have already
done so. Removing this code simplifies store handling and removes the
`sessionStore` from most places in JS SDK.
2019-03-20 16:56:47 +00:00
79ca235e7c only create one session at a time per device 2019-03-12 16:04:26 -04:00
81946294d8 use lolex to fake the timer 2019-03-06 14:42:52 -05:00
9e29289dcc use a different transaction ID when re-sending a key request 2019-03-06 12:02:48 -05:00
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
98fdcabc00 stop client after each test 2019-03-04 16:59:54 -05:00
86ef262799 fix c+p comment 2019-03-01 12:15:59 -05:00
a1be24307a lint 2019-02-28 22:54:46 -05:00
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
999ed1b5b3 Merge pull request #837 from uhoreg/emoji_sas
change hex SAS verification to decimal and emoji
2019-02-08 11:44:53 -05:00
fb673b0304 change hex SAS verification to decimal and emoji 2019-02-08 00:56:30 -05:00
1a425af3f2 Pass backup info here too 2019-02-07 15:51:51 +00:00
9bafed2c26 OK fine, we'll use the session store 2019-02-07 15:33:49 +00:00
244e1b84f7 Initial implementation of key verification 2019-01-23 13:34:25 -05:00
fb756208d8 Merge pull request #814 from trashhalo/rebase-tip
Contributing: Note that rebase lets you mass signoff commits

replace find loop + slice with a single filter. More readable

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

keep public APIs consistent with previous behaviour now that its fuzzy

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

make tests not fail, because of order of occurrence

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

do falsey displayname check regardless of whether we have roomstate

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

add tests for the fuzzy disambiguation between members in a room

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

remove duplicated call
2018-12-30 00:18:05 +00:00
5e3f42ec5a Use olm-loader in all crypto tests
Standardize on importing `olm-loader` rather than pasting the same boilerplate
in different tests.  Importantly, `spec/unit/crypto.spec.js` did not include any
loading approach, so it would only find Olm if some other test loaded it first.

Signed-off-by: J. Ryan Stinnett <jryans@gmail.com>
2018-12-13 08:59:57 +00:00
6cf9563441 Avoid checking key backup status if guest
Fixes vector-im/riot-web#7839.

Signed-off-by: J. Ryan Stinnett <jryans@gmail.com>
2018-12-12 22:26:01 +00:00
c4452909e7 Support .well-known autodiscovery in the js-sdk (#799)
* Support .well-known autodiscovery in the js-sdk

It's much more useful here than in the react-sdk as it can be reused by more applications. This is also required to make the react-sdk a little easier to manage .well-known lookups as soon it'll be doing it in several places. 

Automatic discovery is an abstract concept in the spec and could include more than .well-known in the future, so this is made to be generic enough to support future mechanisms and other resources to discover. There's also a ton of comments (more than normally needed) as people may wish to use this as a reference in their own implementation and it doesn't hurt to explain what everything is doing.

Many of the functions are air lifted from the react-sdk and modified to work within the confines of the js-sdk.

* Swap out uglify-js for uglify-es

So we can start using ES6 dependencies without figuring out how to update babel. 

`uglify-es` is compatible with `uglify-js@3` (we were using `@2`) , which is why the same command is used. This commit includes changes to the command line to make the thing run the same as before too.

* Appease the linter

* Appease the linter some more

* Appease the linter: the tiebreaker

* Appease the linter yet again

* Switch to using the already available URL libraries

* Remove excess logging
2018-12-12 08:38:05 -07:00
f8ea019f02 fix some assertions in e2e backup unit test 2018-11-29 11:52:19 -05:00
abd2ac7168 Rename backup API call in test 2018-11-20 16:34:04 +00:00
d99a22d68d Update to new API
Also fix test & remove debug logging from test
2018-11-16 14:46:18 +00:00
907cf19f05 Merge remote-tracking branch 'origin/develop' into dbkr/e2e_backups 2018-11-15 16:35:52 +00:00
88682e1c3b Merge pull request #780 from matrix-org/dbkr/olm_session_unwedge
Restart broken Olm sessions
2018-11-15 16:34:10 +00:00
d74ed508f9 Restart broken Olm sessions
* Start a new Olm sessions with a device when we get an undecryptable
   message on it.
 * Send a dummy message on that sessions such that the other end knows
   about it.
 * Re-send any outstanding keyshare requests for that device.

Also includes a unit test for megolm that isn't very related but came
out as a result anyway.

Includes https://github.com/matrix-org/matrix-js-sdk/pull/776
Fixes https://github.com/vector-im/riot-web/issues/3822
2018-11-08 19:09:28 +00:00
ff4125c11e Remove unused stuff & comments 2018-11-05 09:39:46 +00:00
ec8b3ae515 Lint (and also name the test right) 2018-11-02 12:33:46 +00:00
c94382b46c A unit test for olm
Megolm has plenty but none for just the olm layer by itself. I
was playing with getting session re-establishment to work and a
unit test came out.
2018-11-02 12:05:13 +00:00
29d92d3e81 Lint 2018-10-31 20:05:21 +00:00
c6ad0665b5 factor out duplicated test code 2018-10-31 18:03:40 +00:00
8ab84dee16 PR feedback 1/n 2018-10-31 17:40:17 +00:00
0e26247b53 Speed up time rather than increasing timeouts 2018-10-26 12:08:55 +01:00
a6bf40d4e2 We can always import these now 2018-10-25 19:21:29 +01:00
b3bb99d76a Stop client after backup tests 2018-10-25 19:11:43 +01:00