RiotRobot
c669382e12
v8.0.0
2020-07-27 20:50:09 +01:00
RiotRobot
19251c427a
Prepare changelog for v8.0.0
2020-07-27 20:50:08 +01:00
Michael Telatynski
a7aec9e2a4
Merge pull request #1424 from matrix-org/t3chguy/txnId
...
Properly support txnId
2020-07-24 00:01:31 +01:00
Michael Telatynski
99d7622b42
Properly support txnId
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2020-07-22 11:09:07 +01:00
Michael Telatynski
8728619d2c
Merge pull request #1423 from matrix-org/t3chguy/depr/1
...
[BREAKING] Remove deprecated getIdenticonUri
2020-07-21 21:35:30 +01:00
Michael Telatynski
f6d51fdfb8
remove outdated identicon tests
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2020-07-21 21:30:25 +01:00
Michael Telatynski
0ffaa8d617
Remove deprecated getIdenticonUri
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2020-07-21 21:18:17 +01:00
Travis Ralston
c7aee7cebd
Merge remote-tracking branch 'origin/dependabot/npm_and_yarn/lodash-4.17.19' into develop
2020-07-20 15:47:57 -06:00
dependabot[bot]
9ed6c99ec8
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-07-16 19:28:57 +00:00
Travis Ralston
7d398d41d0
Merge pull request #1419 from matrix-org/travis/general/perf/js-roomstate-map
...
[BREAKING] Convert RoomState's stored state map to a real map
2020-07-16 12:42:31 -06:00
Travis Ralston
0af763252c
Have the comment represent reality
2020-07-16 12:42:17 -06:00
Travis Ralston
1c9dbbbb19
[BREAKING] Convert RoomState's stored state map to a real map
...
Though the dictionary format works fine, it's slow. Access times are around the 1ms range for rooms like HQ, which doesn't seem like much, but when compared to the Map's access time of 0.05ms it's slow.
Converting things to a map means we lose index access and have to instead use `.keys()` and `.values()`, both of which return iterables and not arrays. Even doing the `Array.from()` conversion we see times in the 0.05ms range. This is also what makes this a breaking change.
Memory-wise there does not appear to be any measurable impact for a large account.
2020-07-08 22:28:14 -06:00
RiotRobot
2a688bdac8
v7.1.0
2020-07-03 13:15:07 +01:00
RiotRobot
3c53c818cb
Prepare changelog for v7.1.0
2020-07-03 13:15:07 +01:00
RiotRobot
8e53cb324e
v7.1.0-rc.1
2020-07-01 14:15:43 +01:00
RiotRobot
efbd454775
Prepare changelog for v7.1.0-rc.1
2020-07-01 14:15:43 +01:00
Bruno Windels
68c7273f56
Merge pull request #1414 from matrix-org/bwindels/fixbootstraperror
...
Ask general crypto callbacks for 4S privkey if operation adapter doesn't have it yet
2020-06-26 12:53:11 +00:00
Bruno Windels
8b56ff4eff
ask general crypto callbacks for 4S privkey if operation adapter doesn't
2020-06-26 10:59:04 +02:00
Michael Telatynski
8134eedd93
Merge pull request #1413 from matrix-org/t3chguy/hf
...
Fix ICreateClientOpts missing idBaseUrl
2020-06-25 23:34:31 +01:00
Michael Telatynski
a87ae770cc
Fix ICreateClientOpts missing idBaseUrl
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2020-06-25 21:58:15 +01:00
J. Ryan Stinnett
355da0f9a9
Merge pull request #1411 from matrix-org/jryans/more-room-listeners
...
Increase max event listeners for rooms
2020-06-25 13:54:11 +01:00
J. Ryan Stinnett
10bdd63762
Increase max event listeners for rooms
...
It's common to add listeners for every displayed Matrix event, so this increases
the default to remove some log noise.
2020-06-25 13:37:35 +01:00
Hubert Chathi
69dc518c2c
Merge pull request #1406 from matrix-org/uhoreg/distrust_backup
...
Don't trust keys megolm received from backup for verifying the sender
2020-06-23 15:37:27 -04:00
Hubert Chathi
fa1dddf06c
apply feedback from review
2020-06-23 15:20:41 -04:00
RiotRobot
f683f4544a
Merge branch 'master' into develop
2020-06-23 14:45:24 +01:00
RiotRobot
bc5b587651
v7.0.0
2020-06-23 14:42:09 +01:00
RiotRobot
8083031029
Prepare changelog for v7.0.0
2020-06-23 14:42:09 +01:00
Travis Ralston
7b8102a42c
Merge pull request #1410 from matrix-org/travis/room-list/setting-diff
...
Raise the last known account data / state event for an update
2020-06-22 14:10:16 -06:00
Travis Ralston
dbe2f5e4db
Fix lint
2020-06-22 10:24:02 -06:00
Travis Ralston
f27791b7de
Raise the last known account data / state event for an update
...
This is to better support the react-sdk in trying to identify what actually changed in settings instead of re-firing everything.
Overall this change differs from `prev_content` semantics as it's the last known *stored* event, not whatever the server thinks may or may not have changed.
2020-06-22 10:17:42 -06:00
Hubert Chathi
2a78170395
lint
2020-06-19 19:31:43 -04:00
Hubert Chathi
cfca1c7b06
add unit tests and improve docs
2020-06-19 19:27:29 -04:00
Hubert Chathi
fb7a67025f
add information function to return information about event encryption
2020-06-18 21:43:50 -04:00
Bruno Windels
8a6cd48b8e
Merge pull request #1380 from matrix-org/bwindels/bootstrap-operation
...
Isolate encryption bootstrap side-effects
2020-06-18 14:29:35 +00:00
David Baker
e21d1f539d
Merge pull request #1405 from matrix-org/dbkr/fix_verification_race
...
Add method to get current in-flight to-device requests
2020-06-18 15:10:58 +01:00
Bruno Windels
f62049559c
make authUploadDeviceSigningKeys required, as default is only used by tests
...
and make tests pass {} instead of undefined for authDict as otherwise
we'll enter in the "obtain flows" mode and not add the keys to the builder
2020-06-18 15:06:56 +02:00
Bruno Windels
1fe9dd03a3
apparently we call the callback also to obtain flows, so handle that
2020-06-18 14:39:16 +02:00
RiotRobot
c3283a7297
v7.0.0-rc.1
2020-06-17 21:33:36 +01:00
RiotRobot
f423164a1c
Prepare changelog for v7.0.0-rc.1
2020-06-17 21:33:35 +01:00
Bruno Windels
75fe596e24
fix tests
2020-06-17 15:36:24 +02:00
Bruno Windels
c5eb290e66
remove resetCrossSigningKeys
...
it was only used by the bootstrap method in js-sdk,
and was not used in react-sdk either.
This is a breaking change, in case anything other than react-sdk
was using this.
2020-06-17 15:34:30 +02:00
Bruno Windels
d3b2c8246d
remove try/finally as we don't monkey patch the callbacks anymore
2020-06-17 15:34:02 +02:00
Bruno Windels
c11796af4b
don't fix old key when we're force-creating a new one
2020-06-17 15:29:21 +02:00
Bruno Windels
8591815d66
add comment
2020-06-17 15:26:30 +02:00
Bruno Windels
b82870adb2
move key backup bootstrap/migration over to builder
2020-06-17 15:25:42 +02:00
Bruno Windels
3c5b304b6b
move cross-signing bootstrapping over to builder
2020-06-17 15:22:24 +02:00
Bruno Windels
f656698061
fixup: secret storage indenting
2020-06-17 15:14:26 +02:00
Bruno Windels
d4b4bc5031
move 4S creation to operation
2020-06-17 15:06:41 +02:00
Bruno Windels
9bcf33b6d3
Add EncryptionSetupBuilder to capture bootstrapping side-effects
2020-06-17 14:55:19 +02:00
Hubert Chathi
fa550e8f03
fix jsdoc
2020-06-16 12:03:29 -04:00
Hubert Chathi
2d73564eba
apply feedback from review, and improve js docs
2020-06-16 11:38:36 -04:00
David Baker
1bd80247fd
Better variable name
2020-06-16 14:27:26 +01:00
RiotRobot
1c194e8163
Merge branch 'master' into develop
2020-06-16 11:04:39 +01:00
RiotRobot
db7848c9ba
v6.2.2
2020-06-16 11:00:41 +01:00
RiotRobot
97497ed9d5
Prepare changelog for v6.2.2
2020-06-16 11:00:41 +01:00
J. Ryan Stinnett
60fcc652de
Merge pull request #1407 from matrix-org/jryans/1403-release
...
Use existing session id for fetching flows as to not get a new session
2020-06-16 10:56:00 +01:00
Michael Telatynski
cb57717424
undo that because {} sux
2020-06-16 10:38:41 +01:00
Michael Telatynski
590f7786eb
clean up
2020-06-16 10:38:41 +01:00
Michael Telatynski
0024edcb7f
Use existing session id for fetching flows as to not get a new session id
2020-06-16 10:38:41 +01:00
Michael Telatynski
aa2d0d9a08
Merge pull request #1404 from matrix-org/t3chguy/push-rules-device
...
Remove support for unspecced device-specific push rules
2020-06-16 10:26:08 +01:00
Hubert Chathi
fd126b8563
lint
2020-06-15 17:53:37 -04:00
Hubert Chathi
bc97e7a5ea
don't trust keys megolm received from backup for verifying the sender
2020-06-15 17:47:25 -04:00
David Baker
3dece4f46b
Add method to get current in-flight to-device requests
2020-06-15 17:38:50 +01:00
Michael Telatynski
be05452c70
Fix tests
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2020-06-14 13:15:28 +01:00
Michael Telatynski
583650cf7d
Remove support for unspecced device-specific push rules
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2020-06-13 14:49:49 +01:00
Michael Telatynski
505915528f
Merge pull request #1403 from matrix-org/t3chguy/attemptAuth-existing-session
...
Use existing session id for fetching flows as to not get a new session
2020-06-12 22:33:26 +01:00
Michael Telatynski
ace8a787b4
undo that because {} sux
2020-06-12 20:06:58 +01:00
Michael Telatynski
ed2ea9ac8e
clean up
2020-06-12 20:00:08 +01:00
Michael Telatynski
8d09a4abe6
Use existing session id for fetching flows as to not get a new session id
2020-06-12 19:50:38 +01:00
J. Ryan Stinnett
1da959ab02
Merge pull request #1400 from matrix-org/jryans/upgrade-deps-2020-06-05
...
Upgrade deps
2020-06-08 10:58:29 +01:00
J. Ryan Stinnett
997dd9b88a
Upgrade deps
2020-06-08 10:13:30 +01:00
RiotRobot
ebe66bdd6e
Merge branch 'master' into develop
2020-06-05 15:10:44 +01:00
RiotRobot
12b573bc63
v6.2.1
2020-06-05 15:07:04 +01:00
RiotRobot
cc8c163e0f
Prepare changelog for v6.2.1
2020-06-05 15:07:04 +01:00
Bruno Windels
abc7f76679
Merge pull request #1399 from matrix-org/bwindels/backupformatbug-rc
...
Bring back backup key format migration
2020-06-05 13:32:58 +00:00
Bruno Windels
eee04895fe
take into account key can be an object now
2020-06-05 15:26:17 +02:00
Bruno Windels
f520b88f79
fix type check in migration code
2020-06-05 15:26:17 +02:00
Bruno Windels
f0f1c113e4
Revert "remove key backup format migration"
...
This reverts commit 8d81240c58 .
2020-06-05 15:26:17 +02:00
Bruno Windels
84a15761ad
Revert "lint"
...
This reverts commit 9fe0e1e85f .
2020-06-05 15:26:17 +02:00
Bruno Windels
013fbb87a7
Merge pull request #1398 from matrix-org/bwindels/backupformatbug
...
Bring back backup key format migration
2020-06-05 13:25:00 +00:00
Bruno Windels
73764d23dc
take into account key can be an object now
2020-06-05 13:38:46 +02:00
Bruno Windels
8f62703bf2
fix type check in migration code
2020-06-05 13:38:15 +02:00
Bruno Windels
6dedae2e4d
Revert "remove key backup format migration"
...
This reverts commit 8d81240c58 .
2020-06-05 11:23:04 +02:00
Bruno Windels
d32131b2b8
Revert "lint"
...
This reverts commit 9fe0e1e85f .
2020-06-05 11:20:23 +02:00
Bruno Windels
0a790b2ae3
Merge pull request #1313 from matrix-org/bwindels/throwifcantdecrypt4s
...
Fix: more informative error message when we cant find a key to decrypt with
2020-06-05 08:30:43 +00:00
RiotRobot
ef1d5e3d76
Merge branch 'master' into develop
2020-06-04 15:00:26 +01:00
RiotRobot
30720bfdd7
v6.2.0
2020-06-04 14:57:14 +01:00
RiotRobot
234a18f016
Prepare changelog for v6.2.0
2020-06-04 14:57:14 +01:00
Michael Telatynski
c525a19df5
Merge pull request #1394 from matrix-org/t3chguy/e2eedefault
...
Add js-sdk mechanism for polling client well-known for config
2020-06-03 10:47:10 +01:00
Michael Telatynski
a987a31667
Merge pull request #1388 from matrix-org/dbkr/timeouts
...
Fix verification request timeouts to match spec
2020-06-03 10:41:15 +01:00
Michael Telatynski
10329c3436
rename _clientWellKnownInterval to _clientWellKnownIntervalID
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2020-06-03 10:26:46 +01:00
Travis Ralston
29f10bcd44
Merge pull request #1391 from matrix-org/hs/drop-presence-list
...
Drop presence list methods
2020-06-02 19:50:12 -06:00
Travis Ralston
19fe9b8ac7
Merge pull request #1395 from matrix-org/travis/less-previews
...
Batch up URL previews to prevent excessive requests
2020-06-02 14:33:04 -06:00
Travis Ralston
76da708352
Call the callback on cached
2020-06-02 14:19:41 -06:00
Travis Ralston
145f01ff2d
Batch up URL previews to prevent excessive requests
...
Cache expiration is still not implemented here.
2020-06-02 13:25:37 -06:00
RiotRobot
2c2d531e7f
v6.2.0-rc.1
2020-06-02 13:48:12 +01:00
RiotRobot
91e0f7fbc4
Prepare changelog for v6.2.0-rc.1
2020-06-02 13:48:12 +01:00
J. Ryan Stinnett
bebeec7d84
Merge pull request #1304 from MTRNord/fix-register-auth-with-new-spec
...
Make auth argument in the register request compliant with r0.6.0
2020-06-02 10:13:57 +01:00
Michael Telatynski
18b1e00875
Add js-sdk mechanism for polling client well-known for config
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2020-06-01 22:22:01 +01:00
Travis Ralston
86d448c285
Merge pull request #1393 from matrix-org/travis/uia-3pid
...
Send the wrong auth params with the right auth params
2020-06-01 09:14:39 -06:00
Travis Ralston
73f8867a6f
Send the wrong auth params with the right auth params
...
Followon from https://github.com/matrix-org/matrix-react-sdk/pull/4667
2020-06-01 09:08:58 -06:00
Will Hunt
d021498fa9
Drop presence lists
2020-06-01 11:29:06 +01:00
Michael Telatynski
b83aa54661
Test the verification request timeouts of 10m and 2m
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2020-05-29 14:49:35 +01:00
Michael Telatynski
429550ca3e
fix thing which got missed in the revert
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2020-05-29 13:54:08 +01:00
Michael Telatynski
2a6d8c2b1d
revert to previous observeOnly behaviour
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2020-05-29 13:34:19 +01:00
Michael Telatynski
01c9159830
clean up
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2020-05-29 13:17:22 +01:00
Michael Telatynski
3b3ed5159c
Implement verification request timeout as per the spec
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2020-05-29 13:10:25 +01:00
David Baker
636661dd45
WIP code for https://github.com/vector-im/riot-web/issues/12430
2020-05-29 09:53:03 +01:00
Hubert Chathi
0d7cb2bf25
Merge pull request #1387 from matrix-org/uhoreg/picklekey
...
encrypt cached keys with pickle key
2020-05-28 13:51:25 -04:00
Hubert Chathi
991f590056
another unit fix test
2020-05-27 23:32:23 -04:00
Hubert Chathi
0e6758ccbc
more unit test fixes
2020-05-27 23:21:15 -04:00
Hubert Chathi
1d9c6520e5
fix unit tests
2020-05-27 20:02:40 -04:00
Hubert Chathi
c81f11df0a
encrypt/decrypt cached private keys with pickle key
2020-05-27 19:34:28 -04:00
Travis Ralston
f39a1e70de
Fix the tests
2020-05-27 13:32:28 -06:00
Travis Ralston
f0fa249d36
Request fresh flows on the initial registration request
2020-05-27 13:16:10 -06:00
Travis Ralston
8f72197817
Merge branch 'develop' into fix-register-auth-with-new-spec
2020-05-27 12:14:42 -06:00
Hubert Chathi
1556ac84da
add a pickle key option to the client
2020-05-27 12:57:00 -04:00
David Baker
b6da6bb835
Merge pull request #1385 from Sorunome/patch-1
...
Fix replying to key share requests
2020-05-26 12:10:44 +01:00
Sorunome
b1a882ea79
Fix replying to key share requests
...
This check was meant to filter out key sharing requests from ourselves. Accidentally, it filtered out sharing requests from anyone *but* ourselves.
2020-05-26 13:04:31 +02:00
Michael Telatynski
3305f2cc72
Merge pull request #1384 from matrix-org/t3chguy/cdn
...
Add dist to package.json files so CDNs can serve it
2020-05-25 15:56:26 +01:00
Michael Telatynski
c589a5211b
Add dist to package.json files so CDNs can serve it
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2020-05-25 14:29:50 +01:00
Michael Telatynski
ff0d91979b
Merge pull request #1382 from matrix-org/t3chguy/fix_getVersion_warning
...
Fix getVersion warning saying undefined room
2020-05-22 14:44:11 +01:00
Michael Telatynski
9d6888cf74
Fix getVersion warning saying undefined room
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2020-05-22 14:21:51 +01:00
David Baker
a4a7097c10
Merge pull request #1379 from matrix-org/dbkr/combine_default_rules_processing
...
Combine the two places we processed client-level default push rules
2020-05-21 15:11:46 +01:00
David Baker
cf2b058e7c
Update comment on default override rules
2020-05-21 10:06:12 +01:00
Hubert Chathi
048d7a9b63
Merge pull request #1378 from matrix-org/uhoreg/fix_mac_check
...
make MAC check robust against unpadded vs padded base64 differences
2020-05-20 12:05:35 -04:00
David Baker
d6e37d0288
Combine the two places we processed client-level default push rules
...
We did this in two places: updated existing rules when the rules
were stored and then added new ones every time we computed push
action for an event. Just do both when the rules are saved.
2020-05-20 14:52:37 +01:00
Bruno Windels
3cd562fa96
Merge pull request #1375 from matrix-org/bwindels/remove-keybackup-format-migration
...
Remove key backup format migration
2020-05-20 08:05:28 +00:00
Michael Telatynski
bd569cb041
Merge pull request #1241 from matrix-org/t3chguy/fix_unhomoglyph_import
...
Add simple browserify browser-matrix.js tests
2020-05-19 11:58:35 +01:00
RiotRobot
e3c6a0e1a0
Merge branch 'master' into develop
2020-05-19 11:04:15 +01:00
RiotRobot
b29176507c
v6.1.0
2020-05-19 11:01:13 +01:00
RiotRobot
db25e9719b
Prepare changelog for v6.1.0
2020-05-19 11:01:13 +01:00
Michael Telatynski
661901b00d
tidy up
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2020-05-18 20:11:32 +01:00
Michael Telatynski
b9352cfcc1
Fix tests
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2020-05-18 20:03:04 +01:00
Michael Telatynski
e381b1901e
clean up test
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2020-05-18 19:39:30 +01:00
Hubert Chathi
ebdff505eb
make MAC check robust against unpadded vs padded base64 differences
2020-05-15 16:52:53 -04:00
Michael Telatynski
f806e4342e
Add simple browserify sync test
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2020-05-15 18:56:09 +01:00
Michael Telatynski
7f32d7d320
revert
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2020-05-15 16:55:00 +01:00
Michael Telatynski
b1b4b21d45
Merge branches 'develop' and 't3chguy/fix_unhomoglyph_import' of github.com:matrix-org/matrix-js-sdk into t3chguy/fix_unhomoglyph_import
...
Conflicts:
src/utils.ts
2020-05-15 16:50:23 +01:00
Hubert Chathi
486e8b5445
Merge pull request #1376 from matrix-org/uhoreg/sas2
...
support new key agreement method for SAS
2020-05-15 10:59:11 -04:00
Bruno Windels
9fe0e1e85f
lint
2020-05-15 13:44:10 +02:00
Bruno Windels
8d81240c58
remove key backup format migration
2020-05-15 12:37:41 +02:00
Hubert Chathi
bdadcd4532
support new key agreement method for SAS
2020-05-14 16:14:45 -04:00
RiotRobot
1de9a24677
v6.1.0-rc.1
2020-05-14 16:06:17 +01:00
RiotRobot
6335f14a34
Prepare changelog for v6.1.0-rc.1
2020-05-14 16:06:16 +01:00
Bruno Windels
da2ef381ac
Merge pull request #1373 from matrix-org/bwindels/remove-asym-4s
...
Remove support for asymmetric 4S encryption
2020-05-14 08:10:01 +00:00
Bruno Windels
7b173f4c74
don't sign 4S keys anymore
2020-05-13 10:38:03 +02:00
Bruno Windels
d49eb0bbc4
remove upgrade path from asym to sym 4S algorithm
2020-05-13 10:38:03 +02:00
Bruno Windels
91556d5bcd
fix lint
2020-05-13 10:38:03 +02:00
Bruno Windels
039abe1f75
remove tests for upgrade path
2020-05-12 14:53:50 +02:00
Bruno Windels
bc32faf467
don't sign/verify 4s key with cross signing master key anymore
2020-05-12 14:49:20 +02:00
Bruno Windels
74a4dfeb67
remove support for asym 4s enc
2020-05-12 14:29:54 +02:00
RiotRobot
f120533fad
Merge branch 'master' into develop
2020-05-05 11:01:32 +01:00
RiotRobot
a1baf39299
v6.0.0
2020-05-05 10:54:38 +01:00
RiotRobot
9f0f1bcc68
Prepare changelog for v6.0.0
2020-05-05 10:54:37 +01:00
J. Ryan Stinnett
246963e181
Merge pull request #1368 from matrix-org/foldleft/13167-spinner-progress-rc
...
Add progress callback for key backups
2020-05-04 16:34:38 +01:00
Zoe
e3134ab0de
satisfy linter 2, now with more self-hatred
2020-05-04 16:25:43 +01:00
Zoe
b38d52da72
satisfy the linter
2020-05-04 16:25:43 +01:00
Zoe
411c4f40d9
docs
2020-05-04 16:25:43 +01:00
Zoe
694a85b652
lint
2020-05-04 16:25:43 +01:00
Zoe
c84e72f53a
Added a progressCallback for backup key loading
2020-05-04 16:25:43 +01:00
David Baker
cb7e1a9d82
Merge pull request #1367 from matrix-org/dbkr/increase_olm_second_phase_timeout
...
Increase timeout for 2nd phase of Olm session creation
2020-05-01 18:32:25 +01:00
David Baker
3c9dfc195e
Increase timeout for 2nd phase of Olm session creation
...
The timeouts on the two phases of olm session creation are 2 and 10
seconds respectively, so sessions will fail if servers take more
than 10s to respond. Now that we have two phases, we can afford to
wait longer on the second one because the user's isn't waiting for
it to finish before the message will send, so increase it to 30s
so servers have more of a chance to respond.
2020-05-01 18:25:25 +01:00
David Baker
a5c13041c6
Merge pull request #1366 from matrix-org/dbkr/retry_decryption_logging
...
Add logging on decryption retries
2020-05-01 17:49:13 +01:00
David Baker
d699e98346
Add logging on decryption retries
...
For https://github.com/vector-im/riot-web/issues/13473
2020-05-01 17:36:49 +01:00
RiotRobot
135a76febd
v6.0.0-rc.2
2020-05-01 16:18:21 +01:00
RiotRobot
fae2856e7e
Prepare changelog for v6.0.0-rc.2
2020-05-01 16:18:21 +01:00
David Baker
98426b6186
Merge pull request #1365 from matrix-org/dbkr/emit_on_store_trusted_master_key_rel
...
Emit event when a trusted self-key is stored
2020-05-01 15:37:09 +01:00
David Baker
a63d9d2ccd
lint
2020-05-01 15:28:15 +01:00
David Baker
c567139e28
Emit event when a trusted self-key is stored
...
This will cause our own user trust status to change, so emit an
event to say so.
2020-05-01 15:28:09 +01:00
David Baker
3d495b0753
Merge pull request #1364 from matrix-org/dbkr/emit_on_store_trusted_master_key
...
Emit event when a trusted self-key is stored
2020-05-01 15:27:36 +01:00
David Baker
4946b55c21
lint
2020-05-01 15:13:02 +01:00
David Baker
ad7d7154f4
Emit event when a trusted self-key is stored
...
This will cause our own user trust status to change, so emit an
event to say so.
2020-05-01 15:01:13 +01:00
Zoe
e5b6a9f8cb
Merge pull request #1352 from matrix-org/foldleft/12252-large-err
...
Customize error payload for oversized messages
2020-05-01 09:44:43 +01:00
Zoe
04f27d36ef
Update src/crypto/OlmDevice.js
...
Co-authored-by: Travis Ralston <travpc@gmail.com >
2020-05-01 09:40:11 +01:00
J. Ryan Stinnett
683fc98fdc
Merge pull request #1363 from matrix-org/jryans/key-backup-network-fail
...
Return null for key backup state when we haven't checked yet
2020-04-30 17:21:09 +01:00
J. Ryan Stinnett
c303e83444
Return null for key backup state when we haven't checked yet
...
This allows distinguishing the "unknown" case from "not present".
Part of https://github.com/vector-im/riot-web/issues/13404
2020-04-30 15:40:27 +01:00
J. Ryan Stinnett
ae5a40d686
Only consider key backup checked in error if 404
...
Other error codes are likely to mean we never actually reached the server at
all, so we should not consider that as checked.
Part of https://github.com/vector-im/riot-web/issues/13404
2020-04-30 15:22:50 +01:00
Zoe
409b7068bb
Merge pull request #1351 from matrix-org/foldleft/13167-spinner-progress
...
Added a progressCallback for backup key loading
2020-04-30 14:09:16 +01:00
Zoe
f2a12c7154
satisfy linter 2, now with more self-hatred
2020-04-30 14:06:20 +01:00
Zoe
efac2eac07
satisfy the linter
2020-04-30 12:04:29 +01:00
RiotRobot
f3f6f3e39a
v6.0.0-rc.1
2020-04-30 11:14:04 +01:00
RiotRobot
f905586dbd
Prepare changelog for v6.0.0-rc.1
2020-04-30 11:14:03 +01:00
David Baker
f393cea2c2
Merge pull request #1362 from matrix-org/dbkr/sessions_there_on_login_are_old_rel
...
Add initialFetch param to willUpdateDevices / devicesUpdated
2020-04-29 18:14:13 +01:00
David Baker
e937998b40
Add initialFetch param to willUpdateDevices / devicesUpdated
...
This indicates whether the device database is being populated initially
2020-04-29 17:44:25 +01:00
David Baker
f85ec08886
Merge pull request #1360 from matrix-org/dbkr/sessions_there_on_login_are_old
...
Add initialFetch param to willUpdateDevices / devicesUpdated
2020-04-29 17:42:12 +01:00
J. Ryan Stinnett
7ff68f3844
Merge pull request #1361 from matrix-org/bwindels/fixrequestreadyrace-rc
...
Fix race between sending .request and receiving .ready over to_device
2020-04-29 17:26:11 +01:00
Bruno Windels
04529bd524
add to_device verif request to txnId -> request map before sending
...
so if the .ready event arrives before the request finishes,
it still ends up in the correct VerificationRequest
2020-04-29 18:20:16 +02:00
Bruno Windels
2c681d93d9
Merge pull request #1359 from matrix-org/bwindels/fixrequestreadyrace
...
Fix race between sending .request and receiving .ready over to_device
2020-04-29 16:19:31 +00:00
David Baker
1451fcb040
Add initialFetch param to willUpdateDevices / devicesUpdated
...
This indicates whether the device database is being populated initially
2020-04-29 17:01:50 +01:00
Zoe
4986f3c2ca
docs
2020-04-29 16:55:27 +01:00
Bruno Windels
e9edb85a32
add to_device verif request to txnId -> request map before sending
...
so if the .ready event arrives before the request finishes,
it still ends up in the correct VerificationRequest
2020-04-29 17:51:32 +02:00
J. Ryan Stinnett
dca60ae4ae
Merge pull request #1358 from matrix-org/bwindels/fixwaitforeventrace-rc
...
Handle race between sending and await next event from other party
2020-04-29 15:21:35 +01:00
Bruno Windels
025f964b0b
Merge pull request #1357 from matrix-org/bwindels/fixwaitforeventrace
...
Handle race between sending and await next event from other party
2020-04-29 13:53:35 +00:00
Bruno Windels
ff46a8fa9e
handle race between sending and await next event from other party
2020-04-29 15:52:20 +02:00
Bruno Windels
59412aba51
handle race between sending and await next event from other party
2020-04-29 15:45:51 +02:00
David Baker
a351ee9f76
Merge pull request #1356 from matrix-org/dbkr/another_round_of_toast_rel
...
Add crypto.willUpdateDevices event and make getStoredDevices/getStoredDevicesForUser synchronous
2020-04-29 12:50:00 +01:00
David Baker
a5b14092cd
Make getStoredDevice calls sync
2020-04-29 12:23:03 +01:00
David Baker
90f1de9c3f
Add crypto.willUpdateDevices event and make getStoredDevices/getStoredDevicesForUser synchronous
...
Add an event fired before devices are updated, so apps can monitor
changes in devices by observing the state before and after.
BREAKING CHANGE:
Make getStoredDevices/getStoredDevicesForUser synchronous so they
can safely be called from the event listener without racing with
the data being updated. They didn't do any async work so didn't need
to be async.
Add doc for crypto.devicesUpdated
2020-04-29 12:23:00 +01:00
David Baker
a516f06946
Merge pull request #1354 from matrix-org/dbkr/another_round_of_toast
...
Add crypto.willUpdateDevices event and make getStoredDevices/getStoredDevicesForUser synchronous
2020-04-29 12:09:11 +01:00
David Baker
7c1f3e4519
Make getStoredDevice calls sync
2020-04-29 11:50:18 +01:00
Michael Telatynski
3bb1a6336b
Merge pull request #1350 from matrix-org/t3chguy/redaction_redesign
...
Fix sender of local echo events in unsigned redactions
2020-04-29 11:17:28 +01:00
J. Ryan Stinnett
7dc926596f
Merge pull request #1355 from matrix-org/jryans/rm-extra-key-backup-setup-rc
...
Remove redundant key backup setup path
2020-04-29 09:46:17 +01:00
J. Ryan Stinnett
e775515c38
Remove the other copy instead
2020-04-28 21:34:17 +01:00
J. Ryan Stinnett
c116f2b1bc
Remove redundant key backup setup path
...
Bootstrap was create key backup twice due to some code duplication we missed in
previous refactorings.
Fixes https://github.com/vector-im/riot-web/issues/13423
2020-04-28 21:34:17 +01:00
J. Ryan Stinnett
f24993d6aa
Merge pull request #1353 from matrix-org/jryans/rm-extra-key-backup-setup
...
Remove redundant key backup setup path
2020-04-28 21:33:49 +01:00
David Baker
f053cf1fdb
Add crypto.willUpdateDevices event and make getStoredDevices/getStoredDevicesForUser synchronous
...
Add an event fired before devices are updated, so apps can monitor
changes in devices by observing the state before and after.
BREAKING CHANGE:
Make getStoredDevices/getStoredDevicesForUser synchronous so they
can safely be called from the event listener without racing with
the data being updated. They didn't do any async work so didn't need
to be async.
Add doc for crypto.devicesUpdated
2020-04-28 18:31:04 +01:00
J. Ryan Stinnett
251318eaf0
Remove the other copy instead
2020-04-28 17:20:49 +01:00
J. Ryan Stinnett
a66e7d79ad
Remove redundant key backup setup path
...
Bootstrap was create key backup twice due to some code duplication we missed in
previous refactorings.
Fixes https://github.com/vector-im/riot-web/issues/13423
2020-04-28 16:56:37 +01:00
Zoe
38884083a2
Customize error payload for oversized messages
2020-04-28 16:39:35 +01:00
Zoe
0b1088d9a8
lint
2020-04-28 11:31:41 +01:00
Zoe
875f9ca388
Added a progressCallback for backup key loading
2020-04-28 11:28:39 +01:00
David Baker
25cd1f25f1
Merge pull request #1349 from matrix-org/dbkr/retryDecryption_remove_dead_code
...
Remove some dead code from _retryDecryption
2020-04-28 11:23:53 +01:00
Michael Telatynski
7152ece70a
Fix sender of local echo events in unsigned redactions
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2020-04-27 23:52:22 +01:00
David Baker
896c76ce9d
Merge pull request #1348 from matrix-org/dbkr/keyrequest_wait_sync_process
...
Don't send key requests until after sync processing is finished
2020-04-24 14:38:54 +01:00
David Baker
21d3dd4506
Remove some dead code from _retryDecryption
...
I think this was attempting to remove the events from _pendingEvents
but a) it wasn't and b) it probably shouldn't be because the retry
itself will re-add them when the decryption attempt starts and remove
them if it succeeds.
Also fix what was presumably a c+p fail.
2020-04-24 14:36:42 +01:00
David Baker
300b32c8d7
Let's keep starting the timer for the retries straight away
...
rather than leaving them until next time the queue is sent
2020-04-24 13:16:07 +01:00
David Baker
19e3b35fc7
Fix immediate key request sending
2020-04-24 11:26:48 +01:00
David Baker
320811f9ed
Don't send key requests until after sync processing is finished
...
Key requests wait for a short time (500ms) before being sent as
an attempt to wait for the key to arrive before sending a request
for it, but client startup takes way longer than this so this
would still result in key requests being sent for keys that we'd
fetched but were still waiting to be read out of the sync response
and put into the database.
2020-04-24 11:19:52 +01:00
David Baker
991457496f
Merge pull request #1346 from matrix-org/dbkr/dont_talk_to_ourself
...
Prevent attempts to send olm messages to ourselves
2020-04-23 16:10:36 +01:00
RiotRobot
1cb6134758
v5.3.1-rc.4
2020-04-23 15:41:07 +01:00
RiotRobot
a255b8e450
Prepare changelog for v5.3.1-rc.4
2020-04-23 15:41:07 +01:00
Bruno Windels
324f036b35
Merge pull request #1347 from matrix-org/bwindels/retry4s-rc
...
Retry account data upload requests
2020-04-23 14:33:36 +00:00
Bruno Windels
479a284e10
move fn to http-api and add jsdoc
2020-04-23 16:29:08 +02:00
Bruno Windels
e0660ce01c
log while retrying
2020-04-23 16:29:07 +02:00
Bruno Windels
3a3f6cb7ca
cleanup, return straight away
2020-04-23 16:29:07 +02:00
Bruno Windels
9797e6021b
exclude aborted requests and matrix errors when creating connectionerror
...
- throw an AbortError when aborting is detected
- don't turn AbortError's into a ConnectionError
- also consider the string "aborted" an AbortError for unit tests
- unit tests like to reject the request with a MatrixError,
so exclude those too
2020-04-23 16:29:07 +02:00
Bruno Windels
a9212d33b1
retry PUT account data requests
2020-04-23 16:29:07 +02:00
Bruno Windels
d32d3fd864
retry util function
2020-04-23 16:29:07 +02:00
Bruno Windels
a19cdd06cf
throw ConnectionError when request fails
2020-04-23 16:29:07 +02:00
Bruno Windels
f4d0f89fda
cleanup: use class for MatrixError
...
this way we get stacktraces as well
2020-04-23 16:29:07 +02:00
Bruno Windels
ca34cb951e
Merge pull request #1345 from matrix-org/bwindels/retry4s
...
Retry account data upload requests
2020-04-23 14:28:31 +00:00
David Baker
4c2d1b0385
typo
...
Co-Authored-By: J. Ryan Stinnett <jryans@gmail.com >
2020-04-23 14:40:17 +01:00
Bruno Windels
6b4fefc123
move fn to http-api and add jsdoc
2020-04-23 15:32:40 +02:00
Bruno Windels
86913dccb0
log while retrying
2020-04-23 15:25:10 +02:00
Bruno Windels
30101a4428
cleanup, return straight away
2020-04-23 15:22:46 +02:00
Bruno Windels
668e8f6f24
exclude aborted requests and matrix errors when creating connectionerror
...
- throw an AbortError when aborting is detected
- don't turn AbortError's into a ConnectionError
- also consider the string "aborted" an AbortError for unit tests
- unit tests like to reject the request with a MatrixError,
so exclude those too
2020-04-23 15:18:52 +02:00
David Baker
2f51e206c7
Prevent attempts to send olm messages to ourselves
...
The cause of this I've seen is us sending keyshare reqiests when
we didn't have keys but them arriving when we do, and us replying to
ourseles with keys, so exclude that explicity.
Also catch this lower down to catch any other code paths that
mistaklenly try this. Hopefully the comment explains enough as to why
it won't work.
2020-04-23 13:36:54 +01:00
Bruno Windels
78b8b36a87
retry PUT account data requests
2020-04-23 13:37:56 +02:00
Bruno Windels
af3ef86d19
retry util function
2020-04-23 13:37:33 +02:00
Bruno Windels
50febaf477
throw ConnectionError when request fails
2020-04-23 13:37:10 +02:00
Bruno Windels
907f317b04
cleanup: use class for MatrixError
...
this way we get stacktraces as well
2020-04-23 13:36:40 +02:00
David Baker
6edb78d015
Merge pull request #1344 from matrix-org/dbkr/log_megolm_session_first_index
...
Log first known index with megolm session updates
2020-04-23 12:30:48 +01:00
David Baker
b58846ab6e
Log first known index with megolm session updates
...
Move the logging lower to a point where we know the first index.
2020-04-23 11:43:22 +01:00
David Baker
32233a2c7b
Merge pull request #1343 from matrix-org/dbkr/prune_todevice_messages
...
Prune to_device messages to avoid sending empty messages
2020-04-22 13:54:29 +01:00
David Baker
8b2752441d
Prune to_device messages to avoid sending empty messages
...
Fixes https://github.com/vector-im/riot-web/issues/13322
2020-04-22 13:48:57 +01:00
Michael Telatynski
e6af29df94
Merge pull request #1335 from matrix-org/t3chguy/ts1
...
Convert bunch of things to TypeScript
2020-04-22 10:26:53 +01:00
David Baker
4ae5404fe4
Merge pull request #1342 from matrix-org/dbkr/log_new_olm_sessions
...
Add logging when making new Olm sessions
2020-04-22 09:47:44 +01:00
David Baker
7f0bdc8ddb
Add logging when making new Olm sessions
2020-04-21 18:31:36 +01:00
Bruno Windels
39836f115b
Merge pull request #1341 from matrix-org/bwindels/fixfilterlookup-rc
...
Fix: handle filter not found
2020-04-21 14:15:03 +00:00
Bruno Windels
4a699fe6a7
Merge pull request #1340 from matrix-org/bwindels/fixfilterlookup
...
Fix: handle filter not found
2020-04-21 14:13:33 +00:00
David Baker
7cc61a887c
Merge pull request #1339 from matrix-org/dbkr/getAccountDataFromServer_404_rel
...
Make getAccountDataFromServer return null if not found
2020-04-21 15:10:20 +01:00
David Baker
8f73f1ed3c
Merge pull request #1338 from matrix-org/dbkr/getAccountDataFromServer_404
...
Make getAccountDataFromServer return null if not found
2020-04-21 15:10:13 +01:00
Bruno Windels
67fb027d39
filter out invalid filter id values like 'undefined'
...
this way we don't attempt to fetch filters when validating them
with filterId==="undefined"
2020-04-21 16:00:45 +02:00
Bruno Windels
c6b61ea0ea
Fix unknown filters returning 400 rather than 404
...
This made getFilter in sync retrying continuously
I also refactored getOrCreateFilter to use await
2020-04-21 16:00:45 +02:00
Bruno Windels
32841234a7
filter out invalid filter id values like 'undefined'
...
this way we don't attempt to fetch filters when validating them
with filterId==="undefined"
2020-04-21 15:56:39 +02:00
Bruno Windels
6f6520ed0f
Fix unknown filters returning 400 rather than 404
...
This made getFilter in sync retrying continuously
I also refactored getOrCreateFilter to use await
2020-04-21 15:54:50 +02:00
David Baker
b3860f3754
Make getAccountDataFromServer return null if not found
...
Callers assume that if the account data isn't there, the method will
return null rather than throw an exception. This meant that this only
actually worked in these cases when the sync had completed and it was
using the locally stored account data, so this ceased to be a
problem in practice when we made it wait for the initial sync to finish
before entering the security setup flow.
Fixes https://github.com/vector-im/riot-web/issues/13169
2020-04-21 14:32:26 +01:00
David Baker
0958917317
Make getAccountDataFromServer return null if not found
...
Callers assume that if the account data isn't there, the method will
return null rather than throw an exception. This meant that this only
actually worked in these cases when the sync had completed and it was
using the locally stored account data, so this ceased to be a
problem in practice when we made it wait for the initial sync to finish
before entering the security setup flow.
Fixes https://github.com/vector-im/riot-web/issues/13169
2020-04-21 14:28:10 +01:00
David Baker
f42fa7e791
Merge pull request #1337 from matrix-org/dbkr/setdefaultkey_fail_rel
...
Fix setDefaultKeyId to fail if the request fails
2020-04-21 14:21:42 +01:00
David Baker
7022d1f3bf
Merge pull request #1336 from matrix-org/dbkr/setdefaultkey_fail
...
Fix setDefaultKeyId to fail if the request fails
2020-04-21 14:21:35 +01:00
David Baker
b592c41f96
Fix setDefaultKeyId to fail if the request fails
...
It returned only when the echo came down the sync stream, but we
forgot to make it fail if the reuqest failed and it would just
never return in this case.
Fixes https://github.com/vector-im/riot-web/issues/13162
2020-04-21 13:52:48 +01:00
David Baker
62188571d7
Fix setDefaultKeyId to fail if the request fails
...
It returned only when the echo came down the sync stream, but we
forgot to make it fail if the reuqest failed and it would just
never return in this case.
Fixes https://github.com/vector-im/riot-web/issues/13162
2020-04-21 13:50:21 +01:00
Michael Telatynski
8cca3392f6
fix localStorage type
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2020-04-21 12:03:25 +01:00
Michael Telatynski
7082516664
Improve ts types and enable esModuleInterop
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2020-04-21 11:55:56 +01:00
Michael Telatynski
77a1fc9e60
Convert bunch of things to TypeScript
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2020-04-21 11:45:54 +01:00
Travis Ralston
e2b1dd6532
Merge pull request #1328 from MichaelKohler/issue905-setRoomEncryption-doc
...
Document setRoomEncryption not modifying room state
2020-04-21 00:30:14 -06:00
Bruno Windels
7b7fdb0a65
Merge pull request #1333 from matrix-org/bwindels/onlyonefilterplease-rc
...
Fix: don't do extra /filter request when enabling lazy loading of members
2020-04-20 16:36:26 +00:00
Bruno Windels
414279f644
Merge pull request #1332 from matrix-org/bwindels/onlyonefilterplease
...
Fix: don't do extra /filter request when enabling lazy loading of members
2020-04-20 16:24:52 +00:00
Bruno Windels
be91c8580d
rename build function
2020-04-20 18:22:30 +02:00
Bruno Windels
befaa782f6
when enabling LL, set the flag on Filter, rather than doing /filter
2020-04-20 18:22:30 +02:00
Bruno Windels
8e29dae36a
rename build function
2020-04-20 18:06:10 +02:00
Bruno Windels
d2438d10a6
when enabling LL, set the flag on Filter, rather than doing /filter
2020-04-20 17:26:19 +02:00
David Baker
b3752bb2c6
Merge pull request #1331 from matrix-org/dbkr/fix_reject_no_auth_flow_found_rel
...
Reject attemptAuth promise if no auth flow found
2020-04-20 13:38:49 +01:00
Michael Kohler
02e145b0de
Reject attemptAuth promise if no auth flow found
2020-04-20 13:34:18 +01:00
David Baker
0fcf8777a1
Merge pull request #1329 from MichaelKohler/fix-reject-no-auth-flow-found
...
Reject attemptAuth promise if no auth flow found
2020-04-20 13:06:44 +01:00
J. Ryan Stinnett
26cae5543b
Merge pull request #1330 from matrix-org/dbkr/serialise_prekey_decryptions_rel
...
Serialise Olm prekey decryptions
2020-04-20 10:14:24 +01:00
David Baker
b0573dec77
Add a catch so the error doesn't propagate to later decryptions
2020-04-20 10:08:13 +01:00
David Baker
c5f4e762e5
Serialise Olm prekey decryptions
...
If they overlap, they can both try to create new sessions, but this
removes the OTK so it will only work once.
Fixes https://github.com/vector-im/riot-web/issues/13229
2020-04-20 10:08:07 +01:00
Michael Kohler
f4c08477d0
Reject attemptAuth promise if no auth flow found
2020-04-19 14:04:10 +02:00
Michael Kohler
4342ee6d4a
Document setRoomEncrption not modifying room state ( fixes #905 )
2020-04-18 19:49:05 +02:00
Michael Telatynski
7b73561923
Merge pull request #1327 from nchamo/fix-filter-component-check
...
Fix FilterComponent allowed_values check
2020-04-18 14:45:31 +01:00
Nicolas Chamo
87c0cf233c
Update src/filter-component.js
...
Co-Authored-By: Michael Telatynski <7t3chguy@googlemail.com >
2020-04-17 23:59:38 -03:00
Nicolas Chamo
145cd7894b
More lint fixes
2020-04-17 19:56:32 -03:00
Nicolas Chamo
6cf8a76c29
linting
2020-04-17 19:50:15 -03:00
nchamo
7ea09ebe4a
Add fix and test
...
Signed-off-by: Nicolas Chamo <nicolas@chamo.com.ar >
2020-04-17 19:37:33 -03:00
David Baker
1dcb16365b
Merge pull request #1326 from matrix-org/dbkr/serialise_prekey_decryptions
...
Serialise Olm prekey decryptions
2020-04-17 18:07:24 +01:00
David Baker
83b33d9d7a
Add a catch so the error doesn't propagate to later decryptions
2020-04-17 18:03:15 +01:00
David Baker
83879fa945
Serialise Olm prekey decryptions
...
If they overlap, they can both try to create new sessions, but this
removes the OTK so it will only work once.
Fixes https://github.com/vector-im/riot-web/issues/13229
2020-04-17 17:47:46 +01:00
RiotRobot
c3903f2796
v5.3.1-rc.3
2020-04-17 17:35:49 +01:00
RiotRobot
18564553ad
Prepare changelog for v5.3.1-rc.3
2020-04-17 17:35:48 +01:00
J. Ryan Stinnett
fe3e87a9d6
Merge pull request #1323 from matrix-org/dbkr/fix_ssss_reset_rel
...
Fix cross-signing/SSSS reset
2020-04-17 13:42:47 +01:00
Bruno Windels
78c734d2e9
Merge pull request #1325 from matrix-org/bwindels/fixkeybackupcrash-rc
...
Fix: crash when backup key needs fixing from corruption issue
2020-04-17 12:23:08 +00:00
Bruno Windels
5afa16d454
method is on crypto
2020-04-17 14:19:55 +02:00
Bruno Windels
57233416d9
Merge pull request #1324 from matrix-org/bwindels/fixkeybackupcrash
...
Fix: crash when backup key needs fixing from corruption issue
2020-04-17 12:11:07 +00:00
Bruno Windels
f56ce29210
method is on crypto
2020-04-17 13:51:12 +02:00
David Baker
149f59e9be
lint
2020-04-16 20:42:00 +01:00
David Baker
761892d6b1
Fix cross-signing/SSSS reset
...
We re-used the old SSSS key even when resetting, meaning we prompted
the user to create a new passphrase but then ignored it and kept using
the old one.
Fixes https://github.com/vector-im/riot-web/issues/13212
2020-04-16 20:41:55 +01:00
David Baker
4b639d5f9a
Merge pull request #1322 from matrix-org/dbkr/fix_ssss_reset
...
Fix cross-signing/SSSS reset
2020-04-16 20:38:47 +01:00
David Baker
da8ed77aae
lint
2020-04-16 20:18:27 +01:00
David Baker
12f46909f7
Fix cross-signing/SSSS reset
...
We re-used the old SSSS key even when resetting, meaning we prompted
the user to create a new passphrase but then ignored it and kept using
the old one.
Fixes https://github.com/vector-im/riot-web/issues/13212
2020-04-16 20:13:18 +01:00
RiotRobot
faf18b1996
v5.3.1-rc.2
2020-04-16 18:39:06 +01:00
RiotRobot
218deddd00
Prepare changelog for v5.3.1-rc.2
2020-04-16 18:39:06 +01:00
Bruno Windels
d6fe650c4c
Merge pull request #1321 from matrix-org/bwindels/untrustedqrcodereciprocate-rc
...
Implement QR code reciprocate for self-verification with untrusted MSK
2020-04-16 12:38:04 +00:00
Bruno Windels
919189db1a
Merge pull request #1320 from matrix-org/bwindels/untrustedqrcodereciprocate
...
Implement QR code reciprocate for self-verification with untrusted MSK
2020-04-16 12:34:46 +00:00
Bruno Windels
951191d99a
update comments
2020-04-16 14:31:44 +02:00
Bruno Windels
f814a96eac
update comments
2020-04-16 14:30:51 +02:00
Bruno Windels
2654f4bf0f
implement qr code reciprocate for self-verif with untrusted MSK
2020-04-16 13:26:56 +02:00
Bruno Windels
218aa423c3
implement qr code reciprocate for self-verif with untrusted MSK
2020-04-16 13:01:46 +02:00
RiotRobot
195f3a7550
v5.3.1-rc.1
2020-04-15 19:05:12 +01:00
RiotRobot
1c9343ed8f
Prepare changelog for v5.3.1-rc.1
2020-04-15 19:05:11 +01:00
RiotRobot
5c7d9981f8
Merge branch 'release-v5.3.0' into release-v5.3.1
2020-04-15 19:02:40 +01:00
J. Ryan Stinnett
63bc17a6b4
Merge pull request #1319 from matrix-org/jryans/release-script
...
Adapt release script for riot-desktop
2020-04-15 18:26:04 +01:00
J. Ryan Stinnett
629490c4ae
Adapt release script for riot-desktop
...
This allows the bulk of the release script to be used for riot-desktop, while
skipping the NPM and develop branch parts that do not apply.
Part of https://github.com/vector-im/riot-web/issues/13176
2020-04-15 18:10:46 +01:00
Bruno Windels
d59d62f96a
Merge pull request #1318 from matrix-org/bwindels/fixindexernotifs
...
Fix: prevent spurious notifications from indexer
2020-04-15 16:50:18 +00:00
Bruno Windels
8a460c2368
fix jsdoc
2020-04-15 18:33:55 +02:00
Bruno Windels
6f60183316
allow creating event mappers that map events whose events are not reemitted
2020-04-15 17:08:25 +02:00
J. Ryan Stinnett
a21c62519b
Merge pull request #1317 from matrix-org/jryans/gen-user-obj
...
Always create our own user object
2020-04-14 16:19:45 +01:00
J. Ryan Stinnett
1b8f6d1739
Always create our own user object
...
This ensures our own user object is always available for tasks like
verification, even if you aren't in any rooms.
Fixes https://github.com/vector-im/riot-web/issues/13165
2020-04-14 16:02:00 +01:00
Hubert Chathi
e087bce61a
Merge pull request #1311 from matrix-org/uhoreg/fix_backup_key_format
...
Fix incorrect backup key format in SSSS
2020-04-13 17:38:45 -04:00
Hubert Chathi
d2f24c3e87
cut long line to appease lint
2020-04-13 17:03:17 -04:00
Hubert Chathi
5d606bba66
add test for passthrough on backups
2020-04-13 16:54:02 -04:00
Hubert Chathi
864fe459b7
improve readability of tests
2020-04-13 16:27:46 -04:00
Marcel
ea8362ed63
Keep the null in authData if this is the first stage.
2020-04-10 19:32:50 +02:00
Marcel
3a1508c2ab
Fix "should make a request if no authdata is provided" test
2020-04-10 19:15:21 +02:00
Marcel
f914391aaf
Revert hack to set auth = null
2020-04-10 18:31:35 +02:00
Bruno Windels
8992438aa6
Merge pull request #1315 from matrix-org/bwindels/fixe2eecrash
...
Fix e2ee crash after refreshing after having received a cross-singing key reset
2020-04-10 10:20:20 +00:00
Bruno Windels
197d5ebb44
fix e2ee crash after refreshing after cross-singing key reset
2020-04-10 10:37:12 +02:00
Hubert Chathi
4039498eee
use cached backup key if available
2020-04-09 17:05:01 -04:00
Bruno Windels
a686231a5b
Merge pull request #1314 from matrix-org/bwindels/catchverifysenderrors
...
Fix: catch send errors in SAS verifier
2020-04-09 16:32:09 +00:00
Bruno Windels
97cf4bff1f
fix tests
2020-04-09 18:21:20 +02:00
Bruno Windels
cc8e8434ec
Update src/crypto/SecretStorage.js
...
Co-Authored-By: J. Ryan Stinnett <jryans@gmail.com >
2020-04-09 15:58:43 +00:00
Bruno Windels
11727833a2
mark request as cancelled immediately after verifier is cancelled
...
in case send errors prevent us from receiving remote echo
2020-04-09 17:54:45 +02:00
Hubert Chathi
df38fde336
apply changes from code review
2020-04-09 11:48:58 -04:00
Bruno Windels
00233d610b
pass on send errors so request gets cancelled
2020-04-09 17:23:44 +02:00
Bruno Windels
1b94b3c4de
throw something more informative when we cant find a key to decrypt with
2020-04-09 16:00:08 +02:00
Bruno Windels
d1c9030fac
Merge pull request #1312 from matrix-org/bwindels/fixresetkeys
...
Clear cross-signing keys when detecting the keys have changed
2020-04-09 13:34:26 +00:00
Bruno Windels
70071eef41
also emit user trust has changed
2020-04-09 14:09:51 +02:00
Bruno Windels
65dd56f53a
remove obsolete comment
2020-04-09 13:27:13 +02:00
Bruno Windels
c8fb4af369
fix comment style
2020-04-09 13:13:17 +02:00
Bruno Windels
9e1ba992e3
Clear cross-signing keys when detecting the keys have changed
2020-04-09 12:24:29 +02:00
J. Ryan Stinnett
bad09fed44
Merge pull request #1310 from matrix-org/jryans/upgrade-2020-04-08
...
Upgrade deps
2020-04-09 10:19:09 +01:00
Hubert Chathi
5bd146bb85
lint
2020-04-09 00:21:31 -04:00
Hubert Chathi
75703f273f
fix unit tests
2020-04-09 00:18:21 -04:00
Hubert Chathi
ca7b49d209
fix incorrect backup key format in SSSS
2020-04-09 00:08:17 -04:00
Marcel
379322db0d
Revert setting authDict = null by default
...
Remove console.log
Revert null checks on this._data
2020-04-08 20:50:59 +02:00
J. Ryan Stinnett
30bce8a682
yarn upgrade
2020-04-08 14:41:36 +01:00
RiotRobot
f413f0ee5f
v5.3.0-rc.1
2020-04-08 13:46:11 +01:00
RiotRobot
be6778a931
Prepare changelog for v5.3.0-rc.1
2020-04-08 13:46:10 +01:00
J. Ryan Stinnett
84637c6ebd
Merge pull request #1308 from matrix-org/jryans/backup-key-cache-format
...
Store key backup key in cache as Uint8Array
2020-04-08 11:32:18 +01:00
J. Ryan Stinnett
2ed6e9ba2f
Convert recovery key to Uint8Array explicitly
2020-04-08 00:43:52 +01:00
J. Ryan Stinnett
2e3cb54d38
Restore redundant conversion for tests
2020-04-07 19:21:25 +01:00
J. Ryan Stinnett
0efac7eae0
Store key backup key in cache as Uint8Array
...
Bootstrap was incorrectly storing the key backup key as base64 encoded, when
instead it should be a uint8Array.
Fixes https://github.com/vector-im/riot-web/issues/13057
2020-04-07 18:28:48 +01:00
J. Ryan Stinnett
dc56f05d03
Throw error when trying to cache keys in the wrong format
2020-04-07 18:06:57 +01:00
Hubert Chathi
4d2625278c
Merge pull request #1307 from MTRNord/fix-keys_query_endpoint
...
Use the correct request body for the /keys/query endpoint.
2020-04-07 12:01:06 -04:00
Marcel
bff8a947a1
Fix expectBobQueryKeys test
2020-04-07 16:53:28 +02:00
Marcel
9cb7406ebd
Fix downloadKeys test
2020-04-07 16:44:30 +02:00
Marcel
38681ca6ca
Fix expectAliQueryKeys test
2020-04-07 16:31:15 +02:00
Marcel
916696c906
Fix expectKeyQuery test
2020-04-07 16:19:46 +02:00
Marcel
1b3c4c935e
Use the correct request body for the /keys/query endpoint.
...
https://matrix.org/docs/spec/client_server/r0.6.0#post-matrix-client-r0-keys-query
2020-04-07 14:08:49 +02:00
Marcel
bf6d1f6555
Fix interactive-auth.js lint
2020-04-07 13:26:27 +02:00
Marcel
9faeac4c83
Merge branch 'develop' into fix-register-auth-with-new-spec
2020-04-07 13:15:51 +02:00
Marcel
a863cf3d72
Fix auth linter error and tests
2020-04-07 13:13:49 +02:00
David Baker
66417e6742
Merge pull request #1305 from matrix-org/dbkr/uia_ignore_poll_after_success
...
Avoid creating two devices on registration
2020-04-07 10:32:08 +01:00
David Baker
6ad4d6dd62
also fix typo
2020-04-07 10:21:57 +01:00
David Baker
59607f8dbf
Clear resolve / reject function after rejecting too
2020-04-07 10:20:58 +01:00
David Baker
62380a48d5
Merge pull request #1306 from matrix-org/dbkr/max_warnings_81
...
Lower max-warnings to 81
2020-04-07 10:19:45 +01:00
David Baker
4245372495
Lower max-warnings to 81
...
We apparently fixed 11 warnings at some point. Let's keep it that way.
2020-04-07 10:06:23 +01:00
David Baker
964a448470
Avoid creating two devices on registration
...
Ignore poll requests after a UIA session has finished. Sometimes
the app calls poll() even after the registration has succeeded
which causes the API call to happen again which, in the case of
registration, creates a phantom device.
Fixes https://github.com/vector-im/riot-web/issues/13040
2020-04-06 19:45:18 +01:00
J. Ryan Stinnett
2151f28d4c
Merge pull request #1303 from matrix-org/jryans/backup-key-not-cached
...
Move key backup key creation before caching
2020-04-06 18:41:58 +01:00
Marcel
45a92bcf9c
Fix auth check as auth == {} not works
2020-04-06 17:30:32 +02:00
Marcel
0a0441756b
Fix auth check
2020-04-06 17:23:24 +02:00
Marcel
c1de2ebbf9
Fix authdata to only be null if nothing had been added.
2020-04-06 17:14:43 +02:00
J. Ryan Stinnett
060549656e
Move key backup key creation before caching
...
For some reason, we were trying to cache the key backup key before it was
created, and as a result we wouldn't cache the key until perhaps a second time
through bootstrapping.
Fixes https://github.com/vector-im/riot-web/issues/13023
2020-04-06 16:03:24 +01:00
Marcel
557c2db955
Handle Error during user-interactive auth: TypeError: "this._data is null"
2020-04-06 15:37:52 +02:00
Marcel
ed8d064a13
Replace {} with null to be compliant with newer specs. While older also accepted null for the auth part of the registration request object
2020-04-06 15:22:04 +02:00
Zoe
7dabf507a2
Merge pull request #1298 from matrix-org/foldleft/12843-resend-requests
...
Expose function to force-reset outgoing room key requests
2020-04-06 13:43:06 +01:00
Zoe
d69afa47a1
review feedback
2020-04-06 13:30:36 +01:00
Bruno Windels
275a8175aa
Merge pull request #1302 from matrix-org/bwindels/selfverifux
...
Add isSelfVerification property to VerificationRequest
2020-04-03 16:02:05 +00:00
Bruno Windels
40bebf4cbd
Merge pull request #1297 from matrix-org/bwindels/qr-reciprocate
...
QR code reciprocation
2020-04-03 12:28:34 +00:00
Zoe
b8bc323c03
add a crypto-level function for resending key requests
2020-04-03 11:47:13 +01:00
Zoe
c6d32ea2b0
Expose function to force-reset outgoing room key requests
2020-04-02 16:25:50 +01:00
Bruno Windels
2ace35ad6b
add isSelfVerification helper
2020-04-02 17:16:06 +02:00
Bruno Windels
b5ea8d3a78
Merge branch 'bwindels/qr-reciprocate' into bwindels/selfverifux
2020-04-02 17:15:32 +02:00
Bruno Windels
f3a05f6ed0
fix jsdoc
2020-04-02 13:37:15 +02:00
Bruno Windels
43eae4929b
remove ts annotations as I don't want to convert the whole file now
2020-04-02 13:31:17 +02:00
Bruno Windels
6144962c24
cancel with m.user code when user doesn't reciprocate
2020-04-02 12:53:52 +02:00
Bruno Windels
544cc36006
explain a bit why we're doing things here
2020-04-02 11:31:44 +02:00
Hubert Chathi
1834e6688f
Merge pull request #1294 from matrix-org/uhoreg/check_sssss_passphrase
...
Add ability to check symmetric SSSS key before we try to use it
2020-04-01 16:01:34 -04:00
David Baker
e1ee56aa43
Merge pull request #1296 from matrix-org/dbkr/debug_stuck_events
...
Add some debug logging for events stuck to bottom of timeline
2020-04-01 18:54:52 +01:00
David Baker
a1779719be
Add some debug logging for events stuck to bottom of timeline
2020-04-01 18:48:59 +01:00
Bruno Windels
0e464af627
Merge pull request #1295 from matrix-org/bwindels/fixdoublerequestexplosion
...
Fix: spontanous verification request cancellation under some circumstances
2020-04-01 17:17:24 +00:00
Bruno Windels
fd7f0c3b5a
Ignore phase while checking if other party supports scanning
...
(as the phase hasn't been set yet)
Also, set the qrCodeData in handleEvent as we need it to be async
2020-04-01 19:01:53 +02:00
Bruno Windels
ed210a4fb1
Use static constructor that can be async (as looking up device is async)
...
Also fix static methods not to use this
2020-04-01 19:00:57 +02:00
Bruno Windels
c2a0504980
update comments
2020-04-01 18:23:34 +02:00
Bruno Windels
b6708871d3
fix olmlib import
2020-04-01 18:23:34 +02:00
Bruno Windels
275ea6aacb
spec recommends 11 random bytes for shared secret
2020-04-01 18:23:34 +02:00
Bruno Windels
f97d413603
expose chosen method after request has started
...
so we can show a different ux now that it's not just SAS anymore,
but also reciprocate
2020-04-01 18:23:34 +02:00
Bruno Windels
2c7ea0606b
move shared secret to QRCodeData
2020-04-01 18:23:34 +02:00
Bruno Windels
d7a7100912
reuse keys from qr code data to sign
...
so we don't sign the wrong keys if a malicious HS admin
forged a cross-sign identity reset
2020-04-01 18:23:34 +02:00
Bruno Windels
2c54b8d77e
ask the user if the other user scanned the QR code
2020-04-01 18:23:34 +02:00
Bruno Windels
b30f278e03
checking the userid isn't a thing anymore AFAIK
2020-04-01 18:23:34 +02:00
Bruno Windels
b642030a34
keep a copy of the master/device key and mode, for use in reciprocate
2020-04-01 18:23:34 +02:00
Bruno Windels
725976d472
Add QR code buffer generation to VerificationRequest (from react-sdk)
...
Doing this so later we can keep the other user master signing key on it
so we can make sure we cross-sign that one once we decide to sign.
2020-04-01 18:23:34 +02:00
Bruno Windels
80d87e1bf1
prevent the same event being handled twice in the verification request, result in cancellation
2020-04-01 17:13:24 +02:00
Hubert Chathi
d01f527e71
only try to set keyInfo if it exists
2020-03-31 16:54:06 -04:00
Hubert Chathi
3e68c82171
apply changes from code review
2020-03-31 16:34:41 -04:00
Hubert Chathi
51bde23207
Merge branch 'develop' into uhoreg/check_sssss_passphrase
2020-03-31 10:41:39 -04:00
J. Ryan Stinnett
934ed37fdc
Merge pull request #1293 from matrix-org/jryans/4s-prompt-overload
...
Receive private key for caching from the app layer
2020-03-31 11:04:51 +01:00
J. Ryan Stinnett
4a965f5408
Convert secret storage key creation to object
2020-03-31 10:45:02 +01:00
J. Ryan Stinnett
6343da33c3
Merge pull request #1292 from matrix-org/jryans/id-change-red
...
Track whether we have verified a user before
2020-03-31 10:07:20 +01:00
Hubert Chathi
e6edee863f
add ability to check symmetric SSSS key before we try to use it
2020-03-30 17:25:03 -04:00
J. Ryan Stinnett
9a1d62438d
Receive private key for caching from the app layer
...
This passes through the new secret storage key as well as the key info so that
bootstrap can use it immediately without triggering an immediate prompt.
Part of https://github.com/vector-im/riot-web/issues/12867
2020-03-30 21:46:22 +01:00
J. Ryan Stinnett
d2ba3039c7
Add missing awaits in bootstrap path
2020-03-30 21:46:22 +01:00
J. Ryan Stinnett
b6ad4c10bc
Track whether we have verified a user before
...
This tracks whether we have ever cross-signing verified a user before (at least
as far as the current device has ever observed). This info helps to present an
alert in case the user subsequently becomes unverified.
Part of https://github.com/vector-im/riot-web/issues/12808
2020-03-30 14:51:49 +01:00
J. Ryan Stinnett
93954d314e
Remove unused variable in device list
2020-03-30 14:51:49 +01:00
J. Ryan Stinnett
282f85f1dd
Add missing await when changing key IDs
2020-03-30 14:51:49 +01:00
RiotRobot
223d37ffce
Merge branch 'master' into develop
2020-03-30 13:23:17 +01:00
RiotRobot
3d20388ca0
v5.2.0
2020-03-30 13:20:20 +01:00
RiotRobot
198c9d934e
Prepare changelog for v5.2.0
2020-03-30 13:20:20 +01:00
J. Ryan Stinnett
d43005d91e
Merge pull request #1290 from matrix-org/dbkr/send_is_verified_rel
...
Fix isVerified returning false
2020-03-30 10:28:51 +01:00
Bruno Windels
02264b4572
Merge pull request #1222 from matrix-org/bwindels/fixtestfailure
...
Fix: error during tests
2020-03-30 08:36:15 +00:00
Bruno Windels
add652f18e
Merge pull request #1288 from matrix-org/bwindels/alwayssenddone
...
Send .done event for to_device verification
2020-03-27 16:30:28 +00:00
David Baker
1b9146b9e7
Merge pull request #1291 from matrix-org/dbkr/request_key_backup_key
...
Request the key backup key & restore backup
2020-03-27 15:43:16 +00:00
J. Ryan Stinnett
5178819b51
Merge pull request #1276 from mjattiot/hotfix/screen_sharing
...
Make screen sharing works on Chrome using getDisplayMedia()
2020-03-27 15:40:53 +00:00
David Baker
f57c25ec27
Make test pass again
2020-03-27 15:13:46 +00:00
David Baker
794429b68b
Request the key backup key & restore backup
...
After a successful verification with ourselves, request the key
backup key too and restore a key backup if we get it.
Also cache the key backup key when we cache the SSK & USK so we have
it available to share.
Fixes https://github.com/vector-im/riot-web/issues/12704
2020-03-27 14:40:15 +00:00
David Baker
983a04bb00
Merge pull request #1289 from matrix-org/dbkr/send_is_verified
...
Fix isVerified returning false
2020-03-27 14:28:47 +00:00
David Baker
adbef16b9d
Also pass the parameter in
2020-03-27 14:26:58 +00:00
David Baker
157ea49328
Fix isVerified returning false
...
which would cause key backups uploads to be missing is_verified
because it was set to `undefined` which would cause the backup to
fail
Fixes https://github.com/vector-im/riot-web/issues/12901
2020-03-27 14:26:53 +00:00
David Baker
17386e7aae
Also pass the parameter in
2020-03-27 14:14:45 +00:00
David Baker
cb19cd673f
Fix isVerified returning false
...
which would cause key backups uploads to be missing is_verified
because it was set to `undefined` which would cause the backup to
fail
Fixes https://github.com/vector-im/riot-web/issues/12901
2020-03-27 14:11:32 +00:00
Bruno Windels
4f0a297cf3
remove obsolete comment
2020-03-27 12:08:43 +01:00
Bruno Windels
6553e331cd
also send .done event for to_device verification
2020-03-27 12:04:48 +01:00
Bruno Windels
21908aea6c
Merge pull request #1286 from matrix-org/bwindels/verifignoredupes
...
Fix: verification gets cancelled when event gets duplicated
2020-03-26 17:07:09 +00:00
David Baker
7c40798ee0
Merge pull request #1287 from matrix-org/dbkr/secret_request_front_door
...
Use requestSecret on the client to request secrets
2020-03-26 16:16:02 +00:00
David Baker
8cdc635cad
lint and aldo indent in a more traditional way
2020-03-26 16:12:11 +00:00
David Baker
7f5ac072e6
Use requestSecret on the client to request secrets
...
Rather than accessing private method to get the secret storage
object (this was a bit confusing when I grepped for 'requestSecret'
and didn't find anything).
2020-03-26 16:01:35 +00:00
Travis Ralston
d69af72c7a
Merge pull request #1277 from Awesome-Technologies/develop
...
Allow guests to fetch TURN servers
2020-03-26 09:33:41 -06:00
Bruno Windels
ece1e202de
indenting
2020-03-26 15:04:28 +01:00
Bruno Windels
91f38a362d
ignore duplicate verification events
2020-03-26 15:04:13 +01:00
RiotRobot
5a3cc314be
v5.2.0-rc.1
2020-03-26 12:55:17 +00:00
RiotRobot
3dfaafd177
Prepare changelog for v5.2.0-rc.1
2020-03-26 12:55:16 +00:00
David Baker
bdba61975b
Merge pull request #1285 from matrix-org/dbkr/trust_cross_signing_flag
...
Add a flag for whether cross signing signatures are trusted
2020-03-26 12:19:08 +00:00
David Baker
3b9023ec2b
add comment
2020-03-26 12:04:16 +00:00
David Baker
4dfc7958b6
lint
2020-03-26 10:07:17 +00:00
David Baker
2fad318726
Make the flag only affect trust of other people's devices
2020-03-26 09:58:05 +00:00
David Baker
480b0e64a6
lint
2020-03-25 18:44:55 +00:00
David Baker
6ec7b5d404
Add a flag for whether cross signing signatures are trusted
2020-03-25 18:36:08 +00:00
J. Ryan Stinnett
0781d78da8
Merge pull request #1282 from matrix-org/jryans/robust-secret-share
...
Cache user and self signing keys during bootstrap
2020-03-25 17:50:58 +00:00
Zoe
513a256ec1
Merge pull request #1283 from matrix-org/foldleft/remove-extra-promise
...
remove unnecessary promise
2020-03-25 12:52:42 +00:00
Zoe
9372790666
remove unnecessary promise
2020-03-25 11:47:59 +00:00
J. Ryan Stinnett
a6532b7881
Fix logging lints
2020-03-24 18:34:05 +00:00
J. Ryan Stinnett
cea3582ed1
Always attempt caching via bootstrap
2020-03-24 18:28:31 +00:00
J. Ryan Stinnett
6bd22a3e9c
Add logging to secret request side
2020-03-24 17:44:44 +00:00
J. Ryan Stinnett
7b93b99054
Cache USK and SSK private key during bootstrap
2020-03-24 17:35:59 +00:00
Michael Albert
c6eb1525b5
Allow guests to fetch TURN servers
...
Signed-off-by: Michael Albert <michael.albert@awesome-technologies.de >
2020-03-24 18:04:26 +01:00
J. Ryan Stinnett
a4b8ba0bb3
Add logging when replying to secret requests
2020-03-24 15:51:35 +00:00
Zoe
02216b15e5
Merge pull request #1281 from matrix-org/foldleft/12704-key-requests
...
Functions to cache session backups key automatically
2020-03-24 15:32:09 +00:00
David Baker
42efdf1e0a
Merge pull request #1279 from matrix-org/dbkr/unify_cross_signing_checks
...
Add function for checking cross-signing is ready
2020-03-24 13:34:19 +00:00
David Baker
465f9e634e
Merge pull request #1272 from matrix-org/dbkr/symmetric-ssss-migrate
...
Migration to symmetric SSSS
2020-03-24 13:12:17 +00:00
David Baker
7e92f0e5c8
OK, that really is all the comment formatting
2020-03-24 13:08:49 +00:00
David Baker
859a0d8db2
More comment formatting
2020-03-24 13:08:12 +00:00
David Baker
71740cabb5
comment formatting
2020-03-24 13:06:08 +00:00
David Baker
8f77680750
Typo
...
Co-Authored-By: J. Ryan Stinnett <jryans@gmail.com >
2020-03-24 13:05:15 +00:00
David Baker
509e4b337d
Update for new name
2020-03-24 13:01:46 +00:00
David Baker
942ff0c9fd
Better name
...
Co-Authored-By: J. Ryan Stinnett <jryans@gmail.com >
2020-03-24 13:00:53 +00:00
David Baker
24c3dd1f1a
Merge pull request #1280 from matrix-org/uhoreg/reduce_olm_creation
...
reduce number of one-time-key requests
2020-03-24 10:30:23 +00:00
Hubert Chathi
4f58e9945b
factor out failed device notif to a function, and record all failed devices
...
instead of filtering out already-notified devices
2020-03-24 00:15:04 -04:00
Hubert Chathi
547ded9155
handle failed devices that we aren't going to retry
2020-03-23 23:14:36 -04:00
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
Hubert Chathi
944d39c836
add some comments
2020-03-23 16:51:44 -04:00
Bruno Windels
433977b918
Merge pull request #1275 from matrix-org/bwindels/assumemethodswhentodevice
...
Fix: assume the requested method is supported by other party with to_device
2020-03-23 19:39:27 +00:00
David Baker
d9796e3bec
Fix indenting
2020-03-23 19:00:02 +00:00
David Baker
0a7b9109f0
Move aes functions to their own file
2020-03-23 18:56:32 +00:00
David Baker
89bf9ff65b
doc style fix
2020-03-23 18:40:53 +00:00
David Baker
7f6e223c0c
Add function for checking cross-signing is ready
...
Aggregate function that checks the various things are in place for
cross-signing to work.
2020-03-23 18:34:16 +00:00
David Baker
c696e5238b
Merge pull request #1278 from matrix-org/dbkr/blacklist_use_device_trust
...
Use checkDeviceTrust when computing untrusted devices
2020-03-23 14:58:06 +00:00
David Baker
d303fd0c7c
Fix test
2020-03-23 14:53:55 +00: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
Zoe
7053cf0182
Functions to cache session backups key automatically
2020-03-23 14:24:35 +00:00
mjattiot
e25158975b
formatting
...
Signed-off-by: mjattiot <mjattiot@opensense.fr >
2020-03-20 15:22:56 +01:00
mjattiot
7e028a82fc
improved compatibility
...
Signed-off-by: mjattiot <mjattiot@opensense.fr >
2020-03-20 15:22:56 +01:00
mjattiot
17fe3e4dc1
init
...
Signed-off-by: mjattiot <mjattiot@opensense.fr >
2020-03-20 15:22:56 +01:00
Bruno Windels
4bd09c45a0
assume the requested method is supported by other party during to_device verification
2020-03-20 13:29:29 +01:00
Zoe
6a7a255081
Merge pull request #1271 from matrix-org/foldleft/12704-key-storage
...
Rename ssss cache functions to be more general
2020-03-20 11:17:21 +00:00
Zoe
6701fdd486
Rename ssss cache functions to be more general
2020-03-20 10:18:06 +00:00
David Baker
ddce14b20b
Use the typeof test to avoid undefined
2020-03-19 21:12:57 +00:00
David Baker
f1317e824b
Don't assume subtleCrypto exists if there's a window
...
Jest has a window object but doesn't have subtleCrypto
2020-03-19 21:04:36 +00:00
David Baker
db285af0b5
Add callback to get the user's current key backup passphrase
...
And also add a null check
2020-03-19 20:36:00 +00:00
David Baker
0434bf5a48
Add functions to get the raw key backup key
2020-03-19 20:34:57 +00:00
Zoe
78d9111646
Add a store for backup keys
2020-03-19 15:30:28 +00:00
J. Ryan Stinnett
0f28a89c52
Merge pull request #1268 from matrix-org/jryans/send-only-new-key-sigs
...
Upload only new device signature of master key
2020-03-19 14:56:29 +00:00
Hubert Chathi
92db6599d8
Merge pull request #1270 from matrix-org/uhoreg/expose_prepare_to_encrypt
...
expose prepareToEncrypt in the client API
2020-03-19 10:56:16 -04:00
Hubert Chathi
70fb5dcaa4
Merge pull request #1269 from matrix-org/uhoreg/device_list_no_dying
...
don't kill the whole device download if one device gives an error
2020-03-19 10:56:00 -04:00
David Baker
a265574da1
Merge remote-tracking branch 'origin/develop' into dbkr/symmetric-ssss-migrate
2020-03-19 14:27:25 +00:00
Hubert Chathi
9911766435
expose prepareToEncrypt in the client API
2020-03-18 18:53:26 -04:00
Hubert Chathi
fb08ef9a9b
don't kill the whole device download if one device gives an error
2020-03-18 15:28:54 -04:00
J. Ryan Stinnett
2fab06111c
Upload only new device signature of master key
...
This changes bootstrap to only upload the new device signature of the master
key. We were previously _adding_ the new signature, but then uploading both old
and new device key signatures of the master key.
This was particularly bad when re-uploading signatures from deleted devices, as
that would cause the homeserver to reject the entire upload.
Fixes https://github.com/vector-im/riot-web/issues/12752
2020-03-18 18:35:37 +00:00
Bruno Windels
11e3b1ab53
Merge pull request #1267 from matrix-org/bwindels/handleselfverifstartrace
...
handle racing .start event during self verification
2020-03-18 14:06:45 +00:00
Zoe
3c78f7dbe1
Merge pull request #1266 from matrix-org/foldleft/fix-label-error
...
A crypto.keySignatureUploadFailure event reported the wrong source
2020-03-18 11:21:16 +00:00
Bruno Windels
999cebc304
handle racing .start event during self verification
...
by comparing the device id rather than the user id, as defined in the MSC
2020-03-17 17:51:32 +01:00
RiotRobot
b2e154377a
Merge branch 'master' into develop
2020-03-17 14:09:49 +00:00
RiotRobot
d5c68139c0
v5.1.1
2020-03-17 14:07:01 +00:00
RiotRobot
cbde77a5cd
Prepare changelog for v5.1.1
2020-03-17 14:07:00 +00:00
David Baker
8120041ba7
Merge branch 'symmetric-ssss-migrate' of git://github.com/uhoreg/matrix-js-sdk into uhoreg-symmetric-ssss-migrate
2020-03-17 13:11:01 +00:00
Michael Telatynski
68bc8edaae
Merge pull request #1263 from matrix-org/t3chguy/fix_editing
...
Fix editing of unsent messages by waiting for actual event id
2020-03-17 13:00:55 +00:00
Zoe
7ec339985a
a crypto.keySignatureUploadFailure event reported the wrong source
2020-03-17 11:42:03 +00:00
Bruno Windels
70c0abaef8
Merge pull request #1265 from matrix-org/bwindels/fixolmapierror-release
...
Fix: ensureOlmSessionsForDevices parameter format
2020-03-17 11:25:59 +00:00
Bruno Windels
d4dcac93b1
devicesByUser should be userId => array of devices
2020-03-17 12:21:56 +01:00
Michael Telatynski
43889cfb31
use async/await instead
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2020-03-17 11:14:25 +00:00
Bruno Windels
9e4e14802d
Merge pull request #1264 from matrix-org/bwindels/fixolmapierror
...
Fix: ensureOlmSessionsForDevices parameter format
2020-03-17 11:08:23 +00:00
Bruno Windels
9bebb22746
devicesByUser should be userId => array of devices
2020-03-17 09:51:28 +01:00
Hubert Chathi
3b06b0ffc1
fix lint
2020-03-16 17:22:12 -04:00
Hubert Chathi
1b24d55b24
misc fixes and cleanups
2020-03-16 17:20:54 -04:00
Hubert Chathi
c8c6444f6a
migrate backup key from asymmetric SSSS to symmetric SSSS
2020-03-16 11:05:07 -04:00
Hubert Chathi
45a88f0517
add function to check that secret storage needs upgrading
2020-03-16 11:00:11 -04:00
Michael Telatynski
53cb3ca79b
return the additional promise to simplify the rejection chain
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2020-03-16 12:23:13 +00:00
Michael Telatynski
68526284f1
fix rejection handling
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2020-03-16 10:34:39 +00:00
Zoe
68cebc7ff9
If a key upload fails, throw an error and emit an event ( #1254 )
2020-03-16 10:24:31 +00:00
Michael Telatynski
38286b74e3
tidy up
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2020-03-16 10:10:22 +00:00
Michael Telatynski
86f56082f0
Make use of scheduler instead of an additional promise
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2020-03-16 10:09:17 +00:00
Michael Telatynski
e87bbfc535
Fix editing of unsent messages by waiting for actual event id
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2020-03-16 09:29:37 +00:00
Travis Ralston
758e12d6dd
Merge pull request #1261 from matrix-org/travis/yarn-cleanup
...
Remove stuff that yarn install doesn't think we need
2020-03-13 09:25:23 -06:00
Bruno Windels
bff461081a
Merge pull request #1262 from matrix-org/bwindels/nullcheckonreceipts-release
...
Fix: prevent error being thrown during sync in some cases
2020-03-13 12:47:52 +00:00
Bruno Windels
33d36395aa
check if push actions has a tweaks object
2020-03-13 13:41:32 +01:00
Hubert Chathi
e373508211
some fixes in SSSS migration
2020-03-12 18:08:54 -04:00
Bruno Windels
9051edad37
Merge pull request #1258 from matrix-org/bwindels/nullcheckonreceipts
...
Fix: prevent error being thrown during sync in some cases
2020-03-12 17:09:10 +00:00
Travis Ralston
678b268008
Remove stuff that yarn install doesn't think we need
2020-03-12 10:44:52 -06:00
J. Ryan Stinnett
0361bcf94f
Merge pull request #1260 from matrix-org/jryans/verified-to-bool-release
...
Force `is_verified` for key backups to bool and fix computation
2020-03-12 15:48:07 +00:00
J. Ryan Stinnett
b1f02d30c1
Check key backup trust for the right user ID
...
This corrects the key backup trust computation so that we use the user ID for
the device we're checking inside of always using the client's main user ID,
which would always resulted in false for other people.
Fixes https://github.com/vector-im/riot-web/issues/12693
2020-03-12 15:42:14 +00:00
J. Ryan Stinnett
2af0e5b176
Convert trustedLocally to a bool in all cases
...
This ensure we always have a boolean value, even when device is null.
Part of https://github.com/vector-im/riot-web/issues/12693
2020-03-12 15:42:14 +00:00
J. Ryan Stinnett
c204812d9c
Merge pull request #1259 from matrix-org/jryans/verified-to-bool
...
Force `is_verified` for key backups to bool and fix computation
2020-03-12 15:39:26 +00:00
J. Ryan Stinnett
3b7def880f
Check key backup trust for the right user ID
...
This corrects the key backup trust computation so that we use the user ID for
the device we're checking inside of always using the client's main user ID,
which would always resulted in false for other people.
Fixes https://github.com/vector-im/riot-web/issues/12693
2020-03-12 14:47:28 +00:00
J. Ryan Stinnett
e5ec2f03c2
Convert trustedLocally to a bool in all cases
...
This ensure we always have a boolean value, even when device is null.
Part of https://github.com/vector-im/riot-web/issues/12693
2020-03-12 14:21:46 +00:00
Bruno Windels
a1b3e8055f
check if push actions has a tweaks object
2020-03-12 12:59:43 +01:00
Bruno Windels
1e503261f2
Merge pull request #1257 from matrix-org/bwindels/devicelegacyverif
...
Add a method for legacy single device verification, returning a verification request
2020-03-12 11:30:08 +00:00
David Baker
9107a3e569
Merge pull request #1256 from matrix-org/dbkr/yarn_upgrade_20200311
...
yarn upgrade
2020-03-12 09:44:51 +00:00
RiotRobot
c6070519ed
v5.1.1-rc.1
2020-03-11 15:05:49 +00:00
RiotRobot
30ece1be70
Prepare changelog for v5.1.1-rc.1
2020-03-11 15:05:48 +00:00
Bruno Windels
b66a1d30a0
method for legacy single device verification, returning a verification request rather than a verifier
2020-03-11 15:53:38 +01:00
David Baker
51e1f56873
yarn upgrade
2020-03-11 14:47:48 +00:00
Hubert Chathi
86304fd037
Merge pull request #1252 from matrix-org/uhoreg/megolm_speed
...
refactor megolm encryption to improve perceived speed
2020-03-10 20:09:41 -04:00
Hubert Chathi
04387e78cc
some cleanups
2020-03-10 15:56:33 -04:00
Travis Ralston
2bfc44b947
Merge pull request #1253 from matrix-org/travis/remove-v1-identity
...
Remove v1 identity server fallbacks
2020-03-10 09:30:22 -06:00
Bruno Windels
33941eb37b
Merge pull request #1251 from matrix-org/bwindels/altaliasesforname
...
Use alt_aliases instead of local ones for room names
2020-03-10 12:42:50 +00:00
J. Ryan Stinnett
0a45559276
Merge pull request #1250 from matrix-org/jryans/xsign-slow-login
...
Upload cross-signing key signatures in the background
2020-03-10 11:07:45 +00:00
Travis Ralston
800441e0ed
Appease the linter
2020-03-09 17:10:37 -06:00
Travis Ralston
95164d08d5
Remove v1 identity server fallbacks
...
Fixes https://github.com/vector-im/riot-web/issues/10443
**Review with https://github.com/matrix-org/matrix-react-sdk/pull/4191 **
2020-03-09 17:06:10 -06: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
Bruno Windels
950dadc14e
fix tests
2020-03-09 18:33:20 +01:00
Bruno Windels
31d2f0135b
use alt aliases instead of local ones for room names
2020-03-09 17:13:50 +01:00
J. Ryan Stinnett
c02928f294
Upload cross-signing key signatures in the background
...
At the moment, uploading cross-signing key signatures is a slow process that can
potentially take many minutes (!) for large accounts / slow servers. This
changes to do the bootstrapping related versions of this in the background.
Note that key signature uploads for interactive flows like verification are
still blocking for now.
Fixes https://github.com/vector-im/riot-web/issues/12223
2020-03-09 15:08:14 +00:00
J. Ryan Stinnett
951fff45e6
Skip device verif upgrades when callback not present
...
This skips the upgrade when the upgrade callback is not present (which is
expected as no one sets it currently). This adds logging for around the upgrade
process.
2020-03-09 15:03:02 +00:00
J. Ryan Stinnett
4fdd817ff5
Add logging around key change post-processing
2020-03-09 14:46:10 +00:00
J. Ryan Stinnett
acba31bd6d
Merge pull request #1249 from matrix-org/jryans/sharing-names
...
Fix secret sharing names to match spec
2020-03-09 13:48:06 +00:00
J. Ryan Stinnett
b5eea01848
Fix secret sharing names to match spec
...
When sharing keys, we should use `m.cross_signing` prefix.
Part of https://github.com/vector-im/riot-web/issues/12661
2020-03-09 13:40:02 +00:00
Bruno Windels
074e02ccf2
Merge pull request #1248 from matrix-org/bwindels/removecryptoverifstartevent
...
Cleanup: remove crypto.verification.start event
2020-03-06 16:47:34 +00:00
Bruno Windels
4b9bc67cb6
remove crypto.verification.start event
...
as it is not used anymore by the react-sdk
2020-03-06 16:48:44 +01:00
Zoe
936ef4116b
For self-verifications, also request keys from the other device ( #1245 )
...
* For self-verifications, also request keys from the other device
* removed some XXX's so the editor doesn't think it's three issues
* add methods to access key cache callbacks
2020-03-06 09:56:56 +00:00
J. Ryan Stinnett
9883d6851a
Merge pull request #1246 from matrix-org/jryans/xsign-trust-bool
...
Fix regression in key backup request params
2020-03-05 14:16:16 +00:00
J. Ryan Stinnett
4c08e126ca
Fix regression in key backup request params
...
This converts the cross-signing trust to a boolean as required by the
homeserver.
Regressed by https://github.com/vector-im/riot-web/issues/12599
Fixes https://github.com/vector-im/riot-web/issues/12618
2020-03-05 12:17:42 +00:00
J. Ryan Stinnett
bc53f8fdec
Merge pull request #1244 from matrix-org/jryans/xsign-key-backup-verif
...
Use cross-signing trust to mark backups verified
2020-03-03 18:03:46 +00:00
J. Ryan Stinnett
0b76d3d7bd
Merge pull request #1243 from matrix-org/jryans/xsign-auto-share
...
Check both cross-signing and local trust for key sharing
2020-03-03 18:03:38 +00:00
J. Ryan Stinnett
abaf71418e
Use cross-signing trust to mark backups verified
...
This changes to cross-signing trust as well as local trust when we decide
whether to tell the homeserver a session of room keys is verified.
Fixes https://github.com/vector-im/riot-web/issues/12599
2020-03-03 15:52:38 +00:00
J. Ryan Stinnett
c96a906b39
Check both cross-signing and local trust for key sharing
...
When sharing room keys with our own devices, this ensure we check both
cross-signing and local trust.
Fixes https://github.com/vector-im/riot-web/issues/12596
2020-03-03 15:12:40 +00:00
RiotRobot
da96765020
Merge branch 'master' into develop
2020-03-02 16:55:55 +00:00
RiotRobot
f654c8a892
v5.1.0
2020-03-02 16:53:10 +00:00
RiotRobot
336fce55df
Prepare changelog for v5.1.0
2020-03-02 16:53:10 +00:00
Zoe
d11946d86b
Merge pull request #1242 from matrix-org/foldleft/fix-bad-merge
...
Fixed up tests to match new way that crypto stores are created
2020-03-02 15:01:27 +00:00
Zoe
3a4c72ac08
actually, returning is unnecessary
2020-03-02 14:46:26 +00:00
Zoe
6d3f0f653b
there's some days that the linter and i, we just really don't see eye-to-eye
2020-03-02 14:38:24 +00:00
Zoe
81d3534569
added return back
2020-03-02 13:06:13 +00:00
Zoe
c54922dba3
Fixed up tests to match new way that crypto stores are created
2020-03-02 12:51:47 +00:00
Michael Telatynski
9da1f7b8d5
Fix unhomoglyph import to make browser-matrix.js happy once more
2020-03-02 10:54:14 +00:00
Zoe
a4ed3d97fc
Merge pull request #1235 from matrix-org/foldleft/12299-local-ssk
...
Store USK and SSK locally
2020-03-02 09:52:44 +00:00
Zoe
656694ee00
proper spacing for test output text
2020-03-02 09:45:55 +00:00
Hubert Chathi
c6b5936f8a
use the right operator
2020-02-28 16:09:24 -05:00
Travis Ralston
03752ab60c
Merge pull request #1236 from matrix-org/travis/unpadded-qr-codes
...
Use unpadded base64 for QR code secrets
2020-02-28 10:20:57 -07:00
Bruno Windels
7203542cfd
Merge pull request #1239 from matrix-org/bwindels/dontrequiredoneforselfverif
...
Don't require .done event for finishing self-verification
2020-02-28 15:16:09 +00:00
Bruno Windels
4b36bbc122
Merge pull request #1237 from matrix-org/bwindels/dontcancelas3rdparty
...
Don't cancel as 3rd party in verification request
2020-02-28 15:15:49 +00:00
Bruno Windels
ecaf21ceb0
Don't require .done event for finishing self-verification
...
Instead, call onVerifierFinished from the verifier on the request
so we can internally mark it as done. This flag is not persisted,
but we don't have historical (persisted) to-device requests anyway.
2020-02-28 14:56:38 +01:00
Zoe
67fe4e1460
lint & only cache valid keys
2020-02-28 11:04:28 +00:00
Zoe
a94503ad03
address PR feedback
2020-02-28 10:43:57 +00:00
Bruno Windels
ce6dd8688c
Merge pull request #1234 from matrix-org/bwindels/evenmoreloggingforverif
...
Verification: log when switching start event
2020-02-28 10:24:09 +00:00
Hubert Chathi
1151bdc6db
initial work in migrating ssss to symmetric
2020-02-27 22:56:34 -05:00
Hubert Chathi
ed223d1d76
remove unnecessary awaits
2020-02-27 22:54:43 -05:00
Bruno Windels
650eee7705
dont cancel as 3rd party in verification request
2020-02-27 18:38:16 +01:00
Travis Ralston
4510eb6540
Match all the equals
...
Co-Authored-By: Hubert Chathi <hubert@uhoreg.ca >
2020-02-27 10:10:24 -07:00
Travis Ralston
9a236f317d
Use unpadded base64 for QR code secrets
2020-02-27 10:00:56 -07:00
Zoe
25c467d608
Wire cache through to matrix client
2020-02-27 16:53:26 +00:00
Zoe
c2daf0d74e
Store data in cryptostore
2020-02-27 16:53:26 +00:00
J. Ryan Stinnett
fa19616ad1
Merge pull request #1233 from matrix-org/jryans/safari-e2e-idb
...
Perform crypto store operations directly after transaction
2020-02-27 16:48:09 +00:00
Zoe
02cbd33284
Added cache callbacks to CrossSigningInfo
2020-02-27 16:37:25 +00:00
Zoe
941ae18d74
Added tests for CrossSigningInfo.getCrossSigningKey
2020-02-27 16:37:25 +00:00
Bruno Windels
90f400abe1
log when switching start event
2020-02-27 17:35:58 +01:00
J. Ryan Stinnett
ff2d93d421
Perform crypto store operations directly after transaction
...
At least on Safari but perhaps other browsers as well, you must perform
IndexedDB operations in the same JS task as you start the transaction. As a
concrete example, you cannot open the transaction and await some promise before
actually using it.
This fixes the crypto store to meet this requirement.
Fixes https://github.com/vector-im/riot-web/issues/12207
2020-02-27 14:57:07 +00:00
Bruno Windels
8d26bd9a17
Merge pull request #1232 from matrix-org/bwindels/logeventidinverifreq
...
More verification request logging
2020-02-27 13:26:53 +00:00
J. Ryan Stinnett
a9fa0484ff
Add exception handling to crypto store paths
...
A few of the crypto store backend paths were missing try / catch wrappers to
abort the transaction if the inner callback throws.
2020-02-27 12:26:18 +00:00
J. Ryan Stinnett
d3d12ab62f
Merge pull request #1231 from matrix-org/jryans/upgrade-deps-2020-02-26
...
Upgrade deps
2020-02-27 11:24:33 +00:00
Bruno Windels
1e29b1a31d
log event id in verif request to differentiate between double processing vs double sending
2020-02-26 18:49:18 +01:00
J. Ryan Stinnett
9318bf5f2f
Upgrade deps
2020-02-26 15:00:43 +00:00
RiotRobot
6b35302442
v5.1.0-rc.1
2020-02-26 14:16:57 +00:00
RiotRobot
2937e58215
Prepare changelog for v5.1.0-rc.1
2020-02-26 14:16:57 +00:00
J. Ryan Stinnett
d42589b6cc
Merge pull request #1230 from matrix-org/jryans/dist-tags
...
Add latest dist-tag for releases
2020-02-26 14:14:09 +00:00
J. Ryan Stinnett
26e9dfb4fb
Add latest dist-tag for a release
2020-02-26 14:07:20 +00:00
J. Ryan Stinnett
f27d03a6bc
Always publish to next tag
...
This ensures that anyone who wants the latest version (pre-release or final
release) can always use the `next` tag.
2020-02-26 13:55:46 +00:00
J. Ryan Stinnett
b1e3150a81
Reset device list dirty flag only after writing
...
This ensures we wait until after the device list writes to the crypto store
before marking thing as clean. This is particularly important for the error
path, as the write to the crypto store can fail.
Part of https://github.com/vector-im/riot-web/issues/12207
2020-02-25 17:56:47 +00:00
Hubert Chathi
5d52053caa
use symmetric encryption for SSSS
2020-02-24 17:38:53 -05:00
Bruno Windels
ce668d051c
Merge pull request #1225 from matrix-org/bwindels/aliasautocomplete
...
Add room method for alt_aliases
2020-02-24 12:17:45 +00:00
David Baker
e06579ecf5
Merge pull request #1227 from matrix-org/dbkr/move_bk_pipelines
...
Remove buildkite pipeline
2020-02-21 17:34:09 +00:00
David Baker
6c30af245c
Remove buildkite pipeline
...
Now moved to the pipelines repo
2020-02-21 17:21:42 +00:00
Bruno Windels
c9c40a6dde
Merge pull request #1226 from matrix-org/bwindels/dontfailonhistoricalcancelafterstart
...
don't assume verify has been called when receiving a cancellation in verifier
2020-02-21 17:19:03 +00:00
Travis Ralston
e748ac3d00
Merge pull request #1221 from matrix-org/travis/qr-binary
...
Reduce secret size for new binary packing
2020-02-21 10:05:03 -07:00
Bruno Windels
aec79f3a79
don't assume verify has been called when receiving a cancellation in verifier
2020-02-21 17:26:29 +01: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
Bruno Windels
14e1920ff5
fix docs parser error
2020-02-21 13:43:08 +01:00
Bruno Windels
c95cdf5a11
add room method for alt_aliases
2020-02-21 13:37:14 +01:00
Bruno Windels
c14d0616ea
always return null if there is no canonical alias
2020-02-21 13:36:52 +01:00
Hubert Chathi
0112701145
Merge pull request #1223 from matrix-org/uhoreg/misc_rageshake_fixes
...
misc rageshake fixes
2020-02-20 16:28:49 -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
3cd791e08f
add function for getting the user's curve25519 key
2020-02-20 14:44:28 -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
Bruno Windels
39974d3a61
Merge pull request #1220 from matrix-org/bwindels/fixhistoricalcancelledrequests
...
Fix cancelled historical requests not appearing as cancelled
2020-02-20 17:07:35 +00:00
Bruno Windels
a998006842
Merge pull request #1217 from matrix-org/bwindels/fixqrcode
...
Fix renaming error that broke QR code verification
2020-02-20 11:00:39 +00:00
Bruno Windels
c4e449fc45
add null check for when there is no response
2020-02-20 11:42:33 +01:00
Travis Ralston
765fbe2182
Reduce secret size for new binary packing
...
See https://github.com/matrix-org/matrix-react-sdk/pull/4091
2020-02-19 17:21:56 -07:00
Bruno Windels
08dfa73b57
pending excludes observeOnly now, still allow observeOnly requests to get cancelled
2020-02-19 17:51:53 +01:00
RiotRobot
a58e7a34e7
v5.0.1
2020-02-19 15:03:04 +00:00
RiotRobot
7a481beec6
Prepare changelog for v5.0.1
2020-02-19 15:03:03 +00:00
Bruno Windels
d51fad2de4
Merge pull request #1219 from matrix-org/bwindels/fixaliases
...
add method for new /aliases endpoint
2020-02-19 10:02:32 +00:00
Bruno Windels
c66755a756
jsdoc
2020-02-19 10:13:32 +01:00
Bruno Windels
886ad03505
add method to check server feature flag
2020-02-19 10:08:05 +01:00
Bruno Windels
ba33ef0a68
use unstable prefix
2020-02-19 10:07:52 +01:00
Bruno Windels
fe97dc3ece
add method for new /aliases endpoint
2020-02-18 15:33:41 +01:00
Bruno Windels
76c4875088
fix targetDevice renaming
2020-02-18 11:23:04 +01:00
Bruno Windels
04a3aaee35
Merge pull request #1213 from matrix-org/bwindels/filterverifmethods
...
method for checking if other party supports verification method
2020-02-18 10:15:49 +00:00
Bruno Windels
fef03cda9b
Update src/crypto/verification/request/VerificationRequest.js
...
Co-Authored-By: J. Ryan Stinnett <jryans@gmail.com >
2020-02-18 10:03:02 +00:00
Bruno Windels
3292fde41b
Merge pull request #1210 from matrix-org/bwindels/localecho2
...
add local echo state for accepting or declining a verif req
2020-02-18 09:55:09 +00:00
RiotRobot
38cf25ac5a
Merge branch 'master' into develop
2020-02-17 11:58:01 +00:00
RiotRobot
13d5d2f958
v5.0.0
2020-02-17 11:55:26 +00:00
RiotRobot
7f6b66c824
Prepare changelog for v5.0.0
2020-02-17 11:55:25 +00:00
Bruno Windels
62c344b633
Merge pull request #1214 from matrix-org/bwindels/workswithrageshakes
...
make logging compatible with rageshakes
2020-02-14 16:39:05 +00:00
Bruno Windels
75ce2729f9
comment typo
2020-02-14 17:35:07 +01:00
Bruno Windels
6669554867
make logging compatible with rageshakes
2020-02-14 17:31:40 +01:00
Bruno Windels
d3294da37c
Merge pull request #1209 from matrix-org/bwindels/oneverifrequest
...
Find existing requests when starting a new verification request
2020-02-14 15:33:06 +00:00
Bruno Windels
9b56bf25cf
Update src/crypto/verification/request/InRoomChannel.js
...
Co-Authored-By: J. Ryan Stinnett <jryans@gmail.com >
2020-02-14 14:43:50 +00:00
Bruno Windels
e1a33d8a7b
Update src/crypto/verification/request/ToDeviceChannel.js
...
Co-Authored-By: J. Ryan Stinnett <jryans@gmail.com >
2020-02-14 13:41:38 +00:00
Bruno Windels
47a1224c13
Merge pull request #1211 from matrix-org/bwindels/logsasmac
...
log MAC calculation during SAS
2020-02-14 12:54:40 +00:00
Bruno Windels
5c57d81e94
method for checking if other party supports verification method
2020-02-14 13:47:24 +01:00
Bruno Windels
edefd3ec88
log MAC calculation
2020-02-14 12:20:02 +01:00
Bruno Windels
f15098efde
add local echo state for accepting or declining a verif req
2020-02-13 17:27:18 +01:00
RiotRobot
8ee99a0616
v5.0.0-rc.1
2020-02-13 15:41:46 +00:00
RiotRobot
3ace1d04cd
Prepare changelog for v5.0.0-rc.1
2020-02-13 15:41:45 +00:00
Bruno Windels
365bb772bc
also find existing request for to-device verification
2020-02-13 15:37:21 +01:00
Bruno Windels
5ee6ada973
use pending instead of individual checks
2020-02-13 15:37:04 +01:00
Bruno Windels
ee0fa0e687
fix lint
2020-02-13 14:47:35 +01:00
Bruno Windels
0d41f6aafc
remove commented out logging
2020-02-13 14:36:18 +01:00
Bruno Windels
91b6499815
more consistent naming
2020-02-13 14:36:09 +01:00
Bruno Windels
7cd1166a47
allow finding existing verif req without starting a new one
2020-02-13 14:31:33 +01:00
Bruno Windels
f76cb677ff
store sasEvent on verifier so we can get it if we missed show_sas event
2020-02-13 14:31:03 +01:00
Bruno Windels
05e7f4e6f7
look for existing verification request when trying to start a new one
2020-02-13 14:30:38 +01:00
Bruno Windels
6684574bdf
Merge pull request #1206 from matrix-org/bwindels/dontpassmethodstoverify
...
Remove methods argument to verification
2020-02-13 08:51:27 +00:00
Hubert Chathi
36a945f8e2
Merge pull request #1207 from matrix-org/uhoreg/fix_opts_request
...
don't do a dynamic import of request
2020-02-11 13:54:12 -05:00
Hubert Chathi
6a3d322033
don't do a dynamic import of request
2020-02-11 13:02:34 -05:00
Bruno Windels
00c003ec65
remove methods arg to requestVerification(DM)
...
as it's easy to have this argument be out of sync from all
the places this is called from the js-sdk. There is also little point,
as you can already specify the methods a consumer of the js-sdk
wants to provide through the verificationMethods option when creating
the client object.
2020-02-11 17:42:49 +01:00
Bruno Windels
f4d335c161
use default methods if none are provided to the client
2020-02-11 17:42:17 +01:00
Bruno Windels
659f42139b
Merge pull request #1201 from matrix-org/travis/wip/qr
...
QR self-verification fixes
2020-02-11 15:17:02 +00:00
Bruno Windels
0e791ed022
Merge pull request #1204 from matrix-org/bwindels/logverif
...
Log every verification event
2020-02-11 13:17:23 +00:00
Bruno Windels
48655aa1a3
log every verification event
2020-02-11 10:08:17 +01:00
Bruno Windels
83fa80cfda
Merge pull request #1203 from matrix-org/bwindels/dontrequiredoneconfirmation
...
dont require .done event from other party
2020-02-11 08:18:46 +00:00
Bruno Windels
cf5b5ee085
dont require .done event from other party
2020-02-10 18:00:24 +01:00
Bruno Windels
429a4e3526
fix lint
2020-02-10 17:21:22 +01:00
Zoe
d66d4c1cd9
Merge pull request #1202 from matrix-org/foldleft/12221-reset-cross-signing
...
New option to fully reset Secret Storage keys in boostrapSecretStorage
2020-02-10 09:59:28 +00:00
Zoe
7a1bbdf2dd
oops
2020-02-07 15:51:27 +00:00
Travis Ralston
29c1459568
Merge pull request #1190 from matrix-org/travis/qr-code-request-based
...
Add function to estimate target device for a VerificationRequest
2020-02-07 15:37:49 +00:00
Travis Ralston
efad46a8a4
Rename target device prop
2020-02-07 15:37:34 +00:00
Zoe
a69c621305
New option to fully reset Secret Storage keys in boostrapSecretStorage
2020-02-07 14:45:10 +00:00
Bruno Windels
ad6dde6f26
Merge pull request #1200 from matrix-org/bwindels/4sunlockpurpose
...
pass ssss item name to callback so we can differentiate UI on it
2020-02-07 08:58:43 +00:00
Bruno Windels
2627e46723
add jsdoc for new param
2020-02-06 18:43:46 +01:00
Bruno Windels
408d70b55e
pass ssss item name to callback so we can differentiate UI on it
2020-02-06 16:54:12 +01:00
Hubert Chathi
3f369e528b
Merge pull request #1167 from cedricvanrompay/1-olm-device-export-import
...
add export/import of Olm devices
2020-02-05 20:09:01 -05:00
Zoe
312976294b
Merge pull request #1199 from matrix-org/foldleft/types-for-utils
...
Convert utils.js -> utils.ts
2020-02-05 12:41:17 +00:00
Zoe
77f42c479b
Update src/utils.ts
...
Co-Authored-By: Travis Ralston <travpc@gmail.com >
2020-02-05 11:50:39 +00:00
Zoe
d60bd22674
actually let's not get into the business of writing types for our deps
2020-02-05 11:43:11 +00:00
Zoe
2e67f77d3e
compiler flags
2020-02-05 11:17:55 +00:00
Zoe
6d8e8e6bd7
fix tests
2020-02-05 11:07:55 +00:00
Zoe
9c01945a05
copyright notice *sigh*
2020-02-05 10:23:24 +00:00
Zoe
7ce5ddd380
lint
2020-02-05 10:14:26 +00:00
Zoe
2b5de914f5
review feedback
2020-02-05 09:57:46 +00:00
Zoe
18a2426707
Convert utils.js -> utils.ts
2020-02-04 19:09:48 +00:00
David Baker
367fac6d54
Merge pull request #1197 from matrix-org/dbkr/stop_signing_yourself
...
Don't sign ourselves as a user
2020-02-04 14:31:08 +00:00
David Baker
157cc9e5eb
Merge remote-tracking branch 'origin/develop' into dbkr/stop_signing_yourself
2020-02-04 14:26:58 +00:00
David Baker
81daf12598
Merge pull request #1196 from matrix-org/dbkr/verfication_logging
...
Add a bunch of logging to verification
2020-02-04 14:21:08 +00:00
Bruno Windels
9249b0652f
Merge pull request #1198 from matrix-org/bwindels/fixverifroomeventtype
...
Fix: always return a valid string from InRoomChannel.getEventType
2020-02-04 14:16:14 +00:00
Bruno Windels
ee4c6b6265
Merge pull request #1195 from matrix-org/bwindels/logoncancel
...
add logging when a request is being cancelled
2020-02-04 13:08:13 +00:00
David Baker
68deab4a68
We still need to mark our master key locally verified
2020-02-04 12:27:53 +00:00
Bruno Windels
c9c765b5b8
fix getEventType
2020-02-04 13:12:38 +01:00
David Baker
616f73d8c6
forgive me, o great linter
2020-02-04 12:12:02 +00:00
Bruno Windels
208c371afb
add failing test for getEventType
2020-02-04 13:10:06 +01:00
David Baker
3a59cfa9c0
Don't sign ourselves as a user
2020-02-04 12:09:42 +00:00
David Baker
cf94527bd5
Add a bunch of logging to verification
...
So we have a better idea of what's going on
2020-02-04 12:04:50 +00:00
Travis Ralston
fa93479863
Merge pull request #1194 from matrix-org/travis/fix-type
...
Don't explode verification validation if we don't have an event type
2020-02-04 11:48:25 +00:00
Bruno Windels
8bc0ef8c27
add logging when a request is being cancelled
...
so we can more easily see (especially for to_device requests)
why something was cancelled
2020-02-04 12:48:02 +01:00
Travis Ralston
bd403b6d87
Don't explode verification validation if we don't have an event type
...
I don't know why this is undefined at this point, or why membership events are ending up here, but this fixes develop for people.
See https://github.com/vector-im/riot-web/issues/12231
2020-02-04 11:46:31 +00:00
Bruno Windels
57a7328065
Merge pull request #1193 from matrix-org/bwindels/dontshowverifrequestnotforme
...
Fix: verification request appearing for users that are not the receiver or sender if they are in room
2020-02-04 09:39:45 +00:00
Bruno Windels
4945463beb
fix lint
2020-02-03 20:12:21 +01:00
Bruno Windels
dfafa791f2
fix getOtherPartyUserId
2020-02-03 19:17:40 +01:00
Bruno Windels
5f2cb6b3a4
only an m.room.message with msgtype can be a .request
2020-02-03 19:17:18 +01:00
Bruno Windels
5398fac348
add (failing) tests for getEventType and getOtherPartyUserId
2020-02-03 19:16:48 +01:00
Cédric Van Rompay
b217f6aa81
minor doc update (with sign-off)
...
Signed-off-by: Cédric Van Rompay <cedric.vanrompay@gmail.com >
2020-02-03 10:32:32 +01:00
Cédric Van Rompay
ec597bea93
fix new way of calling OlmDevice.init
2020-02-03 10:27:10 +01:00
Cédric Van Rompay
7a5c54fef7
set pickle key through OlmDevice.init
2020-02-03 09:58:18 +01:00
David Baker
4064f18de2
Merge pull request #1192 from matrix-org/dbkr/fix_passthrough_key_get
...
Fix getting secrets encoded with passthrough keys
2020-02-02 19:12:39 +00:00
David Baker
6d13457172
Fix getting secrets encoded with passthrough keys
2020-02-01 17:29:08 +00:00
Travis Ralston
f39518ef93
Unreviewed crypto verification for self
2020-02-01 10:49:32 +00:00
Bruno Windels
4b1cecd246
also set the deviceId on .ready so we know who to send .start to
2020-01-31 14:50:48 +01:00
Cédric Van Rompay
352509fd3a
Update src/crypto/OlmDevice.js
...
Co-Authored-By: Hubert Chathi <hubert@uhoreg.ca >
2020-01-31 11:53:20 +01:00
Cédric Van Rompay
d0f08f8839
Update src/crypto/OlmDevice.js
...
Co-Authored-By: Hubert Chathi <hubert@uhoreg.ca >
2020-01-31 11:53:09 +01:00
Cédric Van Rompay
efd38a3471
Update src/crypto/OlmDevice.js
...
Co-Authored-By: Hubert Chathi <hubert@uhoreg.ca >
2020-01-31 11:52:54 +01:00
Cédric Van Rompay
a4e74fea94
fix linting errors
2020-01-31 11:51:17 +01:00
Travis Ralston
fdb33b6189
Merge remote-tracking branch 'origin/bwindels/todevicereadystartdone' into travis/wip
2020-01-30 18:06:31 +00:00
Bruno Windels
dcbb67838b
for the right panel to work, the verifier should send .done events
2020-01-30 18:46:22 +01:00
Bruno Windels
1727d636a3
don't assume both parties have a different userId in verif ping-pong
2020-01-30 18:45:54 +01:00
Travis Ralston
9eadc7f868
Add function to estimate target device for a VerificationRequest
...
For https://github.com/matrix-org/matrix-react-sdk/pull/4001
2020-01-30 16:57:01 +00:00
Travis Ralston
620118af5f
Merge pull request #1175 from matrix-org/travis/update-qr-code
...
Update QR code handling for new spec
2020-01-30 11:25:57 +00:00
Travis Ralston
3645764f9a
Appease the linter
2020-01-30 11:15:25 +00:00
Travis Ralston
769bfeb10f
Verify all the things
2020-01-30 11:10:25 +00:00
Travis Ralston
5fbaa9cfa7
Fix verification of the master key
2020-01-29 18:06:25 +00:00
Travis Ralston
007508ba12
Merge branch 'develop' into travis/update-qr-code
2020-01-29 16:57:57 +00:00
David Baker
0f1f18b232
Merge pull request #1188 from matrix-org/dbkr/dont_add_epemeral_events_to_timeline_when_peeking
...
Don't add ephemeral events to timeline when peeking
2020-01-29 15:17:27 +00:00
David Baker
d6b754b133
Merge pull request #1189 from matrix-org/dbkr/be_prepaed
...
Fix typo
2020-01-29 15:16:56 +00:00
Travis Ralston
1b80c83676
Merge branch 'develop' into travis/update-qr-code
2020-01-29 15:11:06 +00:00
Travis Ralston
ec4dc582b6
Remove tests for old QR code stuff
2020-01-29 15:10:35 +00:00
David Baker
65646ff9e2
Fix typo
...
This would probably just cause apps to wait until the first live
sync had finished rather than the one from the store, so slowing
them down / breaking offline support.
2020-01-29 15:06:19 +00:00
Travis Ralston
92f6ec918b
Appease the linter
2020-01-29 15:06:13 +00:00
David Baker
62bd41d2e6
Don't add ephemeral events to timeline when peeking
...
As hopefully explained by comment.
Fixes https://github.com/vector-im/riot-web/issues/11120
2020-01-29 15:04:09 +00:00
Bruno Windels
9d864ffd60
Merge pull request #1187 from matrix-org/bwindels/fixstartrace-rebased
...
Verification: resolve race between .start events from both parties
2020-01-29 15:04:00 +00:00
Travis Ralston
c45b38cece
Actually do the verification
2020-01-29 14:56:28 +00:00
Travis Ralston
0d7aee2c36
Misc cleanup
2020-01-29 14:52:04 +00:00
Travis Ralston
be345a523f
Fix verification flow
2020-01-29 14:43:37 +00:00
Bruno Windels
470bdf8741
fix tests
2020-01-29 15:19:18 +01:00
Bruno Windels
59319fb55b
use logger instead of console
2020-01-29 15:19:07 +01:00
Bruno Windels
fb7695fdbc
fix unrelated issue: errorFactory returns function, so call it
2020-01-29 15:18:48 +01:00
Bruno Windels
25b7552683
startEvent can always be passed to verifier
...
as we'll check the sender there to see on which side we are
2020-01-29 15:18:18 +01:00
Bruno Windels
21d520378f
apply same algo to pick .start event initially when changing phase
...
smallest sender userid wins
2020-01-29 15:17:36 +01:00
Bruno Windels
9cd6607520
attempt to switch start event if we already have a verifier
2020-01-29 15:16:54 +01:00
Bruno Windels
efd3550f53
support switching startEvent while waiting for .accept on initiator side
...
if we get a .start event from the other party and we've also sent one,
the .start event with the sender that is first in sorting order should
be taken, and the other one ignored.
At the point where we will receive it, the verifier has already
been returned from beginKeyVerification, so we'll need to switch
start event internally, and retry the verification, now on the
receiver (sending .accept) side instead of initiator side
(sending .start).
2020-01-29 15:13:59 +01:00
Travis Ralston
76402ec8d7
Lie to the verification handling
2020-01-29 13:45:02 +00:00
Travis Ralston
f689142806
Define NAME as a property higher up
2020-01-29 10:52:26 +00:00
Travis Ralston
fd563bda6a
Remove irrelevant verification flows for QR codes
...
You can't actually get at these through our verification framework - they scan/show steps are pre-verification framework.
2020-01-29 09:26:29 +00:00
Travis Ralston
09a8f7122c
Merge branch 'develop' into travis/update-qr-code
2020-01-29 00:18:15 +00:00
David Baker
608fb00844
Merge pull request #1184 from matrix-org/dbkr/new_keybackup_in_bootstrap
...
Add option to bootstrap to start new key backup
2020-01-28 22:02:10 +00:00
David Baker
5c45e9c306
Add option to bootstrap to start new key backup
...
The key backup needs to be signed by the cross-signing key so
doing it here allows us to do it before we blow the private part
out of memory.
2020-01-28 19:36:00 +00:00
Travis Ralston
950221dc13
Merge branch 'develop' into travis/update-qr-code
2020-01-28 17:27:38 +00:00
Travis Ralston
f816679596
Merge pull request #1182 from matrix-org/travis/null-guards
...
Add a bunch of null guards to feature checks
2020-01-28 14:24:53 +00:00
Travis Ralston
80ccf18b16
Merge pull request #1183 from salzig/docs/fix_matrix_client_reference
...
docs: fix MatrixClient reference
2020-01-28 14:13:59 +00:00
Ben Rexin
c7abd9062a
docs: fix MatrixClient reference
2020-01-28 15:05:13 +01:00
Travis Ralston
4287f2229b
Add a bunch of null guards to feature checks
2020-01-28 13:21:01 +00:00
Michael Telatynski
8408055137
Merge pull request #1180 from matrix-org/t3chguy/cs_verification_decoration
...
Add helper to obtain the cancellation code for a verification request
2020-01-28 11:23:24 +00:00
Michael Telatynski
cc0965d703
s/^t/T/
2020-01-28 11:19:05 +00:00
Michael Telatynski
94b3d9d3e1
Add helper to obtain the cancellation code for a verification request
2020-01-28 11:15:07 +00:00
J. Ryan Stinnett
772bf7d6ff
Merge pull request #1178 from matrix-org/jryans/tag-prerelease-next
...
Publish pre-releases as a separate tag on npm
2020-01-27 22:32:56 +00:00
J. Ryan Stinnett
15c2e4bb07
Publish pre-releases as a separate tag on npm
...
npm will install the newest version a package has published to the `latest` tag,
including pre-releases, which is not ideal since those may not be ready for
production use yet.
This uses an alternate tag (`next` is a common convention, but it can be
anything) for pre-releases so the default installs only get stable versions.
Fixes https://github.com/vector-im/riot-web/issues/12029
2020-01-27 20:40:35 +00:00
Travis Ralston
419693023f
Add untested reciprocate function
2020-01-27 11:41:52 -07:00
Travis Ralston
2d081f2c19
Merge branch 'develop' into travis/update-qr-code
2020-01-27 11:41:05 -07:00
David Baker
c76ce1fd85
Merge pull request #1177 from matrix-org/dbkr/fix_passthrough_keys
...
Fix support for passthrough keys
2020-01-27 16:55:27 +00:00
David Baker
f38b4d37e6
Check for the whole thing being null
2020-01-27 16:25:08 +00:00
David Baker
73c92dfc57
Merge pull request #1174 from matrix-org/dbkr/trust_cross_signing_on_verify
...
Trust our own cross-signing keys if we verify them with another device
2020-01-27 16:11:08 +00:00
David Baker
61c5430deb
Fix support for passthrough keys
...
and add code to fix up ones mis-stored by the old code
2020-01-27 15:50:01 +00:00
J. Ryan Stinnett
21e4c597d9
Merge pull request #1176 from matrix-org/jryans/await-device-list
...
Ensure cross-signing keys are downloaded when checking trust
2020-01-27 15:34:19 +00:00
J. Ryan Stinnett
4dbeee8cb3
Ignore downloading for tests
2020-01-27 15:28:36 +00:00
J. Ryan Stinnett
adc76c636e
Merge pull request #1172 from matrix-org/bwindels/reduceveriflogging
...
Don't log verification validation errors for normal messages
2020-01-27 15:04:00 +00:00
J. Ryan Stinnett
0dbf89b2b4
Ensure cross-signing keys are downloaded when checking trust
...
When checking cross-signing trust during login, we may not have downloaded keys
yet. This ensures we make an attempt first if needed.
Fixes https://github.com/vector-im/riot-web/issues/12068
2020-01-27 14:55:20 +00:00
Travis Ralston
83241ac17d
Update QR code handling for new URL
...
This doesn't have any meaningful change on the process, just makes it more in line with what we do.
2020-01-27 06:59:04 -07:00
Cédric Van Rompay
6aa5d39357
move new example to own directory
2020-01-27 14:28:50 +01:00
Cédric Van Rompay
1304ecbe03
factor out _initializeFromExportedDevice
2020-01-27 14:12:43 +01:00
RiotRobot
aafc027812
Merge branch 'master' into develop
2020-01-27 11:31:09 +00:00
RiotRobot
d84e0b166b
v4.0.0
2020-01-27 11:28:17 +00:00
RiotRobot
d1d46009cd
Prepare changelog for v4.0.0
2020-01-27 11:28:17 +00:00
Cédric Van Rompay
3a4b6f0ea0
rename "kwargs" to "opts"
2020-01-27 11:48:28 +01:00
Cédric Van Rompay
b3d10ace21
mention export method in import
2020-01-27 11:45:17 +01:00
Cédric Van Rompay
c17df7a6f7
fix typo in comments
2020-01-27 11:42:15 +01:00
David Baker
1c13f5026e
Merge pull request #1173 from matrix-org/dbkr/fix_bootstrap_cleanup
...
Fix bootstrap cleanup
2020-01-27 10:18:37 +00:00
David Baker
b9cfede888
Trust our own cross-signing keys if we verify them with another device
2020-01-25 20:38:11 +00:00
David Baker
49fd9e90a0
this can be const now
2020-01-25 19:48:36 +00:00
David Baker
e09038232e
Fix bootstrap cleanup
...
As hopefully explained in the comment. The symptom of this was that
bootstrapping would work just fine the first time you called it
in any run of the app, but then if called a second time (eg. if you
cancelled by dismissing the password prompt) it would create keys and
upload the public parts but not store the private parts in SSSS,
leaving you with cross signing keys you don't have the private parts
of.
Also use object.assign in the save keys callback just in case we
ever reset a subset of the keys (and also because it makes it a
bit simpler to reason about what objects are where).
2020-01-25 19:42:02 +00:00
Travis Ralston
2cfe310e89
Merge pull request #1155 from matrix-org/travis/qr-verif-rp
...
QR code verification
2020-01-24 08:55:42 -07:00
Bruno Windels
973c7467e8
Merge pull request #1171 from matrix-org/bwindels/fixverifyowndevice
...
expose deviceId prop on device channel
2020-01-24 11:24:23 +00:00
Bruno Windels
583df7ed7d
don't log verification validation errors for normal messages
2020-01-24 12:23:18 +01:00
Bruno Windels
6d05376f04
expose deviceId prop on device channel
...
used to check if a verification came through to_device in the toast
2020-01-24 12:01:20 +01:00
Cédric Van Rompay
e1f832bfa7
fix linting errors
2020-01-24 09:20:43 +01:00
Travis Ralston
b8092cd00b
Make the tests pass
2020-01-23 20:41:52 -07:00
Travis Ralston
3c1dca6cef
Generate a shared secret if we don't have one
2020-01-23 20:15:02 -07:00
Travis Ralston
c0f7dd6fe9
Fix secret size
2020-01-23 20:06:04 -07:00
Travis Ralston
6af6e99480
Expose the request event more readily for consumers
2020-01-23 20:05:56 -07:00
Travis Ralston
c5cbe48668
Remove docs too
2020-01-23 19:29:42 -07:00
Travis Ralston
15707956ef
Remove private key accessors for cross-signing
2020-01-23 19:29:42 -07:00
Travis Ralston
4668fc87a1
Add cross-signing accessors and QR code stuff
2020-01-23 19:29:42 -07: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
Jack Works
7c79e7e836
fix: typos
...
Signed-off-by: Jack Works <jackworks@protonmail.com >
2020-01-23 19:21:19 -07:00
Travis Ralston
925c6ffc3e
Merge pull request #1170 from matrix-org/travis/fix-build-release
...
Move & upgrade babel runtime into dependencies (like it wants)
2020-01-23 15:46:30 -07:00
Travis Ralston
0bf1f48623
Merge pull request #1169 from matrix-org/travis/fix-build
...
Move & upgrade babel runtime into dependencies (like it wants)
2020-01-23 15:45:53 -07:00
Travis Ralston
ffcb1c2513
Move & upgrade babel runtime into dependencies (like it wants)
...
https://babeljs.io/docs/en/babel-runtime
2020-01-23 15:44:59 -07:00
Travis Ralston
f286eb4d11
Move & upgrade babel runtime into dependencies (like it wants)
...
https://babeljs.io/docs/en/babel-runtime
2020-01-23 15:44:36 -07:00
Cédric Van Rompay
9346c83dc1
fix destructuration of potentially nil value
2020-01-23 18:53:42 +01:00
Bruno Windels
a76267f5b0
Merge pull request #1166 from matrix-org/bwindels/verifyowndevicechecks
...
Add unit tests for verifying your own device, remove .event property on verification request
2020-01-23 17:01:43 +00:00
Cédric Van Rompay
1d3a7b3d52
add example for export/import in browser
2020-01-23 16:55:16 +01:00
Cédric Van Rompay
f78f04d553
userId must be included in exported data
2020-01-23 16:55:16 +01:00
Cédric Van Rompay
7b6dabbe9c
add high-level export/import methods
...
not sure how to test these high-level methods though
2020-01-23 16:55:16 +01:00
Cédric Van Rompay
ed01b3b8cf
stop checking structure of exported data
...
it should suffice that the exported data
allows to recreate a device that can do crypto
2020-01-23 16:55:16 +01:00
Cédric Van Rompay
7880a30e57
add importing in OlmDevice.init()
2020-01-23 16:55:16 +01:00
Cédric Van Rompay
3a3ff93450
improve export doc
2020-01-23 16:55:16 +01:00
Cédric Van Rompay
3a1cdd37a3
move export test with other Olm tests to have active sessions
2020-01-23 16:55:16 +01:00
Cédric Van Rompay
8db38f8e75
fix output of getAllEndToEndSessions
2020-01-23 16:55:16 +01:00
Cédric Van Rompay
ff24ef4ee5
add OlmDevice.prototype.export
...
- only exporting account and P2P sessions
- test is halfway done:
- it only prints the export result instead of running assertions on it
- there are no sessions to export
Note: to run only the added test:
node_modules/.bin/jest spec/unit/crypto/algorithms/olm.spec.js --testEnvironment node --testNamePattern OlmDevice
2020-01-23 16:55:16 +01:00
Bruno Windels
3faeec4add
fix lint
2020-01-23 15:59:47 +01:00
Bruno Windels
7d56ee5084
with the change in the linked react-sdk PR, event isn't used anymore
2020-01-23 15:52:23 +01:00
Bruno Windels
b2afaabb8c
add unit tests for verifying your own device over to_device messages
2020-01-23 15:52:07 +01:00
Bruno Windels
3efaf90bc8
Merge pull request #1163 from matrix-org/bwindels/verificationaccceptedbyotherdevice
...
For dm-verification, also consider events sent by other devices of same user as "our" events
2020-01-23 13:27:15 +00:00
Bruno Windels
0c52887688
copyright year
...
Co-Authored-By: J. Ryan Stinnett <jryans@gmail.com >
2020-01-23 10:51:19 +00:00
David Baker
8aa1c1545e
Merge pull request #1164 from matrix-org/dbkr/prepublish_rel
...
Add a prepare script
2020-01-22 20:59:40 +00:00
David Baker
7c84f421c5
Turns out prepublish is deprecated and should be prepare
2020-01-22 20:58:25 +00:00
David Baker
42a1dea7ad
Add a prepublish script
...
So we actually build the lib directory before publishing it
2020-01-22 20:58:18 +00:00
David Baker
d5e9155a33
Merge pull request #1161 from matrix-org/dbkr/prepublish
...
Add a prepare script
2020-01-22 20:56:59 +00:00
Michael Telatynski
5def5ab074
Merge pull request #1162 from matrix-org/t3chguy/crypto/keys/upload/deviceId
...
Remove :deviceId from /keys/upload/:deviceId as not spec-compliant
2020-01-22 17:13:21 +00:00
Bruno Windels
1b242e636b
remove obsolete comment
2020-01-22 17:39:21 +01:00
Bruno Windels
05f05c889a
don't verify in observeOnly mode
2020-01-22 17:39:21 +01:00
Bruno Windels
1367e285c8
have channel decide what is considered "sent by us"
...
for in room verification, if another client accepts the request,
we still want to observe so those events should still be
considered ours, so looking at from_device doesn't work there.
2020-01-22 17:39:21 +01:00
Bruno Windels
45ec3e0bb9
also emit if the phase didn't change but observeOnly did
2020-01-22 17:39:21 +01:00
Bruno Windels
dc38f78da2
add unit tests for verification request
2020-01-22 17:39:21 +01:00
Michael Telatynski
1b6a74fd93
Remove :deviceId from /keys/upload/:deviceId as not spec-compliant
2020-01-22 15:20:13 +00:00
David Baker
9d8a1494aa
Turns out prepublish is deprecated and should be prepare
2020-01-22 14:14:24 +00:00
David Baker
08465cf236
Add a prepublish script
...
So we actually build the lib directory before publishing it
2020-01-22 14:09:01 +00:00
Damir Jelić
7016848401
Merge branch 'poljar/timeline-window-refactor' into develop
2020-01-21 17:01:16 +01:00
poljar
bdd2a9e7e8
timeline-window: Small docfix.
...
Co-Authored-By: J. Ryan Stinnett <jryans@gmail.com >
2020-01-21 16:55:12 +01:00
David Baker
80256e6782
Merge pull request #1158 from matrix-org/dbkr/upload_device_keys_empty_auth
...
Allow a device key upload request without auth
2020-01-21 15:03:58 +00:00
Damir Jelić
7907ef44f8
timeline-window: Refactor out and expose the logic to extend the window.
2020-01-21 15:42:55 +01:00
Damir Jelić
3a97a24686
timeline-window: Refactor out the TimelineIndex getting logic.
2020-01-21 15:21:10 +01:00
David Baker
7f208ed44e
Allow a device key upload request without auth
...
This is useful for querying the supported auth methods.
2020-01-21 11:35:49 +00:00
Bruno Windels
22e6cfaebb
Merge pull request #1140 from matrix-org/bwindels/verification-right-panel
...
Support for .ready verification event (MSC2366) & other things
2020-01-20 17:17:51 +00:00
Bruno Windels
9d6f873048
remove obsolete and now broken method
...
a request should be accepted by calling accept() on the request.
2020-01-20 18:13:18 +01:00
Bruno Windels
d526229a0f
update jsdoc of requestVerificationDM
...
which now returns a Promise of VerificationRequest instead of verifier
2020-01-20 18:12:52 +01:00
Bruno Windels
aac68290ac
remove obsolete comment
2020-01-20 17:56:28 +01:00
Bruno Windels
bd9a2c13eb
implement API change in sas test for requestVerificationDM
2020-01-20 17:55:48 +01:00
Bruno Windels
e5c65d53f8
set transaction_id for remote echos in TestClient
...
as InRoomChannel looks at this to decide whether an event is
a remote echo (and to pass it to the verifier or not)
2020-01-20 17:54:26 +01:00
Bruno Windels
121e9d0225
don't overwrite a request when the remote echo arrives before event_id
2020-01-20 17:39:18 +01:00
Bruno Windels
c12a3b6610
more fixup: make sure remote echo doesn't arrive earlier for TestClient
2020-01-20 17:35:44 +01:00
RiotRobot
43fee73924
v4.0.0-rc.1
2020-01-20 14:24:36 +00:00
RiotRobot
b72e9cb36c
Prepare changelog for v4.0.0-rc.1
2020-01-20 14:24:35 +00:00
Bruno Windels
77d0a76186
fixup: another timeout
2020-01-20 14:52:34 +01:00
Bruno Windels
e89528315d
enable fake timers for consistency
...
although it doesn't make or break the test
2020-01-20 14:04:32 +01:00
Bruno Windels
c34ccc9d53
adjust test: requestVerification returns the request instead of verifier
2020-01-20 14:03:43 +01:00
Bruno Windels
e51ba795f3
to make this work while using fake timers, don't use setTimeout
...
but instead use Promise.resolved() as then always runs in the next tick.
2020-01-20 13:56:39 +01:00
J. Ryan Stinnett
737dcc1d29
Merge pull request #1154 from matrix-org/jryans/complete-sec-confused
...
Convert secret storage to new account data API
2020-01-20 11:30:55 +00:00
Travis Ralston
dba08d230e
Merge pull request #1157 from aaronraimist/v5-safe
...
Add v5 as a safe room version
2020-01-18 19:29:44 -07:00
Aaron Raimist
15fb363874
Add v5 as a safe room version
...
Signed-off-by: Aaron Raimist <aaron@raim.ist >
2020-01-18 16:37:19 -06:00
Bruno Windels
cbe2965849
mention reason in cancellation error
2020-01-17 19:01:30 +01:00
Bruno Windels
59bfc45856
use setTimeout of setInterval
2020-01-17 19:01:08 +01:00
J. Ryan Stinnett
ceb4581f91
Convert secret storage to new account data API
...
This converts all secret storage to use a newer account data API which uses
cached data in stored when available, but also knows how to ask the homeserver
in case it's invoked during early client startup before the initial sync.
As a consequence, it means most secret storage APIs are now async.
Part of https://github.com/vector-im/riot-web/issues/11901
2020-01-17 17:56:05 +00:00
Bruno Windels
07cc93cca2
fix lint
2020-01-17 16:58:19 +01:00
Travis Ralston
1205178e26
Merge branch 'develop' into bwindels/verification-right-panel
2020-01-16 13:13:00 -07:00
J. Ryan Stinnett
8217c0f05f
Merge pull request #1153 from matrix-org/jryans/cross-signing-setup
...
Add API to get account data from server
2020-01-16 16:42:12 +00:00
J. Ryan Stinnett
c5c27b3cb0
Add API to get account data from server
...
This adds an API account data getter that bypasses the local store and goes
directly to the homeserver.
Part of https://github.com/vector-im/riot-web/issues/11214
2020-01-15 21:17:53 +00:00
Travis Ralston
04bbfae08e
Merge pull request #1151 from matrix-org/travis/sourcemaps
...
Fix sourcemaps by refactoring the build system
2020-01-15 10:11:25 -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
Travis Ralston
ccca6f4b6d
Re-add dist script usage to js-sdk and release script
2020-01-14 14:44:06 -07: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
Travis Ralston
4049a32871
Fix imports in crypto index post-merge
2020-01-14 10:08:26 -07:00
Travis Ralston
331c9ce1ff
[CONFLICT CHUNKS] Merge branch 'develop' into travis/sourcemaps
2020-01-14 10:04:36 -07:00
David Baker
81ab2aca37
spelling
...
Co-Authored-By: J. Ryan Stinnett <jryans@gmail.com >
2020-01-14 14:10:17 +00:00
David Baker
564b8276bf
Merge pull request #1144 from matrix-org/dbkr/key_backup_resign
...
Sign key backup with cross-signing key on upgrade
2020-01-14 11:30:06 +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
J. Ryan Stinnett
8dbef8b68e
Merge pull request #1145 from aaronraimist/lock
...
Emoji verification: Change name of 🔒 to lock
2020-01-13 21:32:49 +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
Hubert Chathi
fa679e873d
Merge pull request #1147 from uhoreg/separate_encrypted_content
...
use a separate object for each encrypted content
2020-01-13 10:17:32 -05: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
RiotRobot
92df82bfa9
Merge branch 'master' into develop
2020-01-13 12:55:18 +00:00
RiotRobot
0dc9c27651
v3.0.0
2020-01-13 12:52:23 +00:00
RiotRobot
f6f54c35a3
Prepare changelog for v3.0.0
2020-01-13 12:52:22 +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
Aaron Raimist
9beb259333
Emoji verification: Change name of 🔒 to lock
...
Signed-off-by: Aaron Raimist <aaron@raim.ist >
2020-01-09 21:55:43 -06:00
Hubert Chathi
63c57e8e02
record, report, and notify about olm errors
2020-01-09 22:19:35 -05:00
David Baker
0448a7ea68
Sign key backup with cross-signing key on upgrade
...
Add a signature from the cross-signing master key to the key
backup when upgrading the key backup into cross-signing.
For https://github.com/vector-im/riot-web/issues/11747
2020-01-09 20:46:36 +00:00
Travis Ralston
5bd005b28a
Merge pull request #1143 from matrix-org/travis/sourcemaps-dev
...
Sourcemaps: develop -> feature branch
2020-01-07 15:30:56 -07:00
Travis Ralston
3aec6367d1
Fix OlmDevice import for "algorithms" to fix tests
2020-01-07 15:09:46 -07:00
Travis Ralston
cea3831c20
Fix merge conflicts
...
This is done outside of the merge to highlight the changes, hopefully.
2020-01-07 14:43:36 -07:00
Travis Ralston
18ccceca2d
[CONFLICT CHUNKS] Merge branch 'develop' into travis/sourcemaps-dev
2020-01-07 14:37:17 -07:00
Travis Ralston
fffcdcb514
Merge pull request #1134 from matrix-org/travis/babel7-wp-media
...
Use a safer import/export scheme for the ContentRepo utilities
2020-01-07 14:27:36 -07:00
Hubert Chathi
efadf374d6
Merge pull request #1142 from uhoreg/reporting_no_key_fix
...
Fix error handling in decryptGroupMessage
2020-01-07 11:36:53 -05:00
Hubert Chathi
55ecb40190
don't keep processing if we have an error
2020-01-07 11:25:30 -05: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
RiotRobot
786590eadc
v3.0.0-rc.1
2020-01-06 13:54:48 +00:00
RiotRobot
c9174188ba
Prepare changelog for v3.0.0-rc.1
2020-01-06 13:54:47 +00:00
Michael Telatynski
64fb79e0be
Merge pull request #1141 from matrix-org/t3chguy/fuzzier_disambiguate
...
Make displayName disambiguation more fuzzy especially against RTL/LTR content
2020-01-06 13:12:39 +00:00
Michael Telatynski
088ff5d0aa
Merge pull request #1129 from matrix-org/t3chguy/m_too_large
...
stop trying to resend event if we get M_TOO_LARGE
2020-01-06 11:42:27 +00:00
Michael Telatynski
99e58b0297
Make displayName disambiguation more fuzzy especially against RTL/LTR content
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2020-01-05 19:40:04 +00:00
Travis Ralston
f4d1c5c006
Switch back to plain export functions instead of class
2020-01-03 12:16:54 -07:00
Bruno Windels
72fd1e4e7c
add note to fix bug later
2020-01-03 18:21:33 +01:00
Bruno Windels
f44e0a8e12
parenthesis in wrong place broke logic
2020-01-03 18:21:18 +01:00
Bruno Windels
9338d9c2a6
commit logging
2020-01-03 18:20:59 +01:00
Bruno Windels
75fc25feb5
fix method names
2020-01-03 18:20:50 +01:00
Bruno Windels
5919874f6f
check !unsent instead of requested for emitting the crypto.request event
2020-01-03 18:20:16 +01:00
Bruno Windels
213bb9dba2
allow to move straight from UNSENT to STARTED
...
this was one of the things breaking to_device verification
2020-01-03 18:19:49 +01:00
Bruno Windels
3a9dc37d02
new state machine relies on having remote echos, so fake for to_device
2020-01-03 18:18:39 +01:00
Bruno Windels
423c8a886d
use isRemoteEcho to determine if the event is theirs or not
...
rather than the sender and from_device (which is not always set)
as this was one of the things breaking to_device verification
of ones own devices.
2020-01-03 18:16:25 +01:00
David Baker
f8a1e98de1
Merge pull request #1139 from matrix-org/dbkr/fix_create_key_backup_crosssigning_disabled
...
Fix creating a key backup with cross signing diabled
2020-01-03 14:52:16 +00:00
David Baker
5487cf2070
Fix callback check
...
We need to check for getCrossSisgningKey but that was added
unconditionally elsewhere - only add it if we actually have a
getSecretStorageKey callback to use.
2020-01-03 14:36:04 +00:00
J. Ryan Stinnett
e998be3a9b
Fix typos in comments
2020-01-03 14:21:10 +00:00
David Baker
d70767ef3a
Merge pull request #1138 from matrix-org/dbkr/key_backup_checkdevicetrust
...
Use checkDeviceTrust with key backup
2020-01-03 14:03:50 +00:00
David Baker
fbb355c5c9
Thank you once again, o great linter, for saving our lines from being too long
2020-01-03 14:02:38 +00:00
David Baker
20bc8071fc
Fix creating a key backup with cross signing diabled
...
It broke if no scret key callback was supplied but a cross-signing
identity did exist (as hopefully explained in comment).
Fixes https://github.com/vector-im/riot-web/issues/11763
2020-01-03 13:52:36 +00:00
David Baker
0438c6c51c
Oh great linter, your wisdom knows no bounds.
2020-01-03 13:37:55 +00:00
David Baker
b39abba41e
Use checkDeviceTrust with key backup
...
We did check if it was signed with a cross signing key which should
be the norm going forward, but for completeness, use the proper
cross-signing ernabled check for sigs from individual devices too.
Also adds a deviceTrust member to the signature so the app can see
the cross-signing trust status ofthe device without having to
recalculate it.
2020-01-03 13:32:31 +00:00
Bruno Windels
3ec8233a2d
fixes & implement timeout
2020-01-03 13:42:06 +01:00
Bruno Windels
8ed51c806e
don't cancel or timeout when verify isn't called
2020-01-03 13:42:06 +01:00
Bruno Windels
57135a898f
don't mark events loaded from cache as live events
...
this makes the verifier want to interact with the other party
when just reloading the session.
2020-01-03 13:42:06 +01:00
Bruno Windels
0d3d27a519
fixes and cleanup for historical
2020-01-03 13:42:06 +01:00
Bruno Windels
cf42ad83da
WIP historical
2020-01-03 13:42:06 +01:00
Bruno Windels
e7bcb61a3b
attempt at only creating verifier for live events
...
but doesn't work yet? data where liveEvent is fished out is undefined
2020-01-03 13:42:06 +01:00
Bruno Windels
883b83f1da
move blocking non-participating users back to InRoomChannel
...
as it doesn't need to happen for ToDeviceChannel
2020-01-03 13:42:06 +01:00
Bruno Windels
48977e6eaa
get other party user id by inspecting initial event sender/to fields
...
also fail validation with any event not sent by or directed to us
2020-01-03 13:42:06 +01:00
Bruno Windels
efe2488155
get other user id from channel
...
next up is inspecting the .request event to
determine it reliably in InRoomChannel
2020-01-03 13:42:06 +01:00
Bruno Windels
29c04b6f9c
only move to PHASE_DONE when both .done events are received
...
as once in done, the request is removed from the request map
and the second .done event that comes in will not find the request
anymore, so the request wouldn't be attached to the event anymore,
breaking rendering it in the timeline.
2020-01-03 13:42:06 +01:00
Bruno Windels
984b6234d2
don't block remote echos to VerificationRequests
...
also put logic to block non-participating senders in VerificationRequest
so it is shared between both channels.
Remote echo's should not be passed to the verifier though.
2020-01-03 13:42:06 +01:00
Bruno Windels
dac4a5452d
make this a public prop
2020-01-03 13:42:06 +01:00
Bruno Windels
5f9e82204a
more ready and remote echo support
2020-01-03 13:42:06 +01:00
Bruno Windels
c4142d93c3
store in-room verification requests by roomId, txnId
...
as it's harder to determine the other side of a request, given
the in-room code also processes remote echos for own events.
2020-01-03 13:42:06 +01:00
Bruno Windels
b34a2c7ee2
WIP
2020-01-03 13:42:06 +01:00
Bruno Windels
cd7cc1b71f
set verification request on event
2020-01-03 13:42:06 +01:00
Bruno Windels
4c6dd564a4
filter verification methods from argument
2020-01-03 13:42:06 +01:00
Bruno Windels
28e46a82ea
expose common phases as properties
...
so we don't need to import the PHASE_ constants where we need to check
2020-01-03 13:42:06 +01:00
Bruno Windels
10e294784e
waitForVerifier is unused now, make it more broadly useful with callback
2020-01-03 13:42:06 +01:00
Bruno Windels
2da725340c
return request instead of verifier from verification methods
...
as MSC2366 adds an extra interactive step to the verification process,
we can't wait for the verifier after sending the request.
This is a breaking change in the js-sdk as it changes the return type
of an existing method.
2020-01-03 13:42:06 +01:00
Bruno Windels
882d3a765d
support .ready event in VerificationRequest
2020-01-03 13:42:06 +01:00
Travis Ralston
e52e2f10bf
Merge pull request #1131 from matrix-org/travis/babel7-wp-main
...
Add additional properties to package.json for riot-web's webpack
2020-01-02 10:51:52 -07:00
Travis Ralston
dfc19e79f1
Merge pull request #1133 from matrix-org/travis/babel7-wp-idb
...
Fix import for indexeddb crypto store
2019-12-27 12:04:11 -07:00
Travis Ralston
f59bd3da7a
Merge pull request #1132 from matrix-org/travis/babel7-wp-request
...
Use the right request when creating clients
2019-12-27 11:56:52 -07:00
Travis Ralston
50791e3aa7
Make ContentRepo a class for easier importing
...
Exporting it the way we were was causing problems for webpack way down
the line, so we export it differently here to get around that. We also
have to fix all the import references so we import the right thing.
2019-12-22 20:51:30 -07:00
Travis Ralston
8211b2358f
Fix import for indexeddb crypto store
2019-12-22 20:48:24 -07:00
Travis Ralston
f2e1f3393d
Add additional properties to package.json for riot-web's webpack
...
See https://github.com/vector-im/riot-web/pull/11679/commits/a1c9551bc8a1a6d61afed7e87ff7cebb3042a5ac
2019-12-22 20:47:45 -07:00
Travis Ralston
0ffec0a32d
Use the right request when creating clients
2019-12-22 20:45:04 -07:00
Travis Ralston
1e5e705458
Regen lockfile
2019-12-19 17:10:32 -07:00
Travis Ralston
f2af6ea60d
Merge pull request #1127 from matrix-org/travis/babel7-btargets
...
Target NodeJS 10, minified browser bundle, and other publishing/package things
2019-12-19 17:08:57 -07:00
Travis Ralston
de9187fee2
Merge branch 'travis/sourcemaps' into travis/babel7-btargets
2019-12-19 17:08:50 -07:00
Travis Ralston
5eed091185
Merge pull request #1126 from matrix-org/travis/babel7-updated-sourcemaps
...
Re-focus sourcemap generation
2019-12-19 17:08:03 -07:00
Travis Ralston
06644b5748
Merge pull request #1125 from matrix-org/travis/babel7-cleanup
...
Remove ancient polyfill for prototype inheritance
2019-12-19 17:07:56 -07:00
Travis Ralston
bb853f65e0
Merge pull request #1124 from matrix-org/travis/babel7-test-sourcemaps
...
Remove "source-map-support" from tests because it makes sourcemaps worse
2019-12-19 17:07:49 -07:00
Travis Ralston
eb830dd014
Merge pull request #1123 from matrix-org/travis/babel7-strict
...
Remove ancient "use strict" annotations
2019-12-19 17:07:41 -07:00
Travis Ralston
de82d1e90c
Merge pull request #1122 from matrix-org/travis/babel7-src-es6
...
Use ES6 imports/exports instead of older CommonJS ones
2019-12-19 17:07:29 -07:00
Travis Ralston
53e838083c
Fix terser for new sourcemap handling
2019-12-19 14:04:01 -07:00
Travis Ralston
975368de8f
Externalize our sourcemaps for the browser bundle
2019-12-19 13:58:08 -07:00
Travis Ralston
89173be055
Update README to describe build targets better
2019-12-19 13:42:47 -07:00
David Baker
fe2bdd027e
Merge pull request #1128 from matrix-org/dbkr/keybackup_migrate
...
Add support for passthrough SSSS secrets
2019-12-19 19:55:39 +00:00
Travis Ralston
b376a7c399
Improve minification
...
uglifify was being applied inline, which only resulted in one asset. With this we've gone back to using `terser` to generate the minified version of the browser bundle, which also exports sourcemaps interpretted from browserify.
The babelify options have changed to ensure that browser-safe code gets published so terser can more effectively parse it. It doesn't like things like classes it seems, but is fine with let/const and such. The preset-env preset automatically knows it is targeting a browser.
2019-12-19 12:25:28 -07:00
Travis Ralston
2df262d877
Reword concerns about default exports
2019-12-19 11:56:47 -07:00
David Baker
320ab050fe
Stray p
2019-12-19 17:28:07 +00:00
David Baker
1816d7aa4c
comment
2019-12-19 17:27:15 +00:00
David Baker
41b763f331
Just get the private key from the decryption object
2019-12-19 17:25:28 +00:00
Michael Telatynski
36db57615d
stop retrying to send event if we get M_TOO_LARGE
2019-12-19 13:21:05 +00:00
David Baker
8f7ed1dc15
Lint
2019-12-19 11:50:25 +00:00
David Baker
83a8a0cf21
Add support for passthrough SSSS secrets
...
So we can migrate key backup keys
Adding a passthrough secret itself isn't exposed outside of the
js-sdk: hopefully this should only ever be necessary for this
bootstrap process which the js-sdk handles.
2019-12-19 11:23:57 +00:00
Travis Ralston
ffb0e27efa
We don't need no dist
2019-12-18 11:37:21 -07:00
Travis Ralston
e71c4b3bc4
Publish src to npm as well
...
So downstream projects can use it via /src if they really want to.
2019-12-17 19:35:00 -07:00
Travis Ralston
85a0adb004
Reorder babel arguments to leave more of it to the config
2019-12-17 19:31:53 -07:00
Travis Ralston
f1475cd3d7
Target NodeJS 10 and minified browser bundle
...
We release with Node 10 currently, so we should use that. The browser bundle is minfied because we want to keep it, so we might as well shave about 1mb off of it.
2019-12-17 16:18:11 -07:00
Travis Ralston
8c14812537
Re-focus sourcemap generation
...
We'll let babel decide where best to put the sourcemaps. We previously needed inline sourcemaps for browserify to work, though `babelify` takes care of this now that we use `src/` (without sourcemaps in `lib/` being inline, the transform wouldn't work).
Typescript sourcemaps have also been enabled as a mental reminder that they will be exported. Babel is the only thing that uses the tsconfig for generation right now, and it appears to ignore the sourcemaps field.
2019-12-17 16:14:14 -07:00
Travis Ralston
27aedf0563
Remove ancient polyfill for prototype inheritance
...
None of our targets care about this.
2019-12-17 16:07:56 -07:00
Travis Ralston
95c2c1643e
Remove "source-map-support" from tests because it makes sourcemaps worse
...
Now that we're pointing at `src/` for tests, we can stop trying to load source maps from random places. With this dependency used, source maps are off by a few lines.
2019-12-17 15:45:15 -07: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
0790201cca
Add tsify so the browser bundle can use src/
2019-12-17 15:21:22 -07:00
Travis Ralston
5938c49453
Move index files for outputs and update pipeline
...
Having them in `src/` helps IDEs do autocomplete a bit more nicely, and helps us not get confused about which one is referencing which. They have also been converted to TypeScript for typings to be generated.
2019-12-17 15:16:37 -07:00
Travis Ralston
14fb080f80
Document ES6 changes
2019-12-17 15:16:37 -07:00
Travis Ralston
034b8db070
Convert tests to ES6
...
The earlier commit, d3ce0cb82f , has most of the juicy details on this. In addition to d3ce's changes, we also:
* Use `TestClient` in many integration tests due to subtle behaviour changes in imports when switching to ES6. Namely the behaviour where setting the request function is less reliable in the way we did it, but `TestClient` is very reliable.
* We now use the Olm loader more often to avoid having to maintain so much duplicate code. This makes the imports slightly easier to read.
2019-12-17 15:16:37 -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
Travis Ralston
4dbda8dffd
Merge pull request #1113 from matrix-org/travis/babel7-watcher
...
[BREAKING] Refactor the entire build process
2019-12-12 16:09:18 -07:00
Travis Ralston
01f32e0f45
Undo change to utils import
2019-12-12 14:14:19 -07:00
J. Ryan Stinnett
9a0de545b8
Merge pull request #1118 from matrix-org/jryans/4s-new-key-backup
...
Add support for key backups using secret storage
2019-12-12 17:33:05 +00:00
Travis Ralston
86c530e967
Leave the description alone
2019-12-12 10:27:02 -07:00
J. Ryan Stinnett
049b769f68
Add docs
2019-12-12 17:27:01 +00:00
Travis Ralston
dcd6626fe6
Fix readme for new lack of minification
2019-12-12 10:26:44 -07:00
Travis Ralston
601cefe975
Fix the release script for new build process
...
It doesn't seem to care what the version is, so just build the SDK normally.
2019-12-12 10:25:19 -07:00
J. Ryan Stinnett
1fc2ab7f7d
Fix backup tests
2019-12-12 16:06:46 +00:00
J. Ryan Stinnett
f2c5b2bd49
Emit user trust via the client
2019-12-12 15:41:56 +00:00
J. Ryan Stinnett
f31f88ce31
Merge remote-tracking branch 'origin/develop' into jryans/4s-new-key-backup
2019-12-12 15:38:32 +00:00
J. Ryan Stinnett
d35f5152a9
Restore key backup from stored key
2019-12-12 15:11:48 +00:00
J. Ryan Stinnett
d8e19db8bf
Merge pull request #1117 from matrix-org/jryans/rm-user-verif-event
...
Remove unused user verification event
2019-12-12 15:06:13 +00:00
J. Ryan Stinnett
376e56d5fd
Guard free calls
2019-12-12 14:49:49 +00:00
J. Ryan Stinnett
72f856eca4
Add util to check whether backup key is stored
2019-12-12 14:46:40 +00:00
J. Ryan Stinnett
dbab75eae7
Report cross-signing sig as JS style boolean
2019-12-12 13:25:03 +00:00
J. Ryan Stinnett
7457da80e9
Clean up backup trust checks
...
There were several inaccurate comments and redundant code paths around backup
trust checks.
2019-12-12 13:18:34 +00:00
J. Ryan Stinnett
443e01d38c
Always check backup validity, even during enabling
...
This ensure we run the full backup validity check even when enabling (rather
than assuming we've signed things correctly) to ensure any problem are reported
right away.
2019-12-12 13:15:32 +00:00
J. Ryan Stinnett
880438c5c1
Remove unused user verification event
...
This was added with cross-signing work, but nothing actually emits it. Let's
remove it until we find a need.
2019-12-12 12:13:40 +00:00
Travis Ralston
1984cf02cf
Merge branch 'develop' into travis/babel7-watcher
2019-12-11 17:22:42 -07:00
J. Ryan Stinnett
5423d3ca61
Merge pull request #1116 from matrix-org/jryans/4s-new-key-backup
...
Fix check for private keys
2019-12-11 17:54:19 +00:00
J. Ryan Stinnett
3f448df1d3
Create key backup with secret storage
...
When secret storage is enable, create a random key for encrypting key backups
and store it in SSSS.
2019-12-11 16:29:02 +00:00
J. Ryan Stinnett
a626b44bbe
Fix check for private keys
...
This check for new keys was always true, instead of checking whether something
was added.
2019-12-11 14:58:57 +00:00
J. Ryan Stinnett
4c6e2fca91
Merge pull request #1115 from matrix-org/jryans/restore-watch
...
Restore watching mode for `start:watch`
2019-12-11 14:58:19 +00:00
J. Ryan Stinnett
ab4d9ae4bc
Restore watching mode for start:watch
...
Regressed by #1112
2019-12-11 14:50:28 +00:00
J. Ryan Stinnett
fb3d075da2
Merge pull request #1079 from matrix-org/jryans/4s-new-key-backup
...
Add secret storage bootstrap flow
2019-12-11 11:04:22 +00:00
J. Ryan Stinnett
657e48de7e
Fix grammar
2019-12-11 10:51:12 +00:00
J. Ryan Stinnett
1b63cb1406
Merge remote-tracking branch 'origin/develop' into jryans/4s-new-key-backup
2019-12-11 10:09:29 +00:00
Travis Ralston
4bdabbfbe9
[BREAKING] Refactor the entire build process
...
For https://github.com/vector-im/riot-web/issues/8880
Features:
* Export modern JS
* Export typings
* Export source maps that actually mean something
* No longer supporting minified builds
This is a step towards being a boring SDK and not anticipating an install location.
This commit requires a major version bump of the SDK.
2019-12-10 13:25:07 -07:00
Travis Ralston
01f0dd4498
Merge pull request #1112 from matrix-org/travis/babel-7
...
Part 1 of many: Upgrade to babel@7 and TypeScript
2019-12-10 12:14:24 -07:00
Travis Ralston
f59650d8a6
Use better-docs jsdoc template for TypeScript+JS documentation
...
See description of https://github.com/matrix-org/matrix-js-sdk/pull/1112#issue-351540830 for more info
2019-12-10 11:59:46 -07:00
Travis Ralston
0e444fd925
Re-add babel-eslint
...
This was accidentally removed.
2019-12-10 11:53:02 -07:00
Travis Ralston
9b8b57d186
Convert randomstring to typescript as a proof of concept
2019-12-10 11:50:01 -07:00
Travis Ralston
ca6a52727c
Fix logger imports in tests
2019-12-10 11:39:56 -07:00
Travis Ralston
3dfde6bf6a
Setup for babel@7 + typescript
...
Refs:
* https://github.com/matrix-org/matrix-js-sdk/pull/1012
* https://github.com/matrix-org/matrix-js-sdk/pull/1106
2019-12-10 11:31:23 -07:00
J. Ryan Stinnett
780394b051
Merge remote-tracking branch 'origin/develop' into jryans/4s-new-key-backup
2019-12-10 17:54:02 +00:00
J. Ryan Stinnett
6942e3467b
Rework to hold cross-signing keys in JS SDK as needed
2019-12-10 17:36:35 +00:00
Michael Telatynski
70eb8a7300
Merge pull request #1100 from matrix-org/t3chguy/remove_bluebird_13
...
Remove Bluebird: phase 2.5
2019-12-10 16:58:22 +00:00
Michael Telatynski
15a8c23cd0
Merge pull request #1088 from matrix-org/t3chguy/remove_bluebird_12
...
Remove Bluebird: phase 3
2019-12-10 16:55:23 +00:00
Hubert Chathi
49f0e368d0
Merge pull request #1104 from matrix-org/uhoreg/ignore_verification_done
...
ignore m.key.verification.done messages when we don't expect any more messages
2019-12-10 09:27:22 -05:00
Bruno Windels
590608a215
Merge pull request #1111 from matrix-org/bwindels/fix-verif-remote-echo-cancel
...
dont cancel on remote echo of own .request event
2019-12-10 14:09:47 +00:00
Bruno Windels
202fec2a35
dont cancel on remote echo of own .request event
2019-12-10 14:35:17 +01:00
Bruno Windels
817bfa35e5
Merge pull request #1109 from matrix-org/bwindels/accept-verif-request-rebased
...
Refactor verification request code
2019-12-10 11:10:01 +00:00
Michael Telatynski
110c9800f0
Merge branches 't3chguy/remove_bluebird_12' and 't3chguy/remove_bluebird_13' of github.com:matrix-org/matrix-js-sdk into t3chguy/remove_bluebird_12
2019-12-10 00:19:03 +00:00
Michael Telatynski
1a6dc973bb
Merge branches 'develop' and 't3chguy/remove_bluebird_13' of github.com:matrix-org/matrix-js-sdk into t3chguy/remove_bluebird_13
2019-12-10 00:18:32 +00:00
J. Ryan Stinnett
44dd674dab
Note about static potential
2019-12-09 17:57:24 +00:00
J. Ryan Stinnett
4a3ce640d7
Document verification methods accepts cross-signing key ID as well
2019-12-09 17:20:54 +00:00
Bruno Windels
df6ebf83b4
fix tests
2019-12-09 17:45:01 +01:00
Bruno Windels
e5dcc5a407
use verification request with channel from crypto
2019-12-09 17:45:01 +01:00
Bruno Windels
1ee8abb0e6
wrap channel passed to verifier to nofity request
...
so request is notified when verifier sends an event
2019-12-09 17:45:01 +01:00
Bruno Windels
dd40435425
make verifier use channel instead of client straight away
...
so it is agnostic of the channel used
2019-12-09 17:45:01 +01:00
Bruno Windels
74cb57c761
extract DM verification specific things into InRoomChannel
2019-12-09 17:45:01 +01:00
Bruno Windels
86123f28f7
extract to_device verification specific things into ToDeviceChannel
2019-12-09 17:45:01 +01:00
Bruno Windels
f97ab32e7c
extract common logic between normal & DM verif into single request class
2019-12-09 17:45:01 +01:00
RiotRobot
b0e2544e4b
Merge branch 'master' into develop
2019-12-09 11:25:47 +00:00
RiotRobot
0d59963b53
v2.4.6
2019-12-09 11:23:37 +00:00
RiotRobot
c669aafedb
Prepare changelog for v2.4.6
2019-12-09 11:23:37 +00:00
J. Ryan Stinnett
2a2a40af7a
Add separate check for secret storage keys
...
Decryption vs. signing keys are calculated differently and so require separate
check functions.
2019-12-06 17:51:22 +00:00
J. Ryan Stinnett
1df12d1677
Fix type docs for checkPrivateKey
2019-12-06 14:41:29 +00:00
J. Ryan Stinnett
14a2d7e860
Add docs for more exported cross-signing APIs
2019-12-06 13:20:57 +00:00
J. Ryan Stinnett
3f2c05664f
More unstable notices
2019-12-06 13:13:20 +00:00
J. Ryan Stinnett
9b05d1d68e
Merge remote-tracking branch 'origin/develop' into jryans/4s-new-key-backup
2019-12-06 12:08:33 +00:00
J. Ryan Stinnett
772d668389
Merge pull request #1105 from matrix-org/jryans/xs-dl-storage
...
Fix device list's cross-signing storage path
2019-12-06 12:06:49 +00:00
J. Ryan Stinnett
03360a663e
Fix device list's cross-signing storage path
...
Some variables were changed during the course of the initial cross-signing PR
(https://github.com/matrix-org/matrix-js-sdk/pull/832 ) without updating the
storage path to match, so we weren't storing / loading cross-signing info for
devices in the end.
This updates storage and loading to match where the data now lives in memory.
2019-12-06 11:59:17 +00:00
Hubert Chathi
e1e9f690c9
ignore m.key.verification.done messages when we don't expect any more messages
2019-12-05 12:53:59 -05:00
J. Ryan Stinnett
934e81d16c
Clarify the key backup integration is unfinished
2019-12-05 16:36:17 +00:00
J. Ryan Stinnett
88bb31d3e6
Expose deriveKey from passphrase
2019-12-05 16:30:10 +00:00
J. Ryan Stinnett
33f5894547
Adjust secret key adding to consume instead of create
...
This changes `addKey` for secret storage to consume info about a pre-generated
key, rather than creating the key in middle of the method. This eases UI work
that want to have the public and private keys earlier on in the flow.
2019-12-05 16:30:10 +00:00
David Baker
fa46d2bef8
Merge pull request #1103 from matrix-org/dbkr/yarn_upgrade_dec19
...
yarn upgrade
2019-12-05 13:58:50 +00:00
J. Ryan Stinnett
65f8556ee9
Include KDF params in recovery key info
...
This adjusts the metadata from `createRecoveryKeyFromPassphrase` to include KDF
info formatted in the way secret storage expects. Since
`prepareKeyBackupVersion` did something similar, we adjust it to use the new
function and reshape the objects.
2019-12-05 10:25:24 +00:00
Michael Telatynski
ebe174fbef
lets *not* get rid of pointless waits :D
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2019-12-04 23:47:53 +00:00
Michael Telatynski
eaaeedbb37
Merge branches 'develop' and 't3chguy/remove_bluebird_12' of github.com:matrix-org/matrix-js-sdk into t3chguy/remove_bluebird_12
2019-12-04 23:44:04 +00:00
Michael Telatynski
bf45c176a7
get rid of bunch of seemingly pointless waits
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2019-12-04 23:42:16 +00:00
Michael Telatynski
87a8e4c216
Apply uhoreg's patch (with jesty stuff changed out)
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2019-12-04 23:37:49 +00:00
Michael Telatynski
30cc7d4f0f
Fix one of the crypto.spec.js failures
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2019-12-04 23:31:20 +00:00
Michael Telatynski
4a47867e49
Down to two test failures
2019-12-04 19:17:58 +00:00
J. Ryan Stinnett
5fced642fa
Allow getSecretStorageKey to be async
2019-12-04 17:30:27 +00:00
J. Ryan Stinnett
9fb559307b
Add recovery key generation path
2019-12-04 15:32:22 +00:00
J. Ryan Stinnett
96c8c2b9c3
Test for cross-signing private key as well as public
2019-12-04 15:16:38 +00:00
J. Ryan Stinnett
145cdf6985
Remove extra space
2019-12-04 14:59:39 +00:00
J. Ryan Stinnett
5910fd95ff
Treat secret as not stored if its key info is missing
2019-12-04 14:23:47 +00:00
J. Ryan Stinnett
c0dbf2df7f
Publicise method testing for secret storage key existence
2019-12-04 14:23:47 +00:00
David Baker
cfaadef669
yarn upgrade
2019-12-04 14:19:38 +00:00
J. Ryan Stinnett
eeffe208ec
Clarify client-level method for adding secret storage keys
2019-12-04 13:45:56 +00:00
RiotRobot
358f13500b
v2.4.6-rc.1
2019-12-04 11:57:08 +00:00
RiotRobot
016f16954a
Prepare changelog for v2.4.6-rc.1
2019-12-04 11:57:07 +00:00
J. Ryan Stinnett
9dc61faa6f
Add bootstrap option to specify storage key
2019-12-04 11:36:25 +00:00
J. Ryan Stinnett
2173ab3437
Add test for bootstrapping from scratch
2019-12-04 10:59:28 +00:00
Travis Ralston
c1543545d2
Merge pull request #1102 from matrix-org/travis/aliases
...
Update alias handling
2019-12-03 13:54:27 -07:00
Travis Ralston
5da936d96a
Fix tests
2019-12-03 13:38:40 -07:00
Travis Ralston
0dead73837
Update alias handling
...
Fixes https://github.com/vector-im/riot-web/issues/11551
2019-12-03 12:29:50 -07:00
J. Ryan Stinnett
66a6dd1f0c
Switch to Node compatible base64 handling
2019-12-03 18:01:45 +00:00
Michael Telatynski
8a8109272a
fix undef3
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2019-12-02 23:45:12 +00:00
Michael Telatynski
7ea30c449e
Merge branch 't3chguy/remove_bluebird_13' of github.com:matrix-org/matrix-js-sdk into t3chguy/remove_bluebird_13
2019-12-02 23:43:32 +00:00
Michael Telatynski
a6e4096773
fix
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2019-12-02 23:43:06 +00:00
Michael Telatynski
c1e2d646b6
undo remove
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2019-12-02 23:42:10 +00:00
Michael Telatynski
710ac6847d
fix undef2
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2019-12-02 23:39:47 +00:00
Michael Telatynski
f0267eae36
fix undef
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2019-12-02 23:38:55 +00:00
Michael Telatynski
1632ee3537
fix order
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2019-12-02 23:18:26 +00:00
Michael Telatynski
a16cdb948c
Fix cross-signing.spec by waiting for right emit
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2019-12-02 23:12:45 +00:00
Michael Telatynski
c4ae27dae6
Merge branches 'develop' and 't3chguy/remove_bluebird_13' of github.com:matrix-org/matrix-js-sdk into t3chguy/remove_bluebird_13
2019-12-02 22:56:13 +00:00
Michael Telatynski
053bc49738
simplify promiseTry
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2019-12-02 22:55:05 +00:00
Michael Telatynski
3a1de9fbdc
Rip out more bluebirds AGAIN
2019-12-02 22:34:46 +00:00
Michael Telatynski
efcaadd0b4
Rip out more bluebirds
2019-12-02 22:34:46 +00:00
Michael Telatynski
0170cb066d
add another clean-up to sas.spec.js
2019-12-02 22:34:46 +00:00
Michael Telatynski
6bba5ca25a
Rip out some more bluebird
2019-12-02 22:34:46 +00:00
Michael Telatynski
edcdeb31ea
Rip out bluebird of a bunch more places, not as much to go :|
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
Michael Telatynski
9faab093f7
delint
2019-12-02 22:34:46 +00:00
Michael Telatynski
64bf145e4b
Replace rest of defers
2019-12-02 22:34:46 +00:00
Michael Telatynski
733008cfc4
delint and replace more defers
2019-12-02 22:34:46 +00:00
Michael Telatynski
bab4582139
Replace more Bluebirdy stuffs
2019-12-02 22:34:46 +00:00
Michael Telatynski
fddf2843b4
Replace Bluebird.try
2019-12-02 22:34:45 +00:00
Michael Telatynski
f8d83f8273
Stop using Bluebird::mapSeries
2019-12-02 22:34:45 +00:00
J. Ryan Stinnett
cfeaf188ed
Encode cross-signing keys via base64
2019-12-02 14:39:21 +00:00
J. Ryan Stinnett
58ad1ecbfe
Sign secret storage keys when cross-signing keys change
2019-12-02 13:50:43 +00:00
J. Ryan Stinnett
463538178d
Clarify purpose of the after local key change helper
2019-12-02 13:02:21 +00:00
J. Ryan Stinnett
14907065d7
Rename device signing auth param
2019-11-29 17:50:59 +00:00
J. Ryan Stinnett
ce2059a4b9
Add follow-up steps when restoring from secret storage
...
If we restore cross-signing keys from secret storage, we also need to run many
of the same follow-up steps from resetting the keys, such as saving to the
crypto store, upgrading device verifications, etc.
2019-11-29 15:20:59 +00:00
J. Ryan Stinnett
2bfc157e64
Clarify cross-signing reset variable
2019-11-29 15:15:18 +00:00
J. Ryan Stinnett
fda7a2cf13
Add issue link for key verification
2019-11-29 13:59:09 +00:00
J. Ryan Stinnett
e69de8c26f
Merge remote-tracking branch 'origin/develop' into jryans/4s-new-key-backup
2019-11-29 11:23:48 +00:00
J. Ryan Stinnett
f404c80714
Get cross-signing private keys from secret storage
...
If you've already set up cross-signing elsewhere and start using a new device,
this loads the private keys from secret storage and regenerates the public keys
to match.
We may also want to download the public keys from the homeserver's key sharing
and verify that they match the private keys, but for now that's left as future
work.
2019-11-29 11:11:45 +00:00
Hubert Chathi
92ca2386ea
Merge pull request #1096 from uhoreg/fix_sas_unit_test
...
increase timeout on flush to fix failing unit test
2019-11-28 17:19:41 -05:00
Hubert Chathi
59b25d6837
increase timeout on flush to fix failing unit test
...
also remove unused requests
2019-11-28 16:53:21 -05:00
Travis Ralston
a6f7936311
Merge pull request #1095 from matrix-org/travis/fix-tests-18
...
Disable broken cross-signing test
2019-11-28 09:11:05 -07:00
J. Ryan Stinnett
e2b680c223
Document CrossSigningInfo#resetKeys
2019-11-28 14:31:53 +00:00
J. Ryan Stinnett
bdaf2e3b4f
Reflow comment
2019-11-28 12:13:48 +00:00
J. Ryan Stinnett
2190022e64
Add return type
2019-11-28 11:54:20 +00:00
J. Ryan Stinnett
e000e2b9fd
Move cross-signing storage to 4S into class
2019-11-28 11:54:20 +00:00
Travis Ralston
7392b4de17
xit instead of comment
2019-11-27 19:23:59 -07:00
Travis Ralston
79b0a5fada
Add issue to comment
2019-11-27 19:21:57 -07:00
Travis Ralston
aee9442e52
Disable broken cross-signing test
...
I don't know why it's broken, but the two errors I can get out of it are "unknown device for verification" and "user_signing key does not match". Someone who knows a bit more about cross-signing will probably need to take a look at this one.
Fixes https://github.com/vector-im/riot-web/issues/11520 (technically)
Opened https://github.com/vector-im/riot-web/issues/11545 to fix this correctly.
2019-11-27 19:20:09 -07:00
J. Ryan Stinnett
d5000820fd
Fix comment typo
2019-11-27 17:19:41 +00:00
Travis Ralston
569d5d1fce
Merge pull request #1094 from matrix-org/travis/fix-tests-13
...
Fix a couple SAS tests
2019-11-27 09:24:27 -07:00
J. Ryan Stinnett
9d91d197e4
Revert to previous cross-signing keys on error
2019-11-27 16:11:06 +00:00
J. Ryan Stinnett
5b767ae948
More comment tweaks to cross-signing keys
2019-11-27 15:51:00 +00:00
RiotRobot
6ea8003df2
Merge branch 'master' into develop
2019-11-27 10:28:14 +00:00
RiotRobot
c8ab82010a
v2.4.5
2019-11-27 10:17:54 +00:00
RiotRobot
bf1bec9c6c
Prepare changelog for v2.4.5
2019-11-27 10:17:54 +00:00
Travis Ralston
e0c90ec9e3
Fix test flakes in SAS verification with old MAC
...
This has similar fixes to 7ad5021147
Part of https://github.com/vector-im/riot-web/issues/11520
2019-11-26 23:29:06 -07:00
Travis Ralston
7ad5021147
Fix SAS verification test
...
There's 3 things going on in this commit:
1. `this` is maintained in the tests. Some binds are added instead of the `.call(this, ...)` syntax.
2. We use the right `origSendToDevice`
3. We ensure `downloadKeys` is actually on the client
The combination of these 3 fixes makes the test pass.
Part of https://github.com/vector-im/riot-web/issues/11520
2019-11-26 23:24:37 -07:00
Matthew Hodgson
fd73c3fb3a
fix bogus logline
2019-11-27 01:19:17 +00:00
Travis Ralston
e3dbf7cc41
Merge pull request #1093 from matrix-org/travis/fix-tests-3
...
Fix Olm unwedging test
2019-11-26 15:32:50 -07:00
Travis Ralston
18749c580e
Fix Olm unwedging test
...
Deep within the crypto layers we call `getId()`, and when we don't have that function the async call on the emitter fails but doesn't fail the test. This manifests as a timeout because the code path that would call the thing blew up.
2019-11-26 15:06:56 -07:00
J. Ryan Stinnett
396db30fbf
Update tests
2019-11-26 12:04:14 -07:00
J. Ryan Stinnett
6b38868de6
Relax identity server discovery checks to FAIL_PROMPT
...
As discussed in MSC2284, this relaxes the identity server discovery to a
`FAIL_PROMPT` state so that clients can choose to warn and continue.
Part of https://github.com/vector-im/riot-web/issues/11102
Implements https://github.com/matrix-org/matrix-doc/pull/2284
2019-11-26 12:04:07 -07:00
Matthew Hodgson
01a46ad880
log outbound to_device msgs for tracking keyshares
2019-11-26 12:03:34 -07:00
Matthew Hodgson
46f8251e94
s/console/logger/ as per review
2019-11-26 12:03:28 -07:00
Matthew Hodgson
77f882f45a
log keyshare ID
2019-11-26 12:03:24 -07:00
Matthew Hodgson
8c72fd104e
lint
2019-11-26 12:03:20 -07:00
Matthew Hodgson
549656884b
expand e2ee logging to better debug UISIs
2019-11-26 12:03:11 -07:00
Matthew Hodgson
5b8b0a8aa3
log outbound to_device msgs for tracking keyshares
2019-11-26 18:35:25 +00:00
Travis Ralston
b1924d4db6
Merge pull request #1089 from matrix-org/travis/upgrade-notifications
...
Fix empty string handling in push notifications
2019-11-26 11:00:24 -07:00
Travis Ralston
1b877118ef
Only do one type check
2019-11-26 10:31:04 -07:00
Travis Ralston
682a5daf1c
Merge branch 'develop' into travis/upgrade-notifications
2019-11-26 10:29:40 -07: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
3787b6f1c7
s/console/logger/ as per review
2019-11-26 09:07:23 +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
32234ee7fc
Merge pull request #1087 from matrix-org/t3chguy/remove_bluebird_11
...
Remove Bluebird: phase 2
2019-11-26 00:03:22 +00:00
Travis Ralston
aa37f697bf
Fix empty string handling in push notifications
...
Fixes https://github.com/vector-im/riot-web/issues/11460
Empty strings are falsey, and the state key match for a tombstone event is an empty string. Ergo, nothing happens because all the conditions fail.
2019-11-25 16:35:27 -07:00
David Baker
49448fafaa
Correct comment (it's not just a cache)
2019-11-25 15:05:10 +00:00
Michael Telatynski
057303d57c
s/beforeEach/beforeAll/ for Olm.init() and cleanup sas.spec.js
2019-11-25 13:26:10 +00:00
RiotRobot
ccc85d98e2
Merge branch 'master' into develop
2019-11-25 13:24:08 +00:00
RiotRobot
c30a8b5a29
v2.4.4
2019-11-25 13:10:04 +00:00
RiotRobot
295010893d
Prepare changelog for v2.4.4
2019-11-25 13:10:04 +00:00
Michael Telatynski
7fb807919c
Stop using bluebird .returns and .spread
2019-11-25 12:31:46 +00:00
Michael Telatynski
bd8f8ef28d
Replace yet more deferreds
2019-11-25 11:28:09 +00:00
Michael Telatynski
3901a381cc
replace another couple of deferreds
2019-11-25 11:18:32 +00:00
J. Ryan Stinnett
12f6e51ef6
Merge pull request #1062 from matrix-org/jryans/identity-disco-opt
...
Relax identity server discovery checks to FAIL_PROMPT
2019-11-25 10:48:53 +00:00
Travis Ralston
aa8454e30a
Merge pull request #1061 from beaclnd92/develop
...
Fix incorrect return value of MatrixClient.prototype.uploadKeys
2019-11-24 22:19:09 -07:00
Travis Ralston
6b70230e0d
Merge branch 'develop' into develop2-test
2019-11-24 22:13:53 -07:00
Michael Telatynski
5e0ba9971c
nothing works anymore :((
2019-11-23 12:18:39 +00:00
David Baker
fa577c9475
Merge pull request #1086 from matrix-org/dbkr/fix_calls_in_e2e_rooms
...
Fix calls in e2e rooms
2019-11-22 17:48:33 +00:00
Bruno Windels
11a958b8ca
Merge pull request #1085 from matrix-org/bwindels/verif-toasts
...
Monitor verification request over DM as well
2019-11-22 16:39:07 +00:00
Bruno Windels
6952db6762
no need to filter here anymore when listening for timeline, also remove obsolete docs
2019-11-22 17:32:37 +01:00
Bruno Windels
51898cffe8
add comments for timeout constants
2019-11-22 17:31:48 +01:00
David Baker
d8337d703d
Use the right variable name
2019-11-22 15:59:36 +00:00
David Baker
adac0c353c
Fix calls in e2e rooms
...
Events will be decrypted after the sync event, so we were having
to wait until the next sync event before they got processed.
2019-11-22 15:56:06 +00:00
Michael Telatynski
04fca16420
Stop using Bluebird promise::value
2019-11-22 15:36:42 +00:00
Bruno Windels
ca89b6e7a8
use adapter for to_device requests to have same api as for verif over DM
...
Riot doesn't fully implement to_device verifications, e.g.
it doesn't send a `request` but immediately sends a `start` event.
Because of this, `crypto.verification.request` doesn't get fired,
as that code path doesn't get triggered. This is why MatrixChat
in the react-sdk was listening for `crypto.verification.start`.
Verification over DM *does* send a `request` event first, so
to have the same API for both methods, we fake the request and
wrap the verifier in it.
2019-11-22 16:12:19 +01:00
Bruno Windels
ac1173c628
also emit crypto.verification.request for verification over DM
2019-11-22 16:11:49 +01:00
Michael Telatynski
0a0ae111f6
replace Bluebird::map
2019-11-22 15:03:03 +00:00
David Baker
71a6e015f4
Merge pull request #1084 from matrix-org/dbkr/remove_check
...
Remove 'check' npm script
2019-11-22 10:53:48 +00:00
David Baker
e8bbb8a1cc
Remove 'check' npm script
...
...whose only purpose was to run the tests without coverage because
the coverage tool was awful and ruined all the line numbers (moreso).
2019-11-21 19:30:46 +00:00
David Baker
04764998cb
Merge pull request #1083 from matrix-org/dbkr/advanced_anti_chirp
...
Always process call events in batches
2019-11-21 19:22:24 +00:00
David Baker
5262d716e4
Lint
2019-11-21 19:10:27 +00:00
David Baker
7addacba38
Always process call events in batches
...
We had a bunch of logic in place to suppress calls if the answer
or hangup had already arrived, but we only used it on startup.
This extends this logic to happen all the time, which means we'll
also do the same suppression if a call happenned while we were
offline.
2019-11-21 18:56:37 +00:00
David Baker
8f8c9c8ec0
Merge pull request #1082 from matrix-org/dbkr/death_to_the_reload_chirp
...
Fix ringing chirp on loading
2019-11-21 18:20:20 +00:00
David Baker
3a9832a8c6
Fix ringing chirp on loading
...
We have a heap of logic to do the right thing when a call event
arrives, eg. wait until the client is ready so we can see if there's
already been a hangup event before saying there's an incoming call.
Unfortunately it only waited until the client was prepared, not
until it was syncing, so any events that arrived from the server
in the catchup sync bypassed this logic altogether.
This was probably broken back when we introduced the sync accumulator,
since before then, "PREPARED" meant, "done initialsync" rather than
"loaded fake initialsync from storage".
Fixes https://github.com/vector-im/riot-web/issues/3572
2019-11-21 17:56:04 +00:00
Bruno Windels
4a40c10d4c
add helper method on event for current age according to local clock
2019-11-21 17:13:43 +01:00
Michael Telatynski
58f8ca7d66
Merge pull request #1081 from matrix-org/t3chguy/remove_bluebird_2
...
Remove *most* bluebird specific things
2019-11-21 11:34:19 +00:00
Michael Telatynski
4d950fec66
fixxy
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2019-11-21 10:59:18 +00:00
Michael Telatynski
b4f68f4fc6
Stop using Bluebird promise::nodeify
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2019-11-21 10:43:58 +00:00
Michael Telatynski
ac742aad70
use Bluebird in promise utils sleep so it has .done and .nodeify
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2019-11-21 10:14:06 +00:00
Michael Telatynski
53d225a1d1
fix stub timelineSet for timeline-window.spec
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2019-11-21 10:09:36 +00:00
Michael Telatynski
549b0f9313
Stop using Bluebird.delay and Bluebird promise::delay
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2019-11-21 10:05:59 +00:00
Michael Telatynski
2ce106382a
Stop using Bluebird promise::isFulfilled()
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2019-11-21 10:01:16 +00:00
Michael Telatynski
b44f43e5db
fix import in relations.js
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2019-11-21 09:45:00 +00:00
Michael Telatynski
2321b9a04e
Merge pull request #1080 from matrix-org/t3chguy/jest
...
Switch to Jest
2019-11-20 22:03:25 +00:00
Michael Telatynski
3bd518cf7f
update buildkite pipeline name
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2019-11-20 21:59:50 +00:00
Michael Telatynski
c57109c2f3
tidy up
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2019-11-20 21:16:11 +00:00
Michael Telatynski
522640edd9
rip out lolex also
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2019-11-20 21:05:21 +00:00
Michael Telatynski
5fc0629201
fix expect calls
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2019-11-20 20:19:54 +00:00
Michael Telatynski
26edd7431a
fix yarn scripts test
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2019-11-20 19:56:50 +00:00
Michael Telatynski
fd58957b06
migrate to jest from mocha+expect+istanbul
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2019-11-20 19:52:50 +00:00
RiotRobot
12bb0b86dd
v2.4.4-rc.1
2019-11-20 18:19:30 +00:00
RiotRobot
165c1fc0b6
Prepare changelog for v2.4.4-rc.1
2019-11-20 18:19:30 +00:00
J. Ryan Stinnett
4116d89d5f
Store cross-signing keys in secret storage
2019-11-20 17:48:36 +00:00
J. Ryan Stinnett
cc192efe45
Create the SSSS default key when needed
2019-11-20 17:27:57 +00:00
J. Ryan Stinnett
feef1a35b9
Add first pass at bootstrapping Secure Secret Storage
...
This adds a first chunk of bootstrapping Secure Secret Storage by creating
cross-signing keys and supporting interactive auth to upload them.
Part of https://github.com/vector-im/riot-web/issues/11212
2019-11-20 17:23:21 +00:00
J. Ryan Stinnett
55a2f46604
Remove doesCrossSigningHaveKeys, use getId instead
2019-11-20 14:42:46 +00:00
J. Ryan Stinnett
ed8b303400
Simplify public key access for cross signing
...
This simplifies reading the code by removing the semi-magical `[1]` bit to
access the unprefixed version of the key.
2019-11-19 17:47:18 +00:00
Bruno Windels
c785b10603
Merge pull request #1077 from matrix-org/bwindels/dm-verif-in-e2ee-rooms
...
Fix SAS verification in encrypted DMs
2019-11-19 14:32:01 +00:00
Bruno Windels
90512bdd5f
also listen for non-encrypted events when verifying over DM
2019-11-19 15:23:05 +01:00
J. Ryan Stinnett
4acd06eaba
Fix typo in CrossSigning#resetKeys
2019-11-19 13:52:26 +00:00
J. Ryan Stinnett
10751e9a6d
Merge pull request #1078 from matrix-org/jryans/4s-new-key-backup
...
Cross-signing / secret storage tweaks
2019-11-19 12:54:38 +00:00
J. Ryan Stinnett
d2ebc58c3c
Use secret storage alg const in tests
2019-11-19 11:46:08 +00:00
J. Ryan Stinnett
d51c5a2d68
Rename secret storage file to match the default class
2019-11-19 11:21:20 +00:00
J. Ryan Stinnett
1f24845431
Standardise naming of key ID variables in secret storage
...
Keys in secret storage have both an ID and an optional name, but most `keyName`
variables were actually storing the ID value. This renames and standardises to
avoid confusion.
2019-11-19 10:48:47 +00:00
Bruno Windels
3b02b62ba5
add m.relates_to back to the content on the requesting side for e2e room
...
as it needs to be added to the commitment hash
as before, getContent() in an e2ee room doesn't return the relation
2019-11-18 18:34:05 +01:00
Bruno Windels
24ae787736
make it explicit that the transaction id is added for the start event
...
as it should included in the commitment hash
2019-11-18 18:33:11 +01:00
Bruno Windels
cd735ef459
use getRelation as getContent()[m.relates_to] doesn't work in e2ee rooms
2019-11-18 18:31:39 +01:00
Bruno Windels
180fea8ace
only send decrypted events to Verifier in e2ee rooms
2019-11-18 18:30:43 +01:00
J. Ryan Stinnett
5f02c4b5ad
Namespace default secret storage key methods
2019-11-18 15:19:18 +00:00
David Baker
41680f6089
Merge pull request #1075 from matrix-org/dbkr/fix_key_backup_local_trust
...
Fix local trust for key backups
2019-11-18 14:57:35 +00:00
J. Ryan Stinnett
730f7d3dff
Extract secret storage algorithm to constant
2019-11-18 14:38:02 +00:00
David Baker
d32033f105
Merge remote-tracking branch 'origin/develop' into dbkr/fix_key_backup_local_trust
2019-11-18 14:10:04 +00:00
David Baker
440274d639
Fix local trust for key backups
...
https://github.com/matrix-org/matrix-js-sdk/pull/832 added
cross-signing checks for backup trust but we failed to merge in the
check for the the backup being trusted locally.
Fixes https://github.com/vector-im/riot-web/issues/11404
2019-11-18 13:30:00 +00:00
J. Ryan Stinnett
f93130a8a7
Add method to check whether cross-signing has keys
2019-11-18 12:32:39 +00:00
Bruno Windels
3d9bddfb9f
Merge pull request #1072 from matrix-org/bwindels/userinfomakeover
...
Add method to get last active timestamp in room
2019-11-15 16:39:31 +00:00
Travis Ralston
439abbcce9
Merge pull request #1071 from matrix-org/travis/new-deactivate
...
Check the right Synapse endpoint for determining admin capabilities
2019-11-15 09:17:12 -07:00
David Baker
ac91367801
Merge pull request #832 from matrix-org/dbkr/cross_signing
...
Cross Signing Support
2019-11-15 16:09:06 +00:00
David Baker
2a63cc474c
Update import
2019-11-15 15:57:25 +00:00
David Baker
56261263f5
Rename backup_password & functions
...
Not Just For Backups Anymore
2019-11-15 15:54:43 +00:00
David Baker
04b57bbe9d
Remove ghost of some old code
2019-11-15 15:27:02 +00:00
David Baker
c550f83a04
update jsdoc
2019-11-15 14:57:29 +00:00
David Baker
5224ef4b1f
This is now implemented
...
Co-Authored-By: J. Ryan Stinnett <jryans@gmail.com >
2019-11-15 14:56:05 +00:00
David Baker
2ab033e76e
is now implemented
2019-11-15 14:45:43 +00:00
David Baker
fa2e669eda
More jsdoc updates
...
Co-Authored-By: J. Ryan Stinnett <jryans@gmail.com >
2019-11-15 14:44:08 +00:00
David Baker
f0ba1f2ac0
c+p fail
...
Co-Authored-By: J. Ryan Stinnett <jryans@gmail.com >
2019-11-15 14:43:41 +00:00
David Baker
6d0237ec71
This now returns DeviceTrustLevel too
2019-11-15 14:42:26 +00:00
David Baker
97dff4640a
Capitalise jsdoc
...
Co-Authored-By: J. Ryan Stinnett <jryans@gmail.com >
2019-11-15 14:41:12 +00:00
David Baker
00b571a429
c+p fail
...
Co-Authored-By: J. Ryan Stinnett <jryans@gmail.com >
2019-11-15 14:40:57 +00:00
David Baker
86e0f49231
c+p fail
...
Co-Authored-By: J. Ryan Stinnett <jryans@gmail.com >
2019-11-15 14:40:16 +00:00
David Baker
f2f205f9bd
Typo
...
Co-Authored-By: J. Ryan Stinnett <jryans@gmail.com >
2019-11-15 14:38:44 +00:00
David Baker
f84ec090cb
backticks in jsdoc
...
Co-Authored-By: J. Ryan Stinnett <jryans@gmail.com >
2019-11-15 14:38:27 +00:00
David Baker
d37ed9ff6f
lint
2019-11-15 12:39:14 +00:00
David Baker
f5a5f5e51a
Update yarn.lock
2019-11-15 12:31:22 +00:00
David Baker
fe010242d9
Why is 'cross-signing' so hard to type?
...
Co-Authored-By: J. Ryan Stinnett <jryans@gmail.com >
2019-11-15 12:30:05 +00:00
David Baker
545ebf81bf
Move Crypto.prototype.init back to its rightful place
2019-11-15 12:29:03 +00:00
David Baker
408934932a
copy jsdoc to internal methods
2019-11-15 12:27:14 +00:00
David Baker
6f42824c35
Typo
...
Co-Authored-By: J. Ryan Stinnett <jryans@gmail.com >
2019-11-15 12:26:24 +00:00
David Baker
c3215d51bd
Switch the CroosSigningLevel constants
...
we check in resetKeys and set all if it's & 4 anyway, so may as well
make the constants a normal bitmask and then we can use the MASTER
constant below.
2019-11-15 12:23:37 +00:00
David Baker
e541b96a71
Change check{User|Device}Trust interfaces
...
...to return objects with functions rather than a bitmask
2019-11-15 12:15:13 +00:00
Travis Ralston
904a2f466e
Maybe use the right user ID too
2019-11-14 11:54:13 -07:00
Travis Ralston
bad48da11a
Check the right Synapse endpoint for determining admin capabilities
2019-11-14 11:50:06 -07:00
David Baker
ce2d1d6e2b
Don't emit event here, as per comment
2019-11-14 17:41:58 +00:00
Bruno Windels
2820071db1
add method to get last active timestamp in room
2019-11-14 17:00:28 +01:00
David Baker
5937185ce9
Assert usage of setDeviceVerification for cross-signing keys
...
We can't mark a cross-signing key as blocked/unblocked, known/unknown
or unverified, so throw an exception instead of doing nothing.
Also comment what's going on in this function.
2019-11-14 14:24:41 +00:00
David Baker
be9b7a0d24
Remove getPublicKey
...
which was the same as getId
2019-11-14 14:10:13 +00:00
David Baker
7ca09ad749
tariling space
2019-11-14 12:18:07 +00:00
David Baker
686a7a40f9
Remove outdated comment
...
uhoreg says this is fine now...
2019-11-14 12:11:07 +00:00
David Baker
2a7b2835b6
remove unused function
2019-11-14 12:11:07 +00:00
David Baker
69ecf3b145
jsdoc formatting
2019-11-14 12:11:07 +00:00
David Baker
2cd748b50c
Add matrix foundation copyright
...
The creation of this file just predates matrix.org foundation so it
should have both
2019-11-14 12:11:07 +00:00
David Baker
291133beb9
Fix comment
2019-11-14 12:11:07 +00:00
David Baker
e10c17c866
Use official name for SSSS
...
Co-Authored-By: J. Ryan Stinnett <jryans@gmail.com >
2019-11-14 12:10:56 +00:00
David Baker
0048cbef08
Mark cross siging / SSSS APIs as unstable
...
also add missing jsdoc
2019-11-14 11:51:44 +00:00
David Baker
d9d65309b3
More s/cross-signing/crossSigning/
2019-11-14 11:29:08 +00:00
David Baker
d5d8032b5b
Camelcase event names
...
Co-Authored-By: J. Ryan Stinnett <jryans@gmail.com >
2019-11-14 11:04:37 +00:00
David Baker
693c749da0
lint
2019-11-13 17:59:25 +00:00
David Baker
7218e31a9c
Sign & verify SSSS keys
2019-11-13 17:52:24 +00:00
David Baker
1798f3921f
Make setDeafultKeyId wait for event
2019-11-13 14:42:08 +00:00
David Baker
d12c56a623
lint
2019-11-13 14:11:50 +00:00
David Baker
26aa3d3ce7
Support default keys
2019-11-13 14:09:40 +00:00
David Baker
c97a87d1f6
Throw if an unknown key is specified
...
It's probably important that the app knows if a secret isn't going
to be stored under one or more of the keys it thought it was going
to be stored under.
Also add a test to assert it.
2019-11-12 14:07:05 +00:00
David Baker
9bc185d459
Fix what was probablyt a c+p fail
2019-11-12 13:21:37 +00:00
David Baker
4c651c15ea
Convert secrets events to callbacks too
2019-11-11 20:01:11 +00:00
David Baker
a98e6964ef
Missed bits of callback renaming
2019-11-11 16:51:49 +00:00
David Baker
6f8d9c4693
Rename getPrivateKeys to getCrossSigningKeys
2019-11-11 16:45:01 +00:00
David Baker
fbc4bd0c96
Merge pull request #1067 from matrix-org/bwindels/verification-over-dm
...
Support for verification requests in the timeline
2019-11-08 16:19:50 +00:00
J. Ryan Stinnett
03c9241783
Merge pull request #1066 from matrix-org/jryans/privacy-prefix-r0
...
Use stable API prefix for 3PID APIs when supported
2019-11-07 20:00:57 +02:00
David Baker
3a983271d6
add comments
2019-11-07 16:21:53 +00:00
David Baker
03fe4afe32
lint
2019-11-07 15:20:07 +00:00
David Baker
12627022d1
Convert sas verification test to callbacks
2019-11-07 15:18:16 +00:00
David Baker
fabfe16d45
lint
2019-11-07 12:35:39 +00:00
David Baker
a34758f938
Convert event interface to callbacks
...
Use options.cryptoCallbacks for things that require information
from the app rather than events, since events can have zero, one
or many listeners and the emitter doesn't know how many, so if
nobody's listening then we would have just waited forever for a
response.
Also a collection of other changes like renaming 'fu' to 'firstUse'
2019-11-07 12:31:44 +00:00
J. Ryan Stinnett
20f5c3ea28
Use stable API prefix for 3PID APIs when supported
...
If the server advertises spec version r0.6.0, it must have the 3PID APIs
available under the stable API prefix.
Fixes https://github.com/vector-im/riot-web/issues/11246
2019-11-06 18:02:10 +00:00
Bruno Windels
62e490cfe4
add FIXME note for (expected) uncaught rejection
2019-11-06 12:36:50 +01:00
Bruno Windels
a9dba39623
include redacted event so has same signature as other Relations events
2019-11-04 15:56:15 +01:00
Bruno Windels
f1d417597c
only emit Event.relationsCreated once event has been added
...
so if we ask for the relations in the handler, we don't get
an empty result
2019-11-04 15:55:29 +01:00
RiotRobot
549f679bf1
Merge branch 'master' into develop
2019-11-04 13:59:24 +00:00
RiotRobot
6ba052dcc4
v2.4.3
2019-11-04 13:51:50 +00:00
RiotRobot
de873b84f5
Prepare changelog for v2.4.3
2019-11-04 13:51:49 +00:00
Bruno Windels
37558ac1b4
detect other end cancelling and reject main promise
2019-11-04 14:43:44 +01:00
Bruno Windels
9140d5a091
don't clear expected type before including it in error
2019-11-04 14:37:12 +01:00
J. Ryan Stinnett
7827af0d90
Merge pull request #1063 from matrix-org/jryans/rm-jenkins
...
Remove Jenkins scripts
2019-11-01 18:23:16 +02:00
J. Ryan Stinnett
1af8d20adf
Remove Jenkins scripts
...
We haven't used Jenkins for a while, so it seems safe to remove the scripts that
supported it.
2019-11-01 16:08:29 +00:00
J. Ryan Stinnett
91df096698
Update tests
2019-11-01 14:10:16 +00:00
J. Ryan Stinnett
e8fd0498a7
Relax identity server discovery checks to FAIL_PROMPT
...
As discussed in MSC2284, this relaxes the identity server discovery to a
`FAIL_PROMPT` state so that clients can choose to warn and continue.
Part of https://github.com/vector-im/riot-web/issues/11102
Implements https://github.com/matrix-org/matrix-doc/pull/2284
2019-11-01 11:24:51 +00:00
David Baker
f3073e120d
Space
2019-11-01 10:51:49 +00:00
David Baker
a571624e13
Typo
2019-11-01 10:46:43 +00:00
David Baker
74b649c04c
Typo
2019-11-01 10:45:41 +00:00
ZengJing
7973b99f50
Fix incorrect return value of MatrixClient.prototype.uploadKeys
...
Signed-off-by: Zeng Jing <beaclnd92@gmail.com >
2019-11-01 09:25:50 +08:00
RiotRobot
e8f5a8b89d
v2.4.3-rc.1
2019-10-30 16:40:25 +00:00
RiotRobot
2d0bda933c
Prepare changelog for v2.4.3-rc.1
2019-10-30 16:40:25 +00:00
David Baker
49588da73d
Fix more tests
2019-10-29 19:39:31 +00:00
David Baker
3e2d845342
Merge remote-tracking branch 'origin/develop' into dbkr/cross_signing
2019-10-28 16:47:16 +00:00
David Baker
e92d2bd70a
Fix test again
...
That one was part of the protocol - don't camelcase that
2019-10-28 16:07:26 +00:00
David Baker
de1b545df1
lint
2019-10-28 15:42:42 +00:00
David Baker
3bec28b2ff
make other tests pass
2019-10-28 15:23:58 +00:00
David Baker
8cad116dd7
Make tests pass
...
* Pass the http backend out of makeTestClients so we can tell it
to expect queries and flush requests out
* Change colons to dots in the key events
2019-10-28 14:56:35 +00:00
Hubert Chathi
35adb75d80
Merge pull request #1056 from uhoreg/fix_logger_path
...
fix the path in references to logger.js
2019-10-26 13:45:24 -04:00
Hubert Chathi
e9908b1d97
fix the path in references to logger.js
2019-10-25 23:24:30 -04:00
Hubert Chathi
fffd2eb70a
Merge pull request #1050 from uhoreg/verification_in_dms
...
verification in DMs
2019-10-23 12:09:52 -04:00
Hubert Chathi
136b9c0f50
remove unnecessary async
2019-10-23 12:03:17 -04:00
Hubert Chathi
0f1206b4ee
apply suggestions from review
2019-10-22 13:29:24 -04:00
RiotRobot
46d7e4c707
Merge branch 'master' into develop
2019-10-18 14:38:58 +01:00
RiotRobot
c874783742
v2.4.2
2019-10-18 14:36:57 +01:00
RiotRobot
bb296f50d9
Prepare changelog for v2.4.2
2019-10-18 14:36:57 +01:00
Michael Telatynski
da68b53ff9
Merge pull request #1054 from rcsm/develop
...
Properly document the function possible returns for getRelationsForEvent
2019-10-17 15:35:33 +01:00
Rafael Cascalho
bbe141d44e
chore: updated throws docs in function getRelationsForEvent
2019-10-17 11:30:41 -03:00
Rafael Cascalho
8a03e41a7c
chore: corrected the docs the getRelationsForEvent function
2019-10-17 10:51:34 -03:00
Rafael Cascalho
a79e1bc976
Merge remote-tracking branch 'upstream/develop' into develop
2019-10-17 10:15:10 -03:00
J. Ryan Stinnett
056bfbf7a3
Merge pull request #1055 from matrix-org/jryans/bluebird-3.5
...
Downgrade to Bluebird 3.5.5 to fix Firefox
2019-10-17 00:10:54 +02:00
J. Ryan Stinnett
e0b64a487d
Downgrade to Bluebird 3.5.5 to fix Firefox
...
Bluebird 3.6.0+ currently breaks in at least Firefox with errors in their
rejection tracking approach. For now, this retreats back to the version we had
used for a long time.
Regressed by https://github.com/matrix-org/matrix-js-sdk/pull/1053
Fixes https://github.com/vector-im/riot-web/issues/11148
2019-10-17 00:05:47 +02:00
Rafael Cascalho
d47d1d8f26
Merge remote-tracking branch 'upstream/develop' into develop
2019-10-15 11:12:00 -03:00
Rafael Cascalho
42a07de9a7
chore: corrected getRelationForEvent return docs
2019-10-15 10:28:23 -03:00
J. Ryan Stinnett
aead855470
Merge pull request #1053 from matrix-org/jryans/major-deps-2
...
Upgrade safe deps to latest major version
2019-10-11 13:53:58 +01:00
J. Ryan Stinnett
335b2314f1
Upgrade safe deps to latest major version
2019-10-11 12:44:36 +01:00
Travis Ralston
89bab24c14
Merge pull request #1052 from clokep/no-js-import
...
Don't include .js in the import string.
2019-10-10 00:14:52 +01:00
Patrick Cloke
3a439dcdad
Don't include .js in the import string.
...
Signed-off-by: Patrick Cloke <clokep@patrick.cloke.us >
2019-10-09 18:44:41 -04:00
RiotRobot
20d82eb92f
v2.4.2-rc.1
2019-10-09 16:49:43 +01:00
RiotRobot
319e1d1191
Prepare changelog for v2.4.2-rc.1
2019-10-09 16:49:42 +01:00
Hubert Chathi
5f3492dbf8
send the m.key.verification.done message when done
2019-10-09 11:13:32 -04:00
David Baker
107c8c0b1f
Merge pull request #1047 from matrix-org/dbkr/olm_session_describe
...
Log state of Olm sessions
2019-10-09 15:48:54 +01:00
David Baker
8c6d9586bf
Update docs to reflect minimum olm version
2019-10-09 15:41:34 +01:00
David Baker
1271fc6bf3
Actually bump olm
2019-10-09 15:38:47 +01:00
David Baker
c9df03c40c
Bump to olm 3.1.4 which has olm_session_describe
2019-10-09 10:19:13 +01:00
Hubert Chathi
d8e8dddd25
initial implementation of verification in DMs
2019-10-08 15:44:51 -04:00
Bruno Windels
27f6745123
Merge pull request #1048 from matrix-org/bwindels/redact-all-more-robust
...
Add method to get access to all timelines
2019-10-08 06:58:13 +00:00
Bruno Windels
964f448334
moar doc fix
2019-10-02 15:30:28 +02:00
Bruno Windels
20ee03bb44
fix docs
2019-10-02 15:25:19 +02:00
Bruno Windels
77bd677182
add method to get access to all timelines
2019-10-02 10:00:11 +02:00
RiotRobot
e024d047e3
v2.4.1
2019-10-01 11:30:13 +01:00
RiotRobot
40943edc06
Prepare changelog for v2.4.1
2019-10-01 11:30:12 +01:00
David Baker
e6699c5424
Log state of Olm sessions
...
...whenever we encrypt or decrypt a message on them. This adds
another line of logging for every device in the room, so will
be reasonably verbose if you're in large encrypted rooms, but
the information ought to be valuable.
Requires https://gitlab.matrix.org/matrix-org/olm/merge_requests/9
Don't merge before a new version of Olm is released with this merge
request (it won't work).
2019-10-01 11:19:52 +01:00
J. Ryan Stinnett
bd8a307e50
Merge pull request #1046 from matrix-org/jryans/deps-2019-09-27
...
Upgrade deps
2019-09-27 16:01:50 +01:00
J. Ryan Stinnett
f71301cafc
Upgrade deps
2019-09-27 15:04:21 +01:00
RiotRobot
562bf9331b
Merge branch 'master' into develop
2019-09-27 11:44:14 +01:00
RiotRobot
11e6eb94b5
v2.4.0
2019-09-27 11:42:17 +01:00
RiotRobot
cee3aa2a7a
Prepare changelog for v2.4.0
2019-09-27 11:42:17 +01:00
David Baker
81e3783488
Merge pull request #1043 from matrix-org/dbkr/ignore_empty_crypto_event
...
Ignore crypto events with no content
2019-09-27 10:44:17 +01:00
J. Ryan Stinnett
fc7f9786f8
Merge pull request #1045 from matrix-org/jryans/yarn-cache-clean
...
Clean Yarn cache during release
2019-09-26 11:37:18 +01:00
J. Ryan Stinnett
0808c0edf1
Clean Yarn cache during release
...
Always run `yarn cache clean` during the `dist` step to workaround a Yarn bug
with Git commit package dependencies.
2019-09-26 11:18:20 +01:00
RiotRobot
8de6746efd
v2.4.0-rc.1
2019-09-25 17:14:17 +01:00
RiotRobot
eb9b8ef7c6
Prepare changelog for v2.4.0-rc.1
2019-09-25 17:14:16 +01:00
J. Ryan Stinnett
b09621b915
Merge pull request #1044 from matrix-org/jryans/rm-id-server-creds
...
Remove id_server from creds for interactive auth
2019-09-25 16:02:41 +01:00
J. Ryan Stinnett
8d667f9367
Remove id_server from creds for interactive auth
...
For HSes that do not require an IS, we can remove `id_server` from the auth
params.
Fixes https://github.com/vector-im/riot-web/issues/10959
2019-09-25 14:59:32 +01:00
David Baker
56dfe6630f
Ignore crypto events with no content
2019-09-25 12:05:52 +01:00
J. Ryan Stinnett
8b3b181a48
Merge pull request #1041 from matrix-org/jryans/rm-id-params-request-token
...
Remove IS details from requestToken to HS
2019-09-23 14:43:03 +01:00
J. Ryan Stinnett
c952768542
Remove IS details from requestToken to HS
...
This removes the IS details (server and access token) from `requestToken` calls
to the HS, as long as the HS supports the new separate add and bind mode. In
this mode, all of the 3PID validation is handled by the HS, so the IS details
are not used.
Fixes https://github.com/vector-im/riot-web/issues/10933
2019-09-23 13:36:07 +01:00
J. Ryan Stinnett
1a368aa996
Merge pull request #1040 from matrix-org/jryans/msisdn-submit-url
...
Add support for sending MSISDN tokens to alternate URLs
2019-09-23 13:21:28 +01:00
J. Ryan Stinnett
61449458cf
Add support for sending MSISDN tokens to alternate URLs
...
Part of https://github.com/vector-im/riot-web/issues/10923
2019-09-23 12:20:28 +01:00
J. Ryan Stinnett
4eb547e535
Merge pull request #1038 from matrix-org/jryans/msc2290
...
Add separate 3PID add and bind APIs
2019-09-20 14:37:00 +01:00
J. Ryan Stinnett
b54acffaef
Tweak unbind 3PID params
2019-09-19 17:28:50 +01:00
J. Ryan Stinnett
65a1833e1f
Add 3PID unbind API
2019-09-19 15:28:58 +01:00
J. Ryan Stinnett
1ce4f25811
Use unstable prefix for add and bind
2019-09-19 15:28:35 +01:00
J. Ryan Stinnett
3127105516
Merge pull request #1037 from matrix-org/dependabot/npm_and_yarn/eslint-utils-1.4.2
...
Bump eslint-utils from 1.4.0 to 1.4.2
2019-09-18 12:52:28 +01:00
dependabot[bot]
d59ea4be78
Bump eslint-utils from 1.4.0 to 1.4.2
...
Bumps [eslint-utils](https://github.com/mysticatea/eslint-utils ) from 1.4.0 to 1.4.2.
- [Release notes](https://github.com/mysticatea/eslint-utils/releases )
- [Commits](https://github.com/mysticatea/eslint-utils/compare/v1.4.0...v1.4.2 )
Signed-off-by: dependabot[bot] <support@github.com >
2019-09-18 11:48:29 +00:00
J. Ryan Stinnett
f256f04440
Add MSISDN validation API on the IS
...
This API has existed for quite a while, but historically we've instead proxied
this request via the homeserver. As part of MSC2290 work, we are changing
approaches such that we will request tokens directly from the IS when binding
for discovery.
Part of https://github.com/vector-im/riot-web/issues/10839
2019-09-18 11:47:37 +01:00
J. Ryan Stinnett
b444aaa67e
Add separate add and bind HS APIs
...
Part of https://github.com/vector-im/riot-web/issues/10839
2019-09-18 11:16:23 +01:00
J. Ryan Stinnett
745185e689
Fix function doc syntax
2019-09-18 10:38:52 +01:00
J. Ryan Stinnett
2bfa891f0a
Add function to check for separate 3PID add and bind
...
This adds a way to test for MSC2290 support on the homeserver with separate add
and bind functions. It checks the unstable feature flag as well as the upcoming
r0.6.0 spec version.
Part of https://github.com/vector-im/riot-web/issues/10839
2019-09-18 10:36:41 +01:00
Travis Ralston
147167bed3
Merge pull request #1036 from matrix-org/travis/wrap-ff
...
Handle WebRTC security errors as non-fatal
2019-09-17 13:52:19 -06:00
Travis Ralston
565e18e8a3
Handle WebRTC security errors as non-fatal
...
Fixes https://github.com/vector-im/riot-web/issues/10898
In some restricted modes of Firefox, the WebRTC classes aren't super available: accessing them can cause SecurityErrors to be raised. In these conditions, we should just disable WebRTC support instead of falling apart.
2019-09-17 13:49:50 -06:00
Travis Ralston
55b4595bbf
Merge pull request #1035 from matrix-org/travis/r0.6
...
Check for r0.6.0 support in addition to unstable feature flags
2019-09-16 14:43:00 -06:00
Travis Ralston
eeb2c463dc
Check for r0.6.0 support in addition to unstable feature flags
...
To avoid the same problem that happened with lazy-loading (see https://github.com/matrix-org/synapse/issues/5528 ).
Note that as of writing r0.6.0 is not yet released, however it is the next scheduled release of the client-server API.
2019-09-16 14:30:18 -06:00
RiotRobot
d9bb0e9a52
Merge branch 'master' into develop
2019-09-16 17:43:01 +01:00
RiotRobot
7d07ab7c7e
v2.3.2
2019-09-16 17:40:19 +01:00
RiotRobot
f8ff3aac58
Prepare changelog for v2.3.2
2019-09-16 17:40:19 +01:00
David Baker
299a7728d1
Merge pull request #1034 from matrix-org/travis/t2
...
[Release] Fix addPendingEvent with pending event order == chronological
2019-09-16 17:02:32 +01:00
David Baker
39dc6a1742
Fix addPendingEvent with pending event order == chronological
...
When the pending event order setting was set to 'chronological'
(the default) `addPendingEvent` would NPE because Room no longer
has a `this._filter` property. It should get the filter from the
event timeline set instead, as it does in the previous line when
checking or the presence of a filter.
We should strongly consider changing the default pending event order
to 'detached' and probably removing 'chronological' or comitting to
support it properly: it's not really tested and is prone to breakage
like this.
Applies flumpt's fix from https://github.com/matrix-org/matrix-js-sdk/issues/599
Fixes https://github.com/matrix-org/matrix-js-sdk/issues/599
2019-09-16 09:36:14 -06:00
RiotRobot
f21c5aa7f2
v2.3.2-rc.1
2019-09-13 16:13:27 +01:00
RiotRobot
e9bc3f26a5
Prepare changelog for v2.3.2-rc.1
2019-09-13 16:13:27 +01:00
David Baker
23eaddd6ea
Merge pull request #1033 from matrix-org/travis/t1
...
Synapse admin functions to release
2019-09-13 16:07:58 +01:00
Travis Ralston
8143ce8450
Update src/client.js
...
Co-Authored-By: J. Ryan Stinnett <jryans@gmail.com >
2019-09-13 09:01:16 -06:00
Travis Ralston
0a487ec43e
Add Synapse admin functions for deactivating a user
...
For https://github.com/matrix-org/matrix-react-sdk/pull/3371
2019-09-13 09:01:05 -06:00
Travis Ralston
0edb483802
Merge pull request #1032 from matrix-org/travis/t1
...
[To Release] Add matrix base API to report an event
2019-09-13 08:27:31 -06:00
Michael Telatynski
06a32ce0a1
Add matrix base API to report an event
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2019-09-13 08:24:49 -06:00
RiotRobot
8cae00407a
Merge branch 'master' into develop
2019-09-12 12:51:29 +01:00
RiotRobot
a57ec87c67
v2.3.1
2019-09-12 12:48:36 +01:00
RiotRobot
4e62491ea4
Prepare changelog for v2.3.1
2019-09-12 12:48:36 +01:00
RiotRobot
5758029c1e
v2.3.1-rc.1
2019-09-11 18:38:22 +01:00
RiotRobot
8f08710c58
Prepare changelog for v2.3.1-rc.1
2019-09-11 18:38:21 +01:00
David Baker
90f98105f0
Merge pull request #1031 from matrix-org/dbkr/update_profile_on_redact_2
...
Update room members on member event redaction
2019-09-11 18:12:46 +01:00
David Baker
90354aa330
Update room members on member event redaction
...
If a member event was redacted, we weren't updating the current
state.
2019-09-11 18:09:54 +01:00
David Baker
aaabebe7f5
Merge pull request #1030 from matrix-org/dbkr/update_profile_on_redact
...
Update room members on member event redaction
2019-09-11 18:07:49 +01:00
David Baker
80a92dcdc2
Update room members on member event redaction
...
If a member event was redacted, we weren't updating the current
state.
2019-09-11 16:07:34 +01:00
Travis Ralston
dc9081e9d4
Merge pull request #1028 from matrix-org/travis/hidden_rr
...
Support hidden read receipts
2019-09-10 10:55:58 -06:00
Travis Ralston
3c299637b6
Merge pull request #1029 from matrix-org/travis/lowercase-lookups
...
Do 3pid lookups in lowercase
2019-09-09 15:19:48 -06:00
Travis Ralston
07af333943
clarify comment
2019-09-09 14:44:51 -06:00
Travis Ralston
0bbc781d0c
Do 3pid lookups in lowercase
...
Fixes https://github.com/vector-im/riot-web/issues/10754
2019-09-07 14:04:30 -06:00
Travis Ralston
79bf64f079
Appease the linter
2019-09-05 20:40:16 -06:00
Travis Ralston
ed67d39456
Support hidden read receipts
2019-09-05 19:38:49 -06:00
Travis Ralston
2f8cc75432
Merge pull request #1027 from matrix-org/travis/synapse_admin
...
Add Synapse admin functions for deactivating a user
2019-09-02 11:08:39 -06:00
Travis Ralston
03cccef805
Update src/client.js
...
Co-Authored-By: J. Ryan Stinnett <jryans@gmail.com >
2019-09-02 11:06:54 -06:00
Travis Ralston
6d5a0c2718
Add Synapse admin functions for deactivating a user
...
For https://github.com/matrix-org/matrix-react-sdk/pull/3371
2019-09-01 18:05:12 -06:00
David Baker
42b359eb5c
Merge pull request #1026 from matrix-org/dbkr/fix_add_pending_events_chronological
...
Fix addPendingEvent with pending event order == chronological
2019-08-28 17:02:20 -04:00
David Baker
3071587f11
Fix addPendingEvent with pending event order == chronological
...
When the pending event order setting was set to 'chronological'
(the default) `addPendingEvent` would NPE because Room no longer
has a `this._filter` property. It should get the filter from the
event timeline set instead, as it does in the previous line when
checking or the presence of a filter.
We should strongly consider changing the default pending event order
to 'detached' and probably removing 'chronological' or comitting to
support it properly: it's not really tested and is prone to breakage
like this.
Applies flumpt's fix from https://github.com/matrix-org/matrix-js-sdk/issues/599
Fixes https://github.com/matrix-org/matrix-js-sdk/issues/599
2019-08-28 16:34:09 -04:00
Hubert Chathi
f3ec9768bc
update to follow latest MSC
2019-08-27 16:53:36 -07:00
Travis Ralston
23159807b0
Merge pull request #1024 from matrix-org/travis/wk-raw
...
Add AutoDiscovery.getRawClientConfig() for easy .well-known lookups
2019-08-27 08:22:55 -06:00
Travis Ralston
b1ba9f76b8
Merge pull request #1025 from matrix-org/travis/fix-identity-json-error
...
Don't convert errors to JSON if they are JSON already
2019-08-23 12:14:58 -06:00
Travis Ralston
0e51dfed46
Don't convert errors to JSON if they are JSON already
...
For example, if the identity server throws a 401 on `/account`, we end up here with a JSON object. Don't convert the string `object Object` to JSON because it'll fail: just use the object.
2019-08-23 12:00:07 -06:00
J. Ryan Stinnett
09b00335f8
Merge pull request #1022 from matrix-org/jryans/is-token-to-hs
...
Send id_access_token to HS for use in proxied IS requests
2019-08-23 17:13:41 +01:00
J. Ryan Stinnett
3d274815d9
Change to provider object
2019-08-23 11:17:39 +01:00
Travis Ralston
70d60b905d
Add AutoDiscovery.getRawClientConfig() for easy .well-known lookups
...
Useful in cases where you don't need to validate the homeserver information.
2019-08-22 14:45:42 -06:00
Travis Ralston
3e2ffb25a6
Merge pull request #1023 from matrix-org/travis/cleanup-identity-http
...
Clean up JSON handling in identity server requests
2019-08-22 10:55:08 -06:00
Travis Ralston
8b9bef5cb3
Clean up JSON handling in identity server requests
2019-08-22 08:32:20 -06:00
J. Ryan Stinnett
31e72efc91
Send id_access_token to HS for use in proxied IS requests
...
This passes along the `id_access_token` to the HS, which it will need when
speaking v2 IS APIs to the IS.
Unfortunately, some HSes seem to explode when given this new parameter, so we
only pass it along for the moment if an unstable feature `m.id_access_token` is
also set.
Part of https://github.com/vector-im/riot-web/issues/10525
Defined in MSC2140
2019-08-22 14:31:41 +01:00
Travis Ralston
60b7252597
Merge pull request #1021 from matrix-org/travis/v2-identity-lookups
...
Use the v2 (hashed) lookup for identity server queries
2019-08-22 07:05:16 -06:00
Travis Ralston
3980b62df2
js-doc syntax is unknown to our js-doc
2019-08-21 14:32:38 -06:00
Travis Ralston
b306df726a
Lookups are URL safe
2019-08-21 14:30:24 -06:00
Travis Ralston
3d5a79be3b
Hashes need tokens too
2019-08-21 14:30:16 -06:00
Travis Ralston
ba78d1a9ae
JSON is JSON
2019-08-21 14:30:04 -06:00
Travis Ralston
241811298f
Appease the js-doc
2019-08-21 14:17:55 -06:00
Travis Ralston
8a0ddc43ab
Use the v2 (hashed) lookup for identity server queries
...
Fixes https://github.com/vector-im/riot-web/issues/10556
Implements [MSC2134](https://github.com/matrix-org/matrix-doc/pull/2134 ) with assistance from [MSC2140](https://github.com/matrix-org/matrix-doc/pull/2140 ) for auth.
Note: this also changes all identity server requests to use JSON as a request body. URL encoded forms were allowed in v1 but deprecated in favour of JSON. v2 APIs do not allow URL encoded forms.
2019-08-21 14:08:46 -06:00
David Baker
898fa0e41b
Merge pull request #1018 from matrix-org/dbkr/getversions
...
Add getIdServer() & doesServerRequireIdServerParam()
2019-08-19 11:23:53 +01:00
David Baker
081ff4dec0
Merge pull request #1019 from matrix-org/dbkr/requesttoken_optional_id_server
...
Make requestToken endpoints work without ID Server
2019-08-19 11:23:05 +01:00
David Baker
3c69b8511d
cache should expire TODO
2019-08-19 11:21:32 +01:00
David Baker
6843d86ecf
Truthiness not null check
...
Co-Authored-By: Travis Ralston <travpc@gmail.com >
2019-08-16 19:41:37 +01:00
David Baker
2e91200136
lint
...
also WE FIXED SOME WARNINGS! Go us.
2019-08-16 18:13:42 +01:00
David Baker
852304c417
Make requestToken endpoints work without ID Server
...
Hopefully with doc in appropriate functions
2019-08-16 18:09:29 +01:00
David Baker
ee752e3885
Add getIdServer() & doesServerRequireIdServerParam()
...
Remove individual cache for lazy loading and just cache the whole
versions response, then we can cache both of these flags
2019-08-16 15:02:49 +01:00
David Baker
b9480e4302
Merge pull request #1016 from matrix-org/dbkr/fix_setidentityserver
...
Fix setIdentityServer
2019-08-15 15:11:54 +01:00
David Baker
2ae4d07971
Fix setIdentityServer
2019-08-15 12:01:40 +01:00
J. Ryan Stinnett
90cac8a118
Merge pull request #1015 from matrix-org/jryans/stun-turn-fallback
...
Change ICE fallback server and make fallback opt-in
2019-08-15 10:50:56 +01:00
J. Ryan Stinnett
db18274f6e
Revert no TURN servers event
...
The intended flow has changed so we prompt about this case in context of making
a call, so this event is no longer needed.
2019-08-14 14:09:05 +01:00
J. Ryan Stinnett
172bad8b55
Support configuring ICE fallback at client init time
...
This adds a new client init option to configure whether an ICE fallback server
is allowed to be used.
2019-08-14 13:44:50 +01:00
J. Ryan Stinnett
dfe454e18f
Change ICE server fallback to opt-in
...
This changes the ICE server fallback to be disabled by default. The SDK consumer
will receive a new event in case the homeserver has no ICE servers of its own,
and can prompt the user to agree to the fallback if desired.
Part of https://github.com/vector-im/riot-web/issues/10173
2019-08-13 15:55:31 +01:00
J. Ryan Stinnett
3d8dd29b4c
Change STUN fallback to turn.matrix.org
...
This changes the STUN fallback server from a Google server to one hosted at
`turn.matrix.org`.
Part of https://github.com/vector-im/riot-web/issues/10173
2019-08-13 13:31:43 +01:00
J. Ryan Stinnett
c3ff213ec9
Improve WebRTC object logging
2019-08-13 13:29:59 +01:00
J. Ryan Stinnett
e80e5e1f8c
Firefox supports urls on RTCIceServer
...
There's no longer a need to translate ICE server objects for Firefox, as it
supports the `urls` array since version 37.
2019-08-13 13:15:56 +01:00
David Baker
bba249d5ce
Merge pull request #1014 from matrix-org/dbkr/throw_if_no_id_url
...
Throw an exception if trying to do an ID server request with no ID server
2019-08-13 10:41:04 +01:00
David Baker
f57df2bee5
Catch no ID server on other method
2019-08-12 16:06:37 +01:00
David Baker
b930638156
Be more verbose
...
Co-Authored-By: J. Ryan Stinnett <jryans@gmail.com >
2019-08-12 16:00:40 +01:00
David Baker
39c1de19fc
Throw an exception if trying to do an ID server request with no ID server
...
Will help with https://github.com/vector-im/riot-web/issues/10540
2019-08-12 15:39:50 +01:00
David Baker
17724fc8d3
Merge pull request #1013 from matrix-org/dbkr/set_is
...
Add setIdentityServerUrl
2019-08-09 18:11:45 +01:00
David Baker
4c6d11d9ed
Add setIdentityServerUrl
...
Hopefully fairly self explanatory. The ID server URL can be changed
fairly readily, whereas the HS URL would require a different access
token etc.
2019-08-09 18:05:37 +01:00
Michael Telatynski
05d77a85c9
Merge pull request #1011 from matrix-org/t3chguy/add-rooms-roomid-report-eventid
...
Add matrix base API to report an event
2019-08-08 15:21:20 +01:00
J. Ryan Stinnett
e95a133cdd
Merge pull request #1010 from matrix-org/jryans/user-settings-toggle-3pid
...
Fix POST body for v2 IS requests
2019-08-08 15:17:53 +01:00
Michael Telatynski
c21382d721
Add matrix base API to report an event
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2019-08-08 15:16:11 +01:00
J. Ryan Stinnett
8c15125e23
Fix POST body for v2 IS requests
...
POST bodies for v2 IS requests must be sent as JSON.
Part of https://github.com/vector-im/riot-web/issues/10159
2019-08-08 10:29:14 +01:00
J. Ryan Stinnett
64ddbd97dd
Merge pull request #1009 from matrix-org/jryans/user-settings-toggle-3pid
...
Add API for bulk lookup on the Identity Server
2019-08-07 18:05:58 +01:00
J. Ryan Stinnett
9c24bcb7a9
Tweak the type
2019-08-07 18:05:32 +01:00
J. Ryan Stinnett
8f016726f0
Add API for bulk lookup on the Identity Server
...
This adds support for querying `/bulk_lookup` on the IS to check several 3PIDs
at the same time.
Part of https://github.com/vector-im/riot-web/issues/10159
2019-08-07 17:45:13 +01:00
J. Ryan Stinnett
649fe7a490
Merge pull request #1000 from matrix-org/t3chguy/remove_authedRequestWithPrefix
...
Remove deprecated authedRequestWithPrefix and requestWithPrefix
2019-08-06 18:58:24 +01:00
RiotRobot
35f1cdf89c
Merge branch 'master' into develop
2019-08-05 11:48:35 +01:00
RiotRobot
06adc34fb3
v2.3.0
2019-08-05 11:46:46 +01:00
RiotRobot
87bf07f95e
Prepare changelog for v2.3.0
2019-08-05 11:46:46 +01:00
J. Ryan Stinnett
f05bf3f845
Merge pull request #1007 from matrix-org/jryans/is-account-info
...
Add API for checking IS account info
2019-08-01 17:28:08 +01:00
Travis Ralston
ab512d087c
Merge pull request #1008 from matrix-org/travis/tombstone-push-rel
...
[release] Support rewriting push rules when our internal defaults change
2019-08-01 08:30:01 -06:00
Travis Ralston
6799c29921
Appease the tests
2019-08-01 08:23:19 -06:00
Travis Ralston
a3f1da1981
Appease the linter
2019-08-01 08:23:19 -06:00
Travis Ralston
3b225651cc
Support rewriting push rules when our internal defaults change
...
and change our internal default for tombstones
2019-08-01 08:23:19 -06:00
Travis Ralston
a40d691159
Merge pull request #1006 from matrix-org/travis/tombstone-push
...
Support rewriting push rules when our internal defaults change
2019-08-01 08:22:47 -06:00
J. Ryan Stinnett
4ebe60b2ad
Add API for checking IS account info
...
Part of https://github.com/vector-im/riot-web/issues/10452
2019-08-01 12:02:56 +01:00
J. Ryan Stinnett
5a70859593
Merge pull request #1005 from matrix-org/jryans/upgrade-deps-2019-07-31
...
Upgrade dependencies
2019-07-31 18:51:14 +01:00
Travis Ralston
c7be810e65
Appease the tests
2019-07-31 11:00:44 -06:00
Travis Ralston
101217cfb6
Appease the linter
2019-07-31 11:00:38 -06:00
Travis Ralston
5c2aa4677f
Support rewriting push rules when our internal defaults change
...
and change our internal default for tombstones
2019-07-31 10:52:44 -06:00
J. Ryan Stinnett
ab9bfa68ae
Upgrade dependencies
2019-07-31 17:36:35 +01:00
RiotRobot
aa8c2ca277
v2.3.0-rc.1
2019-07-31 16:20:54 +01:00
RiotRobot
84509087ac
Prepare changelog for v2.3.0-rc.1
2019-07-31 16:20:54 +01:00
J. Ryan Stinnett
2450d461fd
Merge pull request #1002 from matrix-org/jryans/is-v2-auth
...
Add support for IS v2 API with authentication
2019-07-30 18:13:08 +01:00
J. Ryan Stinnett
50c590ae26
Note cleanup issue
2019-07-30 10:38:53 +01:00
J. Ryan Stinnett
516dff06ee
Rename isAccessToken to identityAccessToken
2019-07-30 10:06:52 +01:00
Travis Ralston
9a8af05bfb
Merge pull request #1001 from matrix-org/hs/recursive-tombstone-fixes
...
Tombstone bugfixes
2019-07-29 08:52:59 -06:00
Will Hunt
c9bf61c387
Simplify Set
2019-07-29 15:29:18 +01:00
Will Hunt
4f0f2e8c16
Fix issues with recursive tombstones
2019-07-29 15:27:32 +01:00
J. Ryan Stinnett
6f042a2142
Add IS v2 support to other IS APIs
...
This adds v2 support with fallback to other IS APIs in the SDK.
2019-07-29 14:55:40 +01:00
J. Ryan Stinnett
91416bdbb2
Add IS v1 API fallback for lookup
2019-07-29 14:44:15 +01:00
J. Ryan Stinnett
9b093f7569
Add first pass of IS v2 API with authentication
...
This only updates the `/lookup` API so far. It also doesn't handle falling back
to v1.
2019-07-29 13:15:19 +01:00
Michael Telatynski
b004d1602d
Remove deprecated authedRequestWithPrefix and requestWithPrefix
...
replacing as documented with authedRequest
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2019-07-29 12:25:38 +01:00
David Baker
6cca73b999
Merge pull request #988 from matrix-org/dbkr/terms
...
Support for MSC2140 (terms of service for IS/IM)
2019-07-23 10:32:05 +01:00
David Baker
fafd6df13e
Use standard _matrix path for terms endpoints
2019-07-22 18:53:36 +01:00
RiotRobot
8f77870526
Merge branch 'master' into develop
2019-07-18 15:44:16 +01:00
RiotRobot
eb0462e89b
v2.2.0
2019-07-18 15:42:21 +01:00
RiotRobot
80748d7d85
Prepare changelog for v2.2.0
2019-07-18 15:42:20 +01:00
David Baker
b694d53b73
Revert 8004e82c50
...
We need to switch the paths over all at once, so we can't commit
this yet: leave it until scalar suypports the new API then we can
update develop to use the _matrix paths.
(Also for some reason I broke the IS path too)
2019-07-15 14:26:16 +01:00
David Baker
8004e82c50
Use _matrix prefix for terms API
2019-07-15 13:51:39 +01:00
J. Ryan Stinnett
85b5849228
Upgrade lodash
2019-07-12 19:25:47 +01:00
J. Ryan Stinnett
6b86777e96
Upgrade lodash
2019-07-12 19:25:21 +01:00
RiotRobot
efe64a4817
v2.2.0-rc.2
2019-07-12 17:25:20 +01:00
RiotRobot
ad777f36b2
Prepare changelog for v2.2.0-rc.2
2019-07-12 17:25:20 +01:00
J. Ryan Stinnett
de77ad867c
Merge pull request #995 from matrix-org/jryans/v2.2.0/devices
...
Add a request method to /devices
2019-07-12 16:47:06 +01:00
Travis Ralston
9b35f86497
Add a request method to /devices
...
Turns out `HTTP /devices undefined` is invalid.
Regressed in https://github.com/matrix-org/matrix-js-sdk/pull/990
2019-07-12 16:38:43 +01:00
Travis Ralston
84fc8b1931
Merge pull request #994 from matrix-org/travis/fix-devices
...
Add a request method to /devices
2019-07-12 08:12:59 -06:00
RiotRobot
455c85fb69
v2.2.0-rc.1
2019-07-12 11:12:26 +01:00
RiotRobot
2a2fed695b
Prepare changelog for v2.2.0-rc.1
2019-07-12 11:12:25 +01:00
Travis Ralston
c1f28bd410
Add a request method to /devices
...
Turns out `HTTP /devices undefined` is invalid.
Regressed in https://github.com/matrix-org/matrix-js-sdk/pull/990
2019-07-11 14:35:04 -06:00
David Baker
c74e0bb6b3
tell people what an IS/IM are
2019-07-11 16:29:27 +01:00
David Baker
5b9e158035
unused param
...
getTerms is un-authed so doesn't need the access token
2019-07-11 16:28:41 +01:00
Travis Ralston
a8d200dd02
Merge pull request #993 from matrix-org/travis/sas-is-done
...
End the verification timer when verification is done
2019-07-11 08:20:30 -06:00
Travis Ralston
34ae967cb8
Merge pull request #990 from matrix-org/travis/stably-use-stable-apis
...
Stabilize usage of stably stable APIs (in a stable way)
2019-07-11 08:20:14 -06:00
RiotRobot
a67f14825e
Merge branch 'master' into develop
2019-07-11 10:36:44 +01:00
RiotRobot
50c14d0ab8
v2.1.1
2019-07-11 10:34:58 +01:00
RiotRobot
0edb6e6f6f
Prepare changelog for v2.1.1
2019-07-11 10:34:58 +01:00
Travis Ralston
36d0dacda1
Process ephemeral events outside timeline handling
2019-07-11 10:21:44 +01:00
Bruno Windels
83b74070aa
Merge pull request #987 from matrix-org/bwindels/include-orig-in-history
...
Expose original_event for /relations
2019-07-11 08:09:44 +00:00
Travis Ralston
f80af68686
End the verification timer when verification is done
...
Fixes https://github.com/matrix-org/matrix-js-sdk/issues/980
This also improves cleanliness in the tests to cancel/terminate timers when needed.
2019-07-10 14:51:12 -06:00
Travis Ralston
fe4ac06f43
Use the correct media endpoints
2019-07-10 13:24:11 -06:00
Travis Ralston
eaaa3e980a
Use unstable prefix for key backup
2019-07-10 13:17:31 -06:00
Travis Ralston
07629bfb9a
unstable -> stable
2019-07-10 13:11:46 -06:00
Travis Ralston
88fdeca2bf
Merge pull request #989 from matrix-org/travis/edu-timeline
...
Process ephemeral events outside timeline handling
2019-07-10 10:38:02 -06:00
Travis Ralston
a3c8eac38b
Process ephemeral events outside timeline handling
2019-07-10 10:26:21 -06:00
Bruno Windels
bd5380c0b4
Merge pull request #986 from matrix-org/bwindels/include-ssa-for-replace
...
Don't accept any locally known edits earlier than the last known server-side aggregated edit
2019-07-10 14:38:26 +00:00
David Baker
c3b5767999
update comment to reflect right version
2019-07-10 12:19:12 +01:00
David Baker
9e5c2732c9
consistent spacing
2019-07-10 12:18:41 +01:00
David Baker
b8957fa917
omit null params
2019-07-10 12:17:52 +01:00
David Baker
52c139dcdc
Forgot /terms for ISes
...
and IMs shouldn't have a slash
2019-07-10 12:15:31 +01:00
David Baker
39d4bf1494
SERVICE_TYPES
2019-07-10 12:08:13 +01:00
David Baker
4c713e3387
s/servicetypes/service-types/
2019-07-10 11:53:59 +01:00
David Baker
bb486f5148
SERVICE_TYPES
...
Co-Authored-By: J. Ryan Stinnett <jryans@gmail.com >
2019-07-10 11:47:36 +01:00
David Baker
524fea1297
lint
2019-07-10 10:43:54 +01:00
David Baker
e9528ebb98
Support for MSC2140 (terms of service for IS/IM)
2019-07-09 18:50:01 +01:00
Bruno Windels
de18283c3b
map, decrypt and return original_event if present
2019-07-09 17:52:58 +02:00
Bruno Windels
cc1c7561a3
Merge pull request #984 from matrix-org/bwindels/replace-server-date
...
Get edit date transparently from server aggregations or local echo
2019-07-09 15:03:02 +00:00
Bruno Windels
5d928f07a0
don't accept any edit earlier than the server-side set edit.
2019-07-09 15:06:07 +02:00
Bruno Windels
01b882480f
method to get edit date transparently from server aggregations or local echo
2019-07-09 11:29:19 +02:00
Travis Ralston
21d52fdbdd
Merge pull request #982 from matrix-org/travis/soft-logout-keys
...
Add a function to flag keys for backup without scheduling a backup
2019-07-08 11:48:09 -06:00
Hubert Chathi
7f8b9de560
offer to upgrade device verifications to cross-signing
2019-07-08 12:26:00 -04:00
Hubert Chathi
761f22b63d
minor cleanups
2019-07-08 12:25:28 -04:00
RiotRobot
f9baff2a3a
Merge branch 'master' into develop
2019-07-08 10:46:33 +01:00
RiotRobot
71eca4ffcc
v2.1.0
2019-07-08 10:44:47 +01:00
RiotRobot
bc8dca5105
Prepare changelog for v2.1.0
2019-07-08 10:44:47 +01:00
David Baker
3ae3dffff7
Lint
2019-07-08 10:37:24 +01:00
David Baker
81c6023940
Fix exception whilst syncing
...
event.getPushRules() may return null (for better or worse...).
Use client.getPushRulesForEvent which will calculate them if they
haven't already been calculated.
Fixes https://github.com/vector-im/riot-web/issues/10269
2019-07-08 10:37:24 +01:00
Travis Ralston
3a0f27fa7e
Add a function to flag keys for backup without scheduling a backup
...
For https://github.com/vector-im/riot-web/issues/10263
Starting/scheduling the backup won't help us because the token would be invalid from a server perspective. Instead, we should update what needs to be done and return a count.
2019-07-05 13:50:11 -06:00
J. Ryan Stinnett
60e339bac0
Merge pull request #981 from matrix-org/jryans/reactions-send-marks-unread
...
Block read marker and read receipt from advancing into pending events
2019-07-05 17:55:52 +01:00
J. Ryan Stinnett
ecb88f45b7
Merge pull request #977 from matrix-org/jryans/upgrade-deps
...
Upgrade dependencies
2019-07-05 17:50:10 +01:00
J. Ryan Stinnett
24a869d15b
Update copyright header
2019-07-05 15:07:56 +01:00
J. Ryan Stinnett
1d427a1ea8
Block read marker and read receipt from advancing into pending events
...
This changes the methods that update the read marker and read receipts to
prevent advancing into pending events.
Part of https://github.com/vector-im/riot-web/issues/9952
2019-07-05 13:59:04 +01:00
J. Ryan Stinnett
90e25867ad
Merge pull request #976 from matrix-org/jryans/push-rule-reactions
...
Add default push rule to ignore reactions
2019-07-05 12:01:31 +01:00
David Baker
2ae56e61cb
Merge pull request #979 from matrix-org/dbkr/fix_sync_exception
...
Fix exception whilst syncing
2019-07-05 11:08:00 +01:00
David Baker
56c0830328
Lint
2019-07-05 10:32:33 +01:00
David Baker
093f139d34
Fix exception whilst syncing
...
event.getPushRules() may return null (for better or worse...).
Use client.getPushRulesForEvent which will calculate them if they
haven't already been calculated.
Fixes https://github.com/vector-im/riot-web/issues/10269
2019-07-05 10:26:47 +01:00
Travis Ralston
1083efc212
Merge pull request #975 from matrix-org/travis/soft-logout-base
...
Include the error object when raising Session.logged_out
2019-07-04 09:57:22 -06:00
J. Ryan Stinnett
69773c2619
Upgrade dependencies
2019-07-04 15:04:34 +01:00
J. Ryan Stinnett
2525b5a5d8
Add default push rule to ignore reactions
...
This adds a default push rule to ignore reactions as proposed in
[MSC2153](https://github.com/matrix-org/matrix-doc/pull/2153 ). By adding it here
in the client directly, we can try out the idea early even if it hasn't appeared
in the user's HS yet.
Part of https://github.com/vector-im/riot-web/issues/10208
2019-07-04 14:41:04 +01:00
Hubert Chathi
b00804102d
obsolete todo
2019-07-03 21:37:18 -04:00
Hubert Chathi
8d1d657c44
add unit test for backups signed by cross-signing key
2019-07-03 19:16:26 -04:00
Travis Ralston
ff9c84ff94
Fix tests
2019-07-03 16:50:24 -06:00
Travis Ralston
3aa2bf8a76
Include the error object when raising Session.logged_out
...
Note: The `call` argument previously defined in the SDK was never actually populated, and appears to be a documentation error when the definition was copied from `Call.incoming` directly above it.
2019-07-03 16:42:33 -06:00
Hubert Chathi
6cd09c6af2
pksign was moved to olmlib
2019-07-03 16:00:44 -04:00
Hubert Chathi
46a8486245
rename m.secrets.share to m.secrets.send to agree with latest MSC
2019-07-03 15:15:56 -04:00
Hubert Chathi
c5caf8f8f4
sign backups with master key
2019-07-03 15:15:41 -04:00
RiotRobot
a229ece693
v2.1.0-rc.1
2019-07-03 16:40:08 +01:00
RiotRobot
b435137332
Prepare changelog for v2.1.0-rc.1
2019-07-03 16:40:07 +01:00
Travis Ralston
2cdbc9f4db
Merge pull request #974 from matrix-org/travis/e2e-self-notif
...
Handle self read receipts for fixing e2e notification counts
2019-07-03 09:16:22 -06:00
Michael Telatynski
aa6884e484
Merge pull request #973 from matrix-org/t3chguy/show_hidden_redactions_missing_redacts
...
Add redacts field to event.toJSON
2019-07-03 13:10:16 +01:00
Bruno Windels
4f4d694687
Merge pull request #972 from matrix-org/bwindels/handle-associated-failures
...
Handle associated event send failures
2019-07-03 09:02:49 +00:00
Travis Ralston
1b47999e80
Handle self read receipts for fixing e2e notification counts
...
Fixes https://github.com/vector-im/riot-web/issues/9421
This also adds a context to the ReEmitter so we have access to the Room at the time of read receipt. Without this, we have to bind handlers to every encrypted room (which is tedious to maintain) or figure out which room `$something` belong to (CPU intensive).
2019-07-02 13:12:29 -06:00
Michael Telatynski
02427651dd
Add redacts field to event.toJSON
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2019-07-02 19:44:16 +01:00
Bruno Windels
8eeb088e50
allow to clear replacement on redacted events
...
this is needed when cancelling sending anything related to an event,
to not keep the event as edited when we cancel the edit
before the redaction.
2019-07-02 13:12:13 +02:00
Travis Ralston
3f62581556
Merge pull request #971 from matrix-org/travis/cleanup-debugging
...
Remove irrelevant debug line from timeline handling
2019-07-01 09:47:36 -06:00
Travis Ralston
b53a7f6ee8
Remove irrelevant debug line from timeline handling
...
See https://github.com/matrix-org/matrix-js-sdk/pull/877#discussion_r271704218
2019-06-28 16:29:18 -06:00
Hubert Chathi
4356603665
save public part of cross-signing keys
2019-06-27 23:37:57 -04:00
Hubert Chathi
1cae5e8b97
fix unit tests to match event name changes
2019-06-27 23:33:07 -04:00
Bruno Windels
a4591afba6
clarify when this will return something
2019-06-27 17:53:49 +02:00
Bruno Windels
6ea4c77dd5
expose local echo redaction event on redacted event
2019-06-27 17:53:29 +02:00
Bruno Windels
dc3d90d696
keep local redaction event to return accurate status
2019-06-27 17:17:53 +02:00
Bruno Windels
00de919eb4
Merge pull request #969 from matrix-org/bwindels/e2e-edit-history
...
Handle relations in encrypted rooms
2019-06-27 13:15:59 +00:00
Bruno Windels
fdacc2f7ab
dont try to decrypt reactions
2019-06-27 15:03:47 +02:00
J. Ryan Stinnett
5a64c29228
Fix logging typo
...
Regression from https://github.com/matrix-org/matrix-js-sdk/pull/924
2019-06-27 13:27:13 +01:00
Bruno Windels
c5cddf1607
take reactions into account when fetching relations from e2e rooms
2019-06-27 14:06:57 +02:00
Bruno Windels
44c7844a4b
handle relations in encrypted rooms
2019-06-27 12:35:34 +02:00
Bruno Windels
f293da5b34
Merge pull request #967 from matrix-org/bwindels/edit-history
...
Relations endpoint support
2019-06-26 14:38:46 +00:00
Bruno Windels
4f044de79e
add jsdocs
2019-06-26 15:48:39 +02:00
Bruno Windels
da116e6077
remove c/p leftover
2019-06-26 15:48:27 +02:00
Bruno Windels
2489180c47
rename pagination token option to from, more in line with cs api
2019-06-26 15:47:59 +02:00
J. Ryan Stinnett
4ec4d330aa
Merge pull request #968 from matrix-org/jryans/reactions-disable-encryption
...
Disable event encryption for reactions
2019-06-26 11:29:47 +01:00
Bruno Windels
c75ca1c2d6
fix lint and encode path params properly
2019-06-26 12:10:24 +02:00
Bruno Windels
67462e9fc4
support paginating relations
2019-06-26 12:00:25 +02:00
Bruno Windels
424b6303ef
basic support for /relations endpoint
2019-06-26 12:00:25 +02:00
J. Ryan Stinnett
59c4e2c354
Disable event encryption for reactions
...
For reactions, there is a very little gained by encrypting the entire event, as
relation data is already kept in the clear. Event encryption for a reaction
effectively only obscures the event type, but the purpose is still obvious from
the relation data, so nothing is really gained. It also causes quite a few
problems, such as:
* triggers notifications via default push rules
* prevents server-side bundling for reactions
The reaction key / content / emoji value does warrant encrypting, but this will
be handled separately by encrypting just this value.
See https://github.com/matrix-org/matrix-doc/pull/1849#pullrequestreview-248763642
Fixes https://github.com/vector-im/riot-web/issues/10130
2019-06-26 10:59:44 +01:00
Travis Ralston
ecca8bc86e
Merge pull request #966 from matrix-org/travis/known-safe
...
Change the known safe room version to version 4
2019-06-25 17:29:24 -06:00
Travis Ralston
43ca920b10
Change the known safe room version to version 4
...
The default room version in the spec is v4 due to widespread adoption. We should mirror that.
2019-06-25 15:19:28 -06:00
Travis Ralston
e1a3f8f053
Merge pull request #965 from matrix-org/travis/detect-ll-r0.5
...
Check for lazy-loading support in the spec versions instead
2019-06-25 09:02:20 -06:00
Travis Ralston
6e7cb63e7d
Check for lazy-loading support in the spec versions instead
...
Fixes https://github.com/vector-im/riot-web/issues/9966
2019-06-24 13:03:06 -06:00
Travis Ralston
ab1177d987
Merge pull request #963 from huan/patch-1
...
Use cameCase instead of underscore
2019-06-24 11:09:36 -06:00
Huan LI (李卓桓)
ee0a1d281d
Use cameCase instead of underscore
...
To make all the variable names to be consistent
2019-06-23 11:56:05 +08:00
Travis Ralston
aef7b9a1dc
Merge pull request #961 from matrix-org/travis/sas-timeouts
...
Time out verification attempts after 10 minutes of inactivity
2019-06-20 14:29:18 -06:00
Travis Ralston
7cb8de5b69
Appease the linter
2019-06-20 14:17:51 -06:00
Travis Ralston
5c2fb1c42b
Null check and naming
2019-06-20 14:12:16 -06:00
Travis Ralston
553857583d
Merge pull request #962 from matrix-org/travis/sas-cancel
...
Don't handle key verification requests which are immediately cancelled
2019-06-20 09:10:31 -06:00
Travis Ralston
6d0923153f
Don't handle key verification requests which are immediately cancelled
...
Fixes https://github.com/vector-im/riot-web/issues/10083
Fixes https://github.com/vector-im/riot-web/issues/9197
Fixes https://github.com/vector-im/riot-web/issues/8629
The issue is partially fixed by https://github.com/matrix-org/matrix-react-sdk/pull/3123 in that users would no longer see "Incoming request", but would launch their client to a bunch of "key verification cancelled" dialogs. To work around this, we just don't handle key verification requests which we know are cancelled.
The changes are a bit awkward (flagging the event as cancelled instead of filtering it) because:
* We probably don't want to prevent events getting sent over the EventEmitter because applications may still rely on them.
* The cypto side only has visibility of 1 event at a time, so it needs to have some kind of flag to rely on.
An attempt has been made to generalize the new event flag for possible future cases.
2019-06-19 16:46:38 -06:00
Travis Ralston
e34eb48914
Don't timeout cancelled requests
...
The cancelled flag is used upstream and is therefore public.
2019-06-19 14:44:36 -06:00
Travis Ralston
05ab6ef3ab
Time out verification attempts after 10 minutes of inactivity
...
Fixes https://github.com/vector-im/riot-web/issues/10117
2019-06-19 14:15:58 -06:00
RiotRobot
81eefc1377
v2.0.1
2019-06-19 15:43:38 +01:00
RiotRobot
895d854e1c
Prepare changelog for v2.0.1
2019-06-19 15:43:38 +01:00
RiotRobot
e432d4f808
v2.0.1-rc.2
2019-06-18 15:28:47 +01:00
RiotRobot
56c0ae294b
Prepare changelog for v2.0.1-rc.2
2019-06-18 15:28:47 +01:00
David Baker
0b9d68b4f2
Merge remote-tracking branch 'origin/develop' into release-v2.0.1
2019-06-18 15:24:51 +01:00
Bruno Windels
e2e034f795
Merge pull request #960 from matrix-org/bwindels/redactions-blended-echo
...
return 'sending' status for an event that is only locally redacted
2019-06-18 13:09:03 +00:00
Bruno Windels
bb5e3d51b8
remove redundant localecho part from method name
2019-06-18 14:58:17 +02:00
Bruno Windels
70b23614b5
comment typo
2019-06-18 14:55:58 +02:00
Bruno Windels
24a75e3765
return 'sending' status for an event that is only locally redacted
2019-06-18 13:46:34 +02:00
Hubert Chathi
07c2e34d87
Merge branch 'develop' into dbkr/cross_signing
2019-06-14 22:57:02 -04:00
Hubert Chathi
5bcbe76f2c
cleanups and a lot more docs
2019-06-14 22:50:29 -04:00
Hubert Chathi
d694ee3ef3
Merge pull request #954 from uhoreg/fix_verification_request
...
Key verification request fixes
2019-06-14 15:39:01 -04:00
David Baker
efbdf4e1a8
Merge pull request #956 from matrix-org/dbkr/resurrect_riot_bot
...
Add flag to force saving sync store
2019-06-14 17:20:27 +01:00
David Baker
44bfc2e846
Add flag to force saving sync store
...
Add a 'force' flag to to the save method of the store to force the
store to sace its data even if it wouldn't normally.
2019-06-14 15:57:49 +01:00
Travis Ralston
0121bdbb75
welcome back, Olm
2019-06-14 08:23:27 -06:00
David Baker
b8ba77a7b5
Merge pull request #953 from matrix-org/dbkr/simplify_email_reg
...
Expose the inhibit_login flag to register
2019-06-13 18:22:23 +01:00
David Baker
65dd5cc6ad
use right variable
2019-06-13 16:30:39 +01:00
David Baker
8aeb994839
Expose the inhibit_login flag to register
2019-06-13 16:23:11 +01:00
Hubert Chathi
64daa444dd
Key verification request fixes
...
- fix requestVerification in MatrixClient to match the function in crypto
- reorder the arguments so that the arguments actually do what they say they
do
- pass through the third argument, which was accidentally omitted
- ignore verification requests from ourselves
- also fix a comment
2019-06-13 10:55:06 -04:00
Bruno Windels
26aab4f38d
Merge pull request #947 from matrix-org/bwindels/relations-unsent
...
Support redactions and relations of/with unsent events.
2019-06-13 11:32:37 +00:00
Bruno Windels
6059df1b67
move CANCELLED check deeper into aggregation path
2019-06-13 12:28:02 +02:00
Bruno Windels
2a0c85c772
add hasAssociation helper
2019-06-13 12:28:02 +02:00
Bruno Windels
3488fbe64c
expand comment why need to preserve redaction local echo on remote echo
2019-06-13 12:28:02 +02:00
Bruno Windels
811a98ad19
whitespace, newlines
2019-06-13 12:28:02 +02:00
Bruno Windels
4462f4b90e
add isRedaction helper on Event
2019-06-13 12:28:02 +02:00
Bruno Windels
4143a79f7b
rename related id to associated id
2019-06-13 12:26:38 +02:00
Bruno Windels
3ed9b00398
clarify why we need to listen for remote echo of related event
2019-06-13 12:26:38 +02:00
Bruno Windels
b005b75331
comment typo
...
Co-Authored-By: J. Ryan Stinnett <jryans@gmail.com >
2019-06-13 12:26:38 +02:00
Bruno Windels
a9f9e2cf35
comment typo
...
Co-Authored-By: J. Ryan Stinnett <jryans@gmail.com >
2019-06-13 12:26:38 +02:00
Bruno Windels
5602b94dcb
make sure where not re-adding cancelled events when undoing local red.
2019-06-13 12:26:38 +02:00
Bruno Windels
930de640ac
don't add events from /sync that have been locally redacted
...
it'll cause the reactions counter to go up and down while reactions
and redactions come in.
In case the local redaction gets cancelled,
Room._revertRedactionLocalEcho will add the relation back to
the relations collection.
2019-06-13 12:26:38 +02:00
Bruno Windels
6d9fba8191
preserve (locally) redacted state after applying remote echo
...
because the RedactionDimensions was trying to redact an event
that was already redacted after it's remote echo had come in
but it's redaction hadn't synced yet.
2019-06-13 12:26:38 +02:00
Bruno Windels
624c6f0a6e
get the txnId from the correct place to delete event after remote echo
2019-06-13 12:26:38 +02:00
Bruno Windels
7d2f7fae45
fix tests
2019-06-13 12:26:38 +02:00
Bruno Windels
3f917b39c9
fix lint
2019-06-13 12:26:38 +02:00
Bruno Windels
f1336a5ce7
rename target id to related id and add jsdoc comments
2019-06-13 12:26:38 +02:00
Bruno Windels
7a10d504b2
emit Relations.redaction synchronously, timeout should not be needed
...
listeners shouldn't care about the original event, as it's removed
from the Relations collection already.
2019-06-13 12:26:38 +02:00
Bruno Windels
831aec6488
emit remote id once received so enqueued relations have it when sent
2019-06-13 12:26:38 +02:00
Bruno Windels
6eb229ac1e
first look in pending event list for event being redacted
...
in case the redacted event hasn't been sent yet
2019-06-13 12:26:38 +02:00
Bruno Windels
c58db665dd
give the client a chance to run room.updatePendingEvent after sending
...
before the next event is sent. This is needed to update the target id
if it was the local id of the event that was just sent.
2019-06-13 12:26:38 +02:00
Bruno Windels
e222fb1783
enqueue relations and redactions as well
...
as they might need to wait until their target has been sent
2019-06-13 12:26:38 +02:00
Hubert Chathi
4c6fa89053
various cross-signing fixes and improvements
2019-06-12 11:47:12 -04:00
Hubert Chathi
98815ffdf6
allow http request stub to ignore unhandled syncs
2019-06-12 11:41:26 -04:00
RiotRobot
31a0192c2d
v2.0.1-rc.1
2019-06-12 11:47:36 +01:00
RiotRobot
53f8091e3a
Prepare changelog for v2.0.1-rc.1
2019-06-12 11:47:35 +01:00
David Baker
012cbf7995
Merge pull request #952 from matrix-org/jryans/file-api-changes
...
Fix content uploads for modern browsers
2019-06-11 13:11:53 +01:00
J. Ryan Stinnett
ac26c91cba
Fix content uploads for modern browsers
...
Modern browsers now expose a `stream` function on the Blob and File interfaces.
This conflicts with an older style of passing data to the `uploadContent` SDK
method, which supported supplying the data to upload in the `stream` property of
an object.
Since this old style is still in active use in the Matrix JS ecosystem, we
preserve the backwards compatibility for now by checking whether `stream` is a
function.
This fix has been tested in Firefox Nightly (69), Firefox Release (67), Chrome
Canary (77), and Chrome Stable (75).
Fixes https://github.com/vector-im/riot-web/issues/9913
Fixes https://github.com/matrix-org/matrix-js-sdk/issues/949
2019-06-11 13:02:42 +01:00
David Baker
c13162aada
Merge pull request #951 from matrix-org/dbkr/one_request_at_a_time_two
...
Don't overlap auth submissions with polls
2019-06-11 10:42:32 +01:00
David Baker
9fb6eea8b7
Document what to use instead
2019-06-10 18:04:30 +01:00
David Baker
23c4f19cda
lint
2019-06-10 16:29:55 +01:00
David Baker
3b34570749
doc background flag deprecation
2019-06-10 16:26:09 +01:00
David Baker
0412ca5810
make busyChanged optional
2019-06-10 16:24:20 +01:00
David Baker
c80518bf3e
s/setBusy/busyChanged/
2019-06-10 16:23:06 +01:00
David Baker
61ee6eb8af
This should be null, not false
...
Co-Authored-By: J. Ryan Stinnett <jryans@gmail.com >
2019-06-10 16:19:45 +01:00
David Baker
654e8b41fa
Don't overlap auth submissions with polls
...
Wait for polls to complete before submitting auth dicts, otherwise
we risk the requests overlapping and both returning a 200.
Also introduces a setBusy interface to interactive-auth to explicitly
set the busy status, since otherwise it doesn't get set until the
request actually starts.
2019-06-10 15:18:46 +01:00
J. Ryan Stinnett
7080458f7e
Merge pull request #945 from matrix-org/jryans/funding
...
Add funding details for GitHub sponsor button
2019-06-07 20:42:28 +01:00
J. Ryan Stinnett
08d236f5ec
Add funding details for GitHub sponsor button
2019-06-07 11:46:56 +01:00
David Baker
e332a7d113
Merge pull request #944 from matrix-org/dbkr/verify_signature_modifies_the_object_because_everything_is_awful
...
Fix backup sig validation with multiple sigs
2019-06-07 11:26:13 +01:00
David Baker
7879709f62
Fix backup sig validation with multiple sigs
...
verifySignature modifies the object so we need to clone if we're
verifying more than one signature.
Fixes https://github.com/vector-im/riot-web/issues/9357
2019-06-07 11:05:44 +01:00
David Baker
56e030762e
Merge pull request #943 from matrix-org/dbkr/wait_for_token_request
...
Don't send another token request while one's in flight
2019-06-06 19:18:20 +01:00
David Baker
bac73150ca
Don't send another token request while one's in flight
...
Otherwise we end up with more tokens than are strictly necessary
2019-06-06 19:03:29 +01:00
David Baker
2e1fb15ada
Merge pull request #942 from matrix-org/dbkr/one_poll_at_a_time
...
Don't poll UI auth again until current poll finishes
2019-06-06 18:36:34 +01:00
David Baker
ae9bcd6f6c
Don't poll UI auth again until current poll finishes
...
On slow networks/servers we were ending up with lots of requests in
flight.
2019-06-06 18:31:54 +01:00
Travis Ralston
c18c679b9b
Merge pull request #938 from matrix-org/travis/fail-fast-but-not-too-fast
...
Provide the discovered URLs when a liveliness error occurs
2019-06-06 09:03:39 -06:00
Travis Ralston
d014ee0b72
Merge pull request #941 from matrix-org/travis/redact-v3
...
Encode event IDs when redacting events
2019-06-06 08:29:15 -06:00
Travis Ralston
a30ef7250b
Encode event IDs when redacting events
...
Because v3 rooms are a thing.
2019-06-05 15:27:55 -06:00
Hubert Chathi
6f6e7ea921
verify cross-signing key with SAS
2019-06-05 15:27:31 -04:00
Hubert Chathi
0c714ba4a1
some cleanups
2019-06-05 15:24:03 -04:00
Hubert Chathi
5f539aacd9
Merge branch 'develop' into dbkr/cross_signing
2019-06-05 15:21:17 -04:00
Hubert Chathi
570ce4f4b7
Merge pull request #940 from uhoreg/fix_missing_logger
...
add missing logger
2019-06-05 14:49:38 -04:00
Hubert Chathi
3c7c9048eb
add missing logger
2019-06-05 14:04:39 -04:00
Hubert Chathi
6a77df7b41
Merge branch 'develop' into dbkr/cross_signing
2019-06-05 12:48:17 -04:00
Hubert Chathi
41243757ee
Merge pull request #939 from uhoreg/unpicky_verification
...
verification: don't error if we don't know about some keys
2019-06-05 12:18:53 -04:00
Hubert Chathi
2af311bd7d
verification: don't error if we don't know about some keys
2019-06-05 11:56:37 -04:00
Bruno Windels
1bc9ee7110
Merge pull request #937 from matrix-org/bwindels/redactions-local-echo
...
Local echo for redactions
2019-06-05 07:49:31 +00:00
Bruno Windels
4e040f8e77
correct comments about redaction events
2019-06-05 09:41:52 +02:00
Travis Ralston
26c1c6db3b
Fix tests and populate the right IS validation object
2019-06-04 23:51:41 -06:00
Travis Ralston
d38da83656
Provide the discovered URLs when a liveliness error occurs
...
See https://github.com/vector-im/riot-web/issues/9828
2019-06-04 23:39:31 -06:00
Hubert Chathi
4a9a1b40e9
initial implementation of secret storage and sharing
2019-06-04 15:04:45 -04:00
Hubert Chathi
dc971b9a59
add missing semicolon
2019-06-04 14:58:46 -04:00
Bruno Windels
58f163ed5c
emit Room.redactionCancelled event when undoing redaction local echo
2019-06-04 18:45:13 +02:00
Bruno Windels
c0c9f0122c
remove leftover newline
2019-06-04 16:08:14 +02:00
Bruno Windels
d33395e46d
improve naming and commenting for _aggregateNonLiveRelation
2019-06-04 15:54:31 +02:00
Bruno Windels
b83c7d3929
unneeded check, as redacted_because is now also set for local echo
2019-06-04 15:49:52 +02:00
Bruno Windels
b5df016b1b
remove unused method
2019-06-04 15:28:40 +02:00
Bruno Windels
a8b6be3b38
also set redacted_because with redaction local echo
2019-06-04 13:37:24 +02:00
Bruno Windels
78cf175f5a
also look for redaction local echo event in pendingList
...
also re-aggregate the relation if it's redaction has been cancelled
2019-06-04 11:55:48 +02:00
Travis Ralston
1b78856a7d
Merge pull request #934 from matrix-org/travis/re-check-version
...
Refresh safe room versions when the server looks more modern than us
2019-06-04 01:40:57 -06:00
Bruno Windels
8194287391
make redactEvent go through same local-echo aware path as other events
2019-06-03 18:37:25 +02:00
Bruno Windels
2eecea9a07
handle redactions in room pending event logic
2019-06-03 18:37:01 +02:00
Bruno Windels
465032dd4f
support marking an event as redacted in a way we can undo it later
...
in case the redaction can't be sent
2019-06-03 18:36:03 +02:00
Travis Ralston
e473315a89
Check for the correct capability when refreshing
2019-06-03 09:56:55 -06:00
Travis Ralston
9d34ad5287
Merge pull request #935 from matrix-org/travis/v4-rooms
...
Add v4 as a safe room version
2019-06-03 07:11:13 -06:00
Travis Ralston
a532cc5cf9
Add v4 as a safe room version
...
It's listed as stable in the spec, and this is for our fallback.
2019-06-02 23:36:02 -06:00
Travis Ralston
60c6c5bc41
Refresh safe room versions when the server looks more modern than us
...
Fixes https://github.com/vector-im/riot-web/issues/9845
2019-06-02 23:34:58 -06:00
J. Ryan Stinnett
0cbbbe8503
Merge pull request #933 from matrix-org/jryans/disable-guard-for-in
...
Disable guard-for-in rule
2019-05-31 18:10:57 +01:00
J. Ryan Stinnett
47a8d3e50a
Disable guard-for-in rule
...
The Google code style config for ESLint turns on `guard-for-in` to require
for-in loops to check own properties. This makes it annoying to iterate objects,
and we seem to disable the rule by line comments when it comes up anyway, so
this just disables it globally.
2019-05-31 16:36:54 +01:00
RiotRobot
304da09f3b
Merge branch 'master' into develop
2019-05-31 10:30:58 +01:00
RiotRobot
acd4dcb56e
v2.0.0
2019-05-31 10:29:21 +01:00
RiotRobot
c170456cde
Prepare changelog for v2.0.0
2019-05-31 10:29:20 +01:00
J. Ryan Stinnett
4e739e4b06
Merge pull request #932 from matrix-org/jryans/login-change-release
...
Saves access_token and user_id after login for all login types
2019-05-31 10:05:34 +01:00
J. Ryan Stinnett
137c6919f6
Fix undefined logger in webstorage.js
2019-05-31 10:01:32 +01:00
J. Ryan Stinnett
842ce30190
Fix lint error in login.spec.js
2019-05-31 09:54:47 +01:00
J. Ryan Stinnett
df1539040c
Fix lint error in login.spec.js
2019-05-31 09:54:11 +01:00
Sergii Stotskyi
2a04459bb2
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-31 09:40:51 +01:00
J. Ryan Stinnett
6367bf7c75
Merge pull request #931 from matrix-org/jryans/key-backup-base-x
...
Fix recovery key encoding for base-x 3.0.5
2019-05-30 18:29:17 +01:00
Travis Ralston
a0456dc430
Merge pull request #924 from jkasun/loglevel-extend
...
Extend loglevel logging for the whole project
2019-05-30 11:20:49 -06:00
Travis Ralston
52ec831b16
Merge pull request #930 from stalniy/fix/save-login-state
...
fix(login): saves access_token and user_id after login for all login types
2019-05-30 11:20:01 -06:00
J. Ryan Stinnett
8263062fab
Fix recovery key encoding for base-x 3.0.5
...
This fixes our recovery key encoding to work with base-x 3.0.5, which requires the
encoding input to be in a `Buffer`. (base-x is a dependency of bs58.)
Unfortunately, base-x hasn't marked this as breaking change through a major
version increment, so semantic versioning can't help us here to ensure we get
particular version.
I have verified that the change to `Buffer` works with both old and new base-x,
so we should be okay no matter what version is actually selected.
For extra fun, base-x 3.0.5 also uses newer JS features, which `uglify-js`
doesn't support. I have migrated to `terser` instead, which is what we're using
for Riot these days (via Webpack).
Fixes https://github.com/vector-im/riot-web/issues/9901
2019-05-30 15:42:39 +01:00
janith
9a2bf78a8e
logger.dir changed to a log
2019-05-30 12:58:32 +05:30
janith
cb16f7a60b
Minor Fixes
2019-05-30 09:35:37 +05:30
janith
ad84631ddb
Change logger import to ES6
2019-05-30 09:27:25 +05:30
Hubert Chathi
95131c7658
add test for syncing trust on another user
2019-05-29 17:01:25 -04:00
Hubert Chathi
936eef194a
minor fixes to tests
2019-05-29 17:01:13 -04:00
Hubert Chathi
941d871daf
fix check for empty cross-signing repsonse
2019-05-29 16:59:51 -04:00
Hubert Chathi
609ee663fa
use the right path for logger
2019-05-29 16:58:49 -04:00
RiotRobot
d78426d708
Merge branch 'master' into develop
2019-05-29 15:53:51 +01:00
RiotRobot
a9543df6db
v1.2.0
2019-05-29 15:52:20 +01:00
RiotRobot
aae388be93
Prepare changelog for v1.2.0
2019-05-29 15:52:19 +01:00
Hubert Chathi
53804cac5c
save cross-signing keys from sync and verify new keys for user
2019-05-28 22:28:54 -04:00
Sergii Stotskyi
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
Travis Ralston
b199f133b3
fixup readme
2019-05-27 10:41:04 -06:00
Travis Ralston
7d1b183a1b
Merge pull request #929 from spantaleev/fix-non-integer-media-sizes
...
Do not try to request thumbnails with non-integer sizes
2019-05-27 08:37:03 -06:00
Slavi Pantaleev
49d119e92e
Do not try to request thumbnails with non-integer sizes
...
Issue described in: https://github.com/vector-im/riot-web/issues/9690
matrix-react-sdk was patched separately, so that it won't call `mxcUrlToHttp()`
(and in turn `getHttpUriForMxc()`) with non-integer sizes.
This patch fixes the JS SDK as well, hoping to prevent the same issue
from happening on other clients (besides matrix-react-sdk / riot-web).
Signed-off-by: Slavi Pantaleev <slavi@devture.com >
2019-05-27 11:25:35 +03:00
Janith Kasun
feed1da570
Merge branch 'develop' into loglevel-extend
2019-05-24 18:00:40 +05:30
Hubert Chathi
193ad9e09d
use 3 keys for cross-signing
2019-05-23 18:18:21 -04:00
Travis Ralston
a3ad835d84
Merge pull request #928 from matrix-org/revert-927-travis/wk-discovery
...
Revert "Add a bunch of debugging to .well-known IS validation"
2019-05-23 14:47:48 -06:00
Travis Ralston
f8afee8ebd
Revert "Add a bunch of debugging to .well-known IS validation"
2019-05-23 14:47:38 -06:00
Travis Ralston
7e955fc312
Merge pull request #927 from matrix-org/travis/wk-discovery
...
Add a bunch of debugging to .well-known IS validation
2019-05-23 14:19:33 -06:00
Travis Ralston
eebf92366f
Add a bunch of debugging to .well-known IS validation
2019-05-23 14:00:17 -06:00
RiotRobot
3c23e166a7
Upgrade jsdoc
2019-05-23 16:30:30 +01:00
RiotRobot
26a8439ce4
Upgrade jsdoc
2019-05-23 16:28:26 +01:00
RiotRobot
2c2e8fa1ac
v1.2.0-rc.1
2019-05-23 16:11:35 +01:00
RiotRobot
ddc2fa74b9
Prepare changelog for v1.2.0-rc.1
2019-05-23 16:11:35 +01:00
David Baker
93d51b83c3
Merge pull request #926 from matrix-org/dbkr/uiauth_send_email
...
interactive-auth now handles requesting email tokens
2019-05-22 14:24:08 +01:00
David Baker
f83eae4a46
typing hard
2019-05-22 13:11:05 +01:00
David Baker
87c6d11fca
PR feedback
2019-05-22 13:09:24 +01:00
David Baker
e87ac86e48
interactive-auth now handles requesting email tokens
...
interactive-auth now has a callback to request the email token which
it will call at the appropriate time (now at the start of the
auth process if the chosen flow contain an email auth stage).
This does make this a breaking change, although not sure this is
used outside of Riot. We could make it backwards compatible by
having an option for the new behaviour. It may not be worthwhile
though.
https://github.com/vector-im/riot-web/issues/9586
2019-05-22 11:51:05 +01:00
Janith Kasun
de8063a43a
Merge branch 'develop' into loglevel-extend
2019-05-19 09:40:38 +05:30
jkasun
a73dabcb67
Console logging to loglevel
2019-05-19 09:29:40 +05:30
Bruno Windels
7782e81101
Merge pull request #923 from matrix-org/bwindels/caneditcheckfix
...
allow access to unreplaced message content
2019-05-17 12:32:45 +00:00
Bruno Windels
aa70687d9e
allow access to unreplaced message content
2019-05-17 13:25:21 +01:00
Bruno Windels
38d32de06b
Merge pull request #922 from matrix-org/bwindels/editedmarker
...
Add method to retrieve replacing event
2019-05-17 11:04:00 +00:00
Bruno Windels
7720c72b73
correct return type
2019-05-17 12:03:36 +01:00
Bruno Windels
ff9505073f
add method to retrieve replacing event
2019-05-17 11:56:28 +01:00
David Baker
21ee1c31a7
Merge pull request #921 from matrix-org/dbkr/really_log_useful_info_on_verify_failure
...
More logging when signature verification fails
2019-05-17 10:18:34 +01:00
David Baker
fd01ba1fcf
More logging when signature verification fails
...
Still no luck diagnosing https://github.com/vector-im/riot-web/issues/9357
so adding more logging.
2019-05-17 10:08:27 +01:00
Bruno Windels
fbf53524ed
Merge pull request #920 from matrix-org/bwindels/message-editing-local-echo
...
Local echo for m.replace relations
2019-05-16 15:22:12 +00:00
Bruno Windels
1f2a701ace
remove double newline
2019-05-16 16:14:53 +01:00
Bruno Windels
0b87a573b3
reduce indenting by returning early, also actually pass replacement!
...
also add comment
2019-05-16 16:14:19 +01:00
Bruno Windels
74438716af
PR feedback/cleanup
2019-05-16 15:54:15 +01:00
Bruno Windels
d10b348e74
clear event replacement on redaction
...
as redaction supersedes a replacement
2019-05-16 15:53:46 +01:00
Bruno Windels
68e9be47d9
check if an incoming event is the target of a Relations
2019-05-16 15:49:55 +01:00
Bruno Windels
bddd03c2fd
separate setTargetEvent method
...
call makeReplaced from addEvent instead so it's all done from Relations
2019-05-16 15:48:03 +01:00
Bruno Windels
e23ba50dd8
only call aggregation code for local echo for relations
2019-05-16 14:42:09 +01:00
Bruno Windels
261ab7ae68
don't block local echo for m.replace anymore!
2019-05-16 14:40:55 +01:00
Bruno Windels
21c8c76dc3
helper method to get sending status of event or replacement
2019-05-16 14:40:39 +01:00
Bruno Windels
266d0f9d05
remove flag for edits as it's not handled separately anymore
2019-05-16 14:40:17 +01:00
Bruno Windels
69d25c1498
emit from MatrixEvent.makeReplaced instead of Room
...
now that event can be replaced from Relations instead of Room
Also make `makeReplaced` non-destructive by not touching the original
event.content, so it can be undone by later calls.
2019-05-16 14:38:48 +01:00
Bruno Windels
3cd2b3925a
re-evaluate last replacement on redaction and local echo cancellation
2019-05-16 14:36:38 +01:00
Bruno Windels
33e9eb371e
use relation handling in timelineset for replacements
2019-05-16 14:35:50 +01:00
Bruno Windels
07572d1e8d
helper method to get last valid replacement
2019-05-16 14:34:08 +01:00
Bruno Windels
dde4f558f3
set targetEvent on Relations, once known
2019-05-16 14:33:24 +01:00
J. Ryan Stinnett
79d2574ea7
Merge pull request #919 from matrix-org/jryans/reactions-status-bar
...
Track relations as pending and remove when cancelled
2019-05-16 13:39:41 +01:00
J. Ryan Stinnett
51fb5c4a15
Update aggregation by sender on remove
...
This updates the aggregation by sender in the relations collection on removal.
It also changes this aggregation to use a Set, so consumers will need to update.
2019-05-16 12:40:19 +01:00
J. Ryan Stinnett
875c6b973b
Remove cancelled relations from the relations collection
...
This listens for event status changes on sending events in case they might be
cancelled and removes them from aggregation if so.
Part of https://github.com/vector-im/riot-web/issues/9731
2019-05-16 12:29:28 +01:00
J. Ryan Stinnett
21e1312dd7
Allow relations into the pending event list
...
Relations actually should go into the pending event list, just like messages.
This is the easiest way to keep them in a holding area in case of unverified
devices, etc.
We still want the relations to local echo immediately, so we directly trigger
the aggregation on the timeline sets.
2019-05-16 12:26:36 +01:00
J. Ryan Stinnett
a722ef3b03
Merge pull request #916 from matrix-org/jryans/stringify-events
...
Add stringify helper to summarise events when debugging
2019-05-16 09:44:39 +01:00
J. Ryan Stinnett
80ba5d29f2
Add stringify helper to summarise events when debugging
2019-05-16 09:31:19 +01:00
Bruno Windels
a35e6a0f54
Merge pull request #918 from matrix-org/bwindels/message-edit-editor3
...
Message editing: filter out replacements for senders that are not the original sender
2019-05-15 17:21:03 +00:00
J. Ryan Stinnett
bdc1958c08
Merge pull request #917 from matrix-org/jryans/encrypted-reactions
...
Wait until decrypt before aggregating
2019-05-15 17:26:07 +01:00
Bruno Windels
3f2bac71c6
filter out replacements for senders that are not the original sender
2019-05-15 15:52:37 +01:00
J. Ryan Stinnett
6b9a11b697
Wait until decrypt before aggregating
...
For encrypted annotations, we need to wait until the event has been decrypted
before adding it to the relations collection.
2019-05-15 15:48:33 +01:00
J. Ryan Stinnett
f17ecba519
Add getRelation helper
...
This adds a `getRelation` helper to ensure we always read relation info from the
wire content as required in E2E rooms.
2019-05-15 15:48:33 +01:00
Bruno Windels
ce0b014a5a
Merge pull request #914 from matrix-org/bwindels/message-edit-editor2
...
Message editing: mark original event as replaced instead of replacing the event object
2019-05-15 14:11:38 +00:00
Bruno Windels
ad48d2997e
prevent earlier replacements from messing things up
2019-05-15 14:54:52 +01:00
Bruno Windels
1c1781ce76
make replacements work in e2e rooms
2019-05-15 14:54:21 +01:00
Bruno Windels
5fd001354a
replace content when replacing instead of evaluating in getContent
2019-05-15 14:53:44 +01:00
Bruno Windels
a18bdad44f
dont replace a redacted event
2019-05-15 13:56:13 +01:00
Bruno Windels
600dff62e8
detect relations on encrypted events properly
2019-05-15 13:56:00 +01:00
Bruno Windels
db7a402e9b
mark original event as replaced instead of replacing the event object
...
this is more in line with what happens on the server-side,
and also doesn't break existing reply relations.
2019-05-15 12:05:39 +01:00
Bruno Windels
0e53f9052f
Merge pull request #913 from matrix-org/bwindels/message-edit-editor
...
Support for replacing message through m.replace relationship.
2019-05-15 09:22:34 +00:00
Bruno Windels
62e69cacb7
remove leftover code, fix lint
2019-05-14 15:52:02 +01:00
Bruno Windels
852c88c341
add unstableClientRelationReplacements in js-sdk
2019-05-14 15:33:49 +01:00
Bruno Windels
455f52f1f5
remove logging
2019-05-14 15:25:47 +01:00
Bruno Windels
df6012c58d
completely avoid local echo for edits for now
2019-05-14 15:25:07 +01:00
Bruno Windels
f68a3dde46
cleanup
2019-05-14 15:24:57 +01:00
Bruno Windels
25e6b1cac8
handle m.replace relations in room, emit Room.replaceEvent
2019-05-14 15:24:36 +01:00
Travis Ralston
4ad20526db
Merge pull request #912 from matrix-org/travis/wk/timeouts
...
Use a short timeout for .well-known requests
2019-05-14 08:24:09 -06:00
Bruno Windels
18cd017f58
support marking an as replacing another
...
and take if the timestamp of the original event if so
also helper methods
2019-05-14 15:23:22 +01:00
Bruno Windels
0161664b6c
add support for replacing an existing event in a timeline(set)
2019-05-14 15:22:46 +01:00
Travis Ralston
25df31bf96
Use a short timeout for .well-known requests
...
Applies to verification of the homeserver, identity server, and fetching of the .well-known objects. Does not affect other HTTP requests.
See https://github.com/vector-im/riot-web/issues/9290
2019-05-13 18:39:59 -06:00
Travis Ralston
09438b440e
Fix spelling error in txnId for redactions
...
Fixes https://github.com/vector-im/riot-web/issues/9700
2019-05-13 13:43:44 -06:00
J. Ryan Stinnett
6a5f5b249e
Merge pull request #911 from matrix-org/jryans/aggregations
...
Redaction and change events for relations
2019-05-13 15:20:15 +01:00
J. Ryan Stinnett
3a20114c39
Change to event-level beforeRedaction event for efficiency
...
To avoid an O(n^2) situation with every relations container trying to process
every redaction that may occur in a room, this switches to an event-level
notification, so that the specific relations container who cares can listen to
just the events it wants to know about.
2019-05-13 14:35:39 +01:00
J. Ryan Stinnett
f411d50253
Clarify before redaction event timing
2019-05-13 14:17:23 +01:00
J. Ryan Stinnett
00851df25c
Always add pending relation events to the timeline sets directly
...
This special cases pending relation events to go directly to the timeline sets
and ignores the `pendingEventOrdering` option. This feels a bit strange in the
code, so we should revisit this choice when we stabilized relation support.
2019-05-13 13:52:37 +01:00
J. Ryan Stinnett
8822d255b3
Fix indentation in src/models/event.js
2019-05-13 13:52:37 +01:00
J. Ryan Stinnett
4b4ba86167
Add Relations.add event for additional relations in collection
...
This adds a `Relations.add` event that consumers can listen for to be notified
each time an additional relation event is added to a relations collection.
Part of https://github.com/vector-im/riot-web/issues/9485
Part of https://github.com/vector-im/riot-web/issues/9572
2019-05-13 13:52:37 +01:00
J. Ryan Stinnett
7ea820f6e1
Add Event.relationsCreated event to listen for future relations collections
...
If you ask for relations but none currently exist, we return `null` to avoid the
overhead of many empty relations objects in memory. However, we still want some
way to alert consumers when one _is_ later made, so this event level event
provides that.
Part of https://github.com/vector-im/riot-web/issues/9572
Part of https://github.com/vector-im/riot-web/issues/9485
2019-05-13 13:52:37 +01:00
J. Ryan Stinnett
53d8cf0852
Update relation collections after redaction
...
This watches for redactions of relations and updates the relations collection
to match, including various aggregations. In addition, a redaction event is
emitted on the redaction collection to notify consumers of the change.
Part of https://github.com/vector-im/riot-web/issues/9574
Part of https://github.com/vector-im/riot-web/issues/9485
2019-05-13 13:52:37 +01:00
J. Ryan Stinnett
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
J. Ryan Stinnett
d6abd639f3
Merge pull request #910 from matrix-org/jryans/aggregations
...
Add basic read path for relations
2019-05-09 12:01:57 +01:00
J. Ryan Stinnett
6078bbbe24
Add basic read path for relations
...
This adds a read path for relations (gated behind an unstable option). A few
basic client-side grouping and sorting operations are supported. Consumers are
expected to ask the `EventTimelineSet` for a relation container when desired.
2019-05-08 18:05:52 +01:00
J. Ryan Stinnett
c1c81df4de
Intern rel_type for relations
...
In anticipation of relations being quite frequently used, we should intern
strings of common fields, such as `rel_type`.
2019-05-08 17:41:06 +01:00
David Baker
ee8a4698a9
Merge branch 'master' into develop
2019-05-07 15:25:23 +01:00
David Baker
c1956d3f05
v1.1.0
2019-05-07 15:23:32 +01:00
David Baker
56316dc5d9
Prepare changelog for v1.1.0
2019-05-07 15:23:32 +01:00
Hubert Chathi
405451d783
complete some more unit tests
2019-05-03 23:23:08 -04:00
Hubert Chathi
b0275afac2
remove some debugging lines
2019-05-03 23:22:51 -04:00
Hubert Chathi
ae71f41138
add missing files
2019-05-03 18:12:17 -04:00
Hubert Chathi
ec2f07e1aa
add methods for signing and checking users and devices with cross-signing
2019-05-03 18:05:36 -04:00
Travis Ralston
b5c74b5666
Merge pull request #860 from matrix-org/travis/tombstone-notif
...
Add a concept of default push rules, using it for tombstone notifications
2019-05-03 11:21:37 -06:00
Travis Ralston
dc946dffbc
Add some words to explain why we do things the way we do
2019-05-03 11:19:46 -06:00
David Baker
937baadb9b
Merge pull request #907 from matrix-org/dbkr/yarn_upgrade_may19
...
yarn upgrade
2019-05-03 12:00:03 +01:00
David Baker
8d0c03b4f0
Add customer resolution for base-x
...
to fix dependency version to 3.0.4 (ie. the version that exports
ES5 rather than ES6)
2019-05-03 11:46:11 +01:00
David Baker
a3fba73044
Set base-x back to 3.0.4
...
3.0.5 exports ES6 which breaks the build.
Also specifically depending on version 3.0.4 in the package.json
doesn't look like it has the desired effect now (yarn just installs
two separate versions) so remove that.
2019-05-03 11:03:29 +01:00
David Baker
116cf31199
yarn upgrade
2019-05-03 10:50:23 +01:00
J. Ryan Stinnett
cdb78e4c75
Remove noisy debug logs
...
The debug logs in the sync loop haven't been helpful so far, and they are quite
noisy pushing other logs out of the way, so this change removes them.
2019-04-30 15:43:54 +01:00
David Baker
0bb9c56e94
Merge branch 'develop' into release-v1.1.0
2019-04-30 11:50:24 +01:00
David Baker
821f1c876b
Undo unintentional commenting
2019-04-30 11:48:38 +01:00
David Baker
e9b95f8567
v1.1.0-rc.1
2019-04-30 11:43:35 +01:00
David Baker
103d811441
Prepare changelog for v1.1.0-rc.1
2019-04-30 11:43:34 +01:00
David Baker
bb4f5a3fa1
Get the name of the pipeline right
2019-04-26 18:07:04 +01:00
David Baker
f5cbdeac8f
Trigger react-sdk build in buildkite pipeline
2019-04-26 18:06:04 +01:00
Hubert Chathi
56062e8e4e
Merge pull request #903 from uhoreg/olm-3.1.0
...
use the release version of olm 3.1.0
2019-04-24 18:19:15 -04:00
Hubert Chathi
03c85d48e5
update the yarn.lock with the olm release
2019-04-24 12:07:10 -04:00
Hubert Chathi
dd8f0fbdcb
use the release version of olm 3.1.0
2019-04-23 18:06:09 -04:00
Travis Ralston
fac61a76e9
Merge pull request #901 from matrix-org/travis/olm2
...
Use new Olm repo link in README
2019-04-18 08:26:12 -06:00
Travis Ralston
3b09ab3ca1
Use new Olm repo link in README
2019-04-17 23:50:51 -06:00
Travis Ralston
16bfe79305
Merge pull request #897 from matrix-org/travis/wk-custom
...
Support being fed a .well-known config object for validation
2019-04-17 09:58:22 -06:00
J. Ryan Stinnett
d668f97c98
Clarify comment
...
Co-Authored-By: turt2live <travpc@gmail.com >
2019-04-17 09:44:52 -06:00
Bruno Windels
18bd10b03d
Merge pull request #900 from matrix-org/bwindels/stylepreviewbar
...
emit self-membership event at end of handling sync update
2019-04-17 12:31:16 +00:00
Bruno Windels
6b1d089caf
Merge branch 'develop' into bwindels/stylepreviewbar
2019-04-17 14:24:25 +02:00
Travis Ralston
af93401385
Use more appropriate errors for some situations
2019-04-16 11:13:36 -06:00
Travis Ralston
fa5add3d99
Use the right error codes
2019-04-16 11:03:58 -06:00
Travis Ralston
fb971580e0
Merge branch 'develop' into travis/wk-custom
2019-04-16 11:01:49 -06:00
Bruno Windels
dcaea98e33
emit self-membership event at end of handling sync update
...
otherwise the room state isn't updated yet (and we can't for
example distinguish a leave from a kick)
this is only used for updating the UI,
seems safe to emit this event at a later point
2019-04-16 17:16:24 +02:00
Travis Ralston
b95079d1c5
Merge pull request #898 from matrix-org/travis/packages.matrix.org
...
Use packages.matrix.org for Olm
2019-04-16 09:14:21 -06:00
J. Ryan Stinnett
e59f36cdc0
Merge pull request #899 from matrix-org/travis/fix-tests
...
Fix tests on develop
2019-04-16 09:36:56 +01:00
Travis Ralston
0f2f041d8b
Use constants for autodiscovery errors
...
To ease usage
2019-04-15 22:04:24 -06:00
Travis Ralston
33d2837ec3
Use packages.matrix.org for Olm
...
See https://github.com/vector-im/riot-web/issues/9497
2019-04-15 21:23:18 -06:00
Travis Ralston
7cede221de
Support being fed a .well-known config object for validation
...
Used by Riot to consume the user's provided config. This also includes a change to carry over custom keys on m.homeserver and m.identity_server which aren't intentionally controlled.
2019-04-15 21:22:49 -06:00
Travis Ralston
fe47435fc7
Fix tests for autodiscovery
2019-04-15 21:12:17 -06:00
Travis Ralston
491226a916
Use the right this in _shouldAbortSync
2019-04-15 21:04:29 -06:00
Travis Ralston
deb7433453
Use toMatch for presence events
...
We don't pass the reference through, so the test fails with toEqual
2019-04-15 20:17:42 -06:00
Travis Ralston
14973a35c2
Use the right error object
2019-04-15 19:46:30 -06:00
Travis Ralston
b5779f8654
Merge pull request #895 from matrix-org/travis/stop-client-on-logout
...
Stop syncing when the token is invalid
2019-04-15 11:30:24 -06:00
Travis Ralston
f7d1984257
De-duplicate usage of shouldAbortSync
2019-04-15 11:29:55 -06:00
Bruno Windels
3fba683090
Merge pull request #887 from jkasun/fix_redact_put
...
change event redact, POST request to PUT request
2019-04-15 15:13:59 +00:00
jkasun
430da8ac09
JS Doc Fix
2019-04-15 20:34:39 +05:30
Travis Ralston
dcd9b5c382
Stop syncing when the token is invalid
...
Fixes https://github.com/vector-im/riot-web/issues/9451
2019-04-14 21:38:51 -06:00
jkasun
348c293962
Argument Length Check, Duplicate Fix for Redact Funcation
2019-04-13 22:23:57 +05:30
Travis Ralston
34309da10c
Merge pull request #894 from matrix-org/travis/guests/better-errors
...
Expose better autodiscovery error messages
2019-04-12 10:21:05 -06:00
Travis Ralston
6db973f430
Expose better autodiscovery error messages
...
Fixes https://github.com/vector-im/riot-web/issues/7925
2019-04-11 15:50:43 -06:00
J. Ryan Stinnett
9f27bafa62
Merge pull request #892 from jryans/degraded-storage
...
Explicitly guard store usage during sync startup
2019-04-09 17:12:07 +01:00
Travis Ralston
b05136146a
Merge pull request #893 from matrix-org/travis/v3-safe
...
Flag v3 rooms as safe
2019-04-09 10:00:56 -06:00
Travis Ralston
13d3be637b
Copyright 2019 NV
2019-04-09 09:58:33 -06:00
J. Ryan Stinnett
44de7fad6f
Preserve previous error flow
2019-04-09 16:44:36 +01:00
J. Ryan Stinnett
b99243406b
Move logs inside try block
2019-04-09 16:40:13 +01:00
Travis Ralston
0e9ec811b0
Merge pull request #890 from matrix-org/travis/cached-capabilities
...
Cache failed capabilities lookups for shorter amounts of time
2019-04-09 09:29:42 -06:00
Travis Ralston
6979177fb2
Log errors for capabilities requests
2019-04-09 09:27:38 -06:00
Travis Ralston
3aa8bfa6ca
Flag v3 rooms as safe
...
The spec says they are, so we might as well too.
2019-04-09 09:25:07 -06:00
Travis Ralston
17b356b08e
Merge pull request #891 from matrix-org/travis/fix-notifs
...
Fix highlight notifications for unencrypted rooms
2019-04-09 09:19:58 -06:00
Travis Ralston
f72ae490a8
Appease the linter
2019-04-09 09:05:20 -06:00
J. Ryan Stinnett
b0c3d0d2e3
Explicitly guard store usage during sync startup
...
This adds explicit `try` blocks in the spots where we interact with the store
during sync startup. This shouldn't be necessary as the store should already be
catching this and degrading as of
https://github.com/matrix-org/matrix-js-sdk/pull/884 , but that doesn't seem to
have been enough for the affected user in
https://github.com/vector-im/riot-web/issues/7769 , as they are seeing sync just
stop when storing without any further detail.
2019-04-09 15:06:54 +01:00
Travis Ralston
9dc344999e
Fix highlight notifications for unencrypted rooms
...
A logic error introduced by https://github.com/matrix-org/matrix-js-sdk/pull/886 meant that all unencrypted rooms were not getting highlight notifications.
2019-04-08 15:57:44 -06:00
Travis Ralston
663c096400
Cache failed capabilities lookups for shorter amounts of time
...
This should fix https://github.com/vector-im/riot-web/issues/9225 for showing up too often/too long.
2019-04-08 12:24:00 -06:00
J. Ryan Stinnett
420b4d119d
Merge pull request #889 from jryans/guard-missing-crypto
...
Document checking crypto state before using `hasUnverifiedDevices`
2019-04-08 16:56:13 +01:00
J. Ryan Stinnett
58b752c63b
Document checking crypto state before using hasUnverifiedDevices
...
It's unclear what `hasUnverifiedDevices` should do when crypto is disabled on
the current device. Let's at least document that callers should first check
crypto status.
2019-04-08 16:24:25 +01:00
J. Ryan Stinnett
4740232fa4
Merge pull request #888 from jryans/degraded-storage
...
Add logging to sync startup path
2019-04-08 16:20:29 +01:00
J. Ryan Stinnett
0cc9994b8b
Add logging to sync startup path
...
In https://github.com/vector-im/riot-web/issues/7769 , we're seeing sync startup
fail to complete, but the actual error isn't being logged. Hopefully these extra
debug logs will provide more insight into the failing step.
2019-04-08 15:55:52 +01:00
Bruno Windels
1e78628b23
Merge branch 'master' into develop
2019-04-08 16:04:45 +02:00
Bruno Windels
00f5ddc93c
v1.0.4
2019-04-08 16:03:26 +02:00
Bruno Windels
f79f2105fd
Prepare changelog for v1.0.4
2019-04-08 16:03:25 +02:00
Travis Ralston
828c51467f
Refuse to set forwards pagination token on live timeline
...
Should fix the error seen in https://github.com/matrix-org/riot-web-rageshakes/issues/1389 (https://github.com/vector-im/riot-web/issues/8593 )
2019-04-08 15:48:03 +02:00
Travis Ralston
963e271bce
Refuse to link live timelines into the forwards/backwards position
...
See https://github.com/vector-im/riot-web/issues/8593#issuecomment-478681816
Previously (https://github.com/matrix-org/matrix-js-sdk/pull/873 ) we allowed half-linking timelines to each other if they satisfy the conditions, however this appears to not be helping. Instead, it seems like the timelines are getting stuck in a position where one direction is spliced but the other is broken. To avoid this case, we'll just avoid splicing in both directions when one of the directions is invalid.
2019-04-08 15:47:40 +02:00
Travis Ralston
0ab41215f0
Add a tiny bit of logging to work out what timelines are doing
...
See https://github.com/vector-im/riot-web/issues/8593
2019-04-08 15:47:21 +02:00
Travis Ralston
d153c4da07
log the timeline that broke
2019-04-08 15:47:03 +02:00
Travis Ralston
91aa783c3d
Use better words for warnings
2019-04-08 15:46:56 +02:00
Travis Ralston
a54845bf76
Appease the linter
2019-04-08 15:46:48 +02:00
Travis Ralston
8a56a5f1ed
Refuse splicing the live timeline into a broken position
...
Credit to Matthew for basically solving this.
Theoretically fixes spontaneous timeline corruption: https://github.com/vector-im/riot-web/issues/8593
When the live timeline ends up in a position where it can no longer be live (such as becoming the second timeline in the set, rather than the first) we end up getting neighbouring timeline errors. By refusing to splice the live timeline into such a position, we hopefully keep the live timeline in a position of still being live for when it is next used.
The running theory that leads to this fix is multiple limited syncs coming in, causing holes in the timeline. When trying to patch up the holes, the timeline set would end up splicing all over the place, leading to potentially splicing the live timeline into a broken position.
2019-04-08 15:46:41 +02:00
Travis Ralston
f585c80491
Merge pull request #886 from matrix-org/travis/e2e-notifs-2
...
Track e2e highlights better, particularly in 'Mentions Only' rooms
2019-04-08 07:40:31 -06:00
jkasun
c495b12cef
change event redact, POST request to PUT request
2019-04-07 00:19:02 +05:30
Travis Ralston
1d6f7f862f
Track e2e highlights better, particularly in 'Mentions Only' rooms
...
Fixes https://github.com/vector-im/riot-web/issues/9280
The server is unable to calculate encrypted highlights for us, so we calculate them. This also means the server always sends a zero for highlight_count, and therefore in sync.js we now trust our judgement over the server's. In future, this check will need to be altered to support server-side encrypted notifications if that happens. This fixes the part of 9280 where the badge count ends up disappearing unless the message received also happens to be a mention.
The changes in client.js are more to support rooms which are mentions only. Because the server doesn't send an unread_count for these rooms, the total notifications will always be zero. Therefore, we try and calculate that. In order to do that, we need to assume that our highlight count is also wrong and calculate it appropriately.
2019-04-05 14:49:38 -06:00
Hubert Chathi
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
Travis Ralston
a614a02b90
Merge pull request #885 from matrix-org/travis/refuse-forwards-token
...
Refuse to set forwards pagination token on live timeline
2019-04-05 11:54:33 -06:00
Travis Ralston
0945e2c5c6
Refuse to set forwards pagination token on live timeline
...
Should fix the error seen in https://github.com/matrix-org/riot-web-rageshakes/issues/1389 (https://github.com/vector-im/riot-web/issues/8593 )
2019-04-05 11:36:01 -06:00
J. Ryan Stinnett
b1b49413d0
Merge pull request #884 from jryans/degraded-storage
...
Degrade `IndexedDBStore` back to memory only on failure
2019-04-05 11:32:42 +01:00
Hubert Chathi
01af303d63
fix the selection of the verification methods, and test more things
2019-04-04 14:08:30 -04:00
Hubert Chathi
751060305c
update the name of the MAC method
2019-04-04 14:07:16 -04:00
J. Ryan Stinnett
389fcfaf3d
Ensure IDB store maintains all memory state
...
A few of the IDB store methods weren't updating memory store state, so let's
improve those so we can reliably fall back to it from IDB at any time.
2019-04-04 17:39:50 +01:00
J. Ryan Stinnett
3eb0c534a5
Clarify why it's safe to change store types on demand
2019-04-04 15:54:26 +01:00
J. Ryan Stinnett
8a2f84b678
Emit event when IndexedDBStore degrades
...
This allows for optional tracking of when the store degrades to see how often it
happens in the field.
2019-04-04 12:06:41 +01:00
J. Ryan Stinnett
dd00735409
Degrade IndexedDBStore back to memory only on failure
...
IndexedDB may fail at any moment with `QuoteExceededError` when space is low or
other random issues we can't control. Since `IndexedDBStore` is just a cache for
improving performance, we can give up on it if it fails.
This causes `IndexedDBStore` to degrade in place back to using memory only. This
allow (for example) login to complete even if IndexedDB is exploding.
Hopefully improves https://github.com/vector-im/riot-web/issues/7769
2019-04-04 12:06:41 +01:00
J. Ryan Stinnett
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
Hubert Chathi
32814d1833
Merge branch 'develop' into dbkr/cross_signing
2019-04-03 19:28:51 -04:00
Travis Ralston
941d93c2f4
Merge pull request #877 from matrix-org/travis/tlexpl-full-abort
...
Refuse to link live timelines into the forwards/backwards position when either is invalid
2019-04-03 09:59:09 -06:00
David Baker
c73e9cbc7c
Merge pull request #883 from matrix-org/dbkr/logging_for_9357
...
Key backup logging improvements
2019-04-03 11:45:10 +01:00
David Baker
ae89e4bf21
Key backup logging improvements
...
To try & diagnose https://github.com/vector-im/riot-web/issues/9357
2019-04-03 11:00:31 +01:00
Hubert Chathi
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
David Baker
8f9f9590d9
Merge pull request #880 from matrix-org/dbkr/more_logging_for_7769
...
Don't assume aborts are always from txn.abort()
2019-04-02 18:33:32 +01:00
David Baker
ed68093310
lint
2019-04-02 18:30:49 +01:00
David Baker
23655e748d
Don't assume aborts are always from txn.abort()
...
According to https://developer.mozilla.org/en-US/docs/Web/API/IDBTransaction/abort_event
a txn can abort for any number of reasons, not just because of an
abort call, so we can't assume our abort error is set.
This should give us more info on https://github.com/vector-im/riot-web/issues/7769
2019-04-02 18:25:23 +01:00
David Baker
98624871bd
Merge pull request #878 from matrix-org/dbkr/logging_for_7769
...
Add a bunch of logging
2019-04-02 13:34:26 +01:00
Will Hunt
7b154c0834
Revert "Remove "Event sent to" line from client.js"
...
This reverts commit d9f056242f .
2019-04-02 13:24:58 +01:00
Will Hunt
d9f056242f
Remove "Event sent to" line from client.js
...
Emitting a log line here means that bridges emit this for each event sent in stdout, which bloats forever.log
2019-04-02 13:22:27 +01:00
David Baker
a4268d288e
Add a bunch of logging
...
to try & diagnose https://github.com/vector-im/riot-web/issues/7769
2019-04-02 12:30:24 +01:00
Travis Ralston
f90c91dded
Refuse to link live timelines into the forwards/backwards position
...
See https://github.com/vector-im/riot-web/issues/8593#issuecomment-478681816
Previously (https://github.com/matrix-org/matrix-js-sdk/pull/873 ) we allowed half-linking timelines to each other if they satisfy the conditions, however this appears to not be helping. Instead, it seems like the timelines are getting stuck in a position where one direction is spliced but the other is broken. To avoid this case, we'll just avoid splicing in both directions when one of the directions is invalid.
2019-04-01 18:43:48 -06:00
Travis Ralston
5c8890c3c1
Add a tiny bit of logging to work out what timelines are doing
...
See https://github.com/vector-im/riot-web/issues/8593
2019-04-01 11:11:35 -06:00
David Baker
cd3c6809a9
Merge branch 'master' into develop
2019-04-01 13:33:51 +01:00
David Baker
e2c17528c2
v1.0.3
2019-04-01 13:31:45 +01:00
David Baker
e00f565f37
Prepare changelog for v1.0.3
2019-04-01 13:31:44 +01:00
J. Ryan Stinnett
085e797c30
Merge pull request #874 from matrix-org/travis/1.0.6-fire/872
...
Add existence check to local storage based crypto store
2019-04-01 09:26:39 +01:00
J. Ryan Stinnett
d753db590b
Add existence check to local storage based crypto store
...
This supports additional diagnostics of stores in
https://github.com/vector-im/riot-web/issues/9309 .
2019-03-29 16:19:54 -06:00
Travis Ralston
eab074a27b
Merge pull request #873 from matrix-org/travis/refuse-splicing
...
Refuse splicing the live timeline into a broken position
2019-03-28 19:20:58 -06:00
Travis Ralston
e2a3e3816f
log the timeline that broke
2019-03-28 19:14:17 -06:00
Travis Ralston
01dd57adab
Use better words for warnings
2019-03-28 18:59:40 -06:00
Travis Ralston
08e674b695
Appease the linter
2019-03-28 18:34:57 -06:00
Travis Ralston
9f70970e61
Refuse splicing the live timeline into a broken position
...
Credit to Matthew for basically solving this.
Theoretically fixes spontaneous timeline corruption: https://github.com/vector-im/riot-web/issues/8593
When the live timeline ends up in a position where it can no longer be live (such as becoming the second timeline in the set, rather than the first) we end up getting neighbouring timeline errors. By refusing to splice the live timeline into such a position, we hopefully keep the live timeline in a position of still being live for when it is next used.
The running theory that leads to this fix is multiple limited syncs coming in, causing holes in the timeline. When trying to patch up the holes, the timeline set would end up splicing all over the place, leading to potentially splicing the live timeline into a broken position.
2019-03-28 18:30:41 -06:00
J. Ryan Stinnett
e9ffd5a125
Merge pull request #872 from jryans/storage-existence-check-ls-crypto
...
Add existence check to local storage based crypto store
2019-03-28 17:49:08 +00:00
J. Ryan Stinnett
20f4469361
Add existence check to local storage based crypto store
...
This supports additional diagnostics of stores in
https://github.com/vector-im/riot-web/issues/9309 .
2019-03-28 12:20:51 +00:00
David Baker
feac096dc2
v1.0.3-rc.1
2019-03-27 17:29:28 +00:00
David Baker
67985d449a
Prepare changelog for v1.0.3-rc.1
2019-03-27 17:29:27 +00:00
J. Ryan Stinnett
a6de59c198
Update matrix-mock-request
2019-03-27 15:02:48 +00:00
J. Ryan Stinnett
01eeb98e35
Merge pull request #871 from jryans/storage-edge-cases
...
Add IndexedDB existence checks
2019-03-26 15:32:23 +00:00
J. Ryan Stinnett
49a7defbf0
Close the DB right away
...
This seems to be needed in Chrome to avoid blocking future opens.
2019-03-26 14:58:45 +00:00
J. Ryan Stinnett
c1ba5de686
Add missing word
2019-03-26 11:25:59 +00:00
J. Ryan Stinnett
81428f23d1
Tweak code style
2019-03-26 11:21:22 +00:00
Travis Ralston
8af86bb746
Merge pull request #869 from matrix-org/travis/timeline-explosion-workaround
...
Emit sync errors for capturing by clients
2019-03-25 11:33:01 -06:00
J. Ryan Stinnett
8513f5c413
Add an IndexedDB existence check to the crypto store
...
This will be useful for future storage diagnostics as part of
https://github.com/vector-im/riot-web/issues/9271 .
2019-03-25 16:11:59 +00:00
J. Ryan Stinnett
eadec35093
Add an IndexedDB existence check to the main store
...
This will be useful for future storage diagnostics as part of
https://github.com/vector-im/riot-web/issues/9271 .
2019-03-25 16:11:51 +00:00
Travis Ralston
d6dbd621b8
Merge pull request #868 from matrix-org/travis/leave-room-chain
...
Add functions for getting room upgrade history and leaving those rooms
2019-03-25 09:57:10 -06:00
Travis Ralston
7168f76614
Emit sync errors for capturing by clients
...
For https://github.com/vector-im/riot-web/issues/9260
2019-03-22 20:19:38 -06:00
Travis Ralston
1cda95f23c
Add functions for getting room upgrade history and leaving those rooms
...
Required for https://github.com/vector-im/riot-web/issues/8539
2019-03-22 17:34:05 -06:00
J. Ryan Stinnett
bb1cd2bbce
Merge pull request #867 from jryans/real-name
...
Clarify the meaning of 'real name' for contribution
2019-03-22 17:26:21 +00:00
J. Ryan Stinnett
3f90ac5712
Merge pull request #865 from jryans/storage-edge-cases
...
Remove `sessionStore` to `cryptoStore` migration path
2019-03-22 17:25:51 +00:00
J. Ryan Stinnett
8d249a843c
Reformat contribution doc to 80 chars
2019-03-22 11:53:43 +00:00
J. Ryan Stinnett
858b41d835
Clarify the meaning of 'real name' for contribution
...
This applies the clarification already adopted by Synapse:
https://github.com/matrix-org/synapse/commit/ec766b25303b420850e6d2875f156f23109acf6a
2019-03-22 11:51:07 +00:00
Travis Ralston
61aea05af0
Merge pull request #866 from matrix-org/travis/verbose-capabilities
...
Add debugging for spurious room version warnings
2019-03-20 17:10:23 -06:00
Travis Ralston
e7c764d5f5
Add debugging for spurious room version warnings
...
See https://github.com/vector-im/riot-web/issues/9225
2019-03-20 17:05:09 -06:00
J. Ryan Stinnett
09a9afe4e7
Clarify the current state of each store
...
This moves docs about the 3 stores used next to each other and clarifies their
purpose for future readers.
2019-03-20 16:56:47 +00:00
J. Ryan Stinnett
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
J. Ryan Stinnett
5faf5ea1f8
Merge pull request #864 from jryans/storage-notes
...
Add investigation notes for browser storage
2019-03-20 16:35:13 +00:00
J. Ryan Stinnett
0754c29c22
Add investigation notes for browser storage
...
This collects my notes from investigating the state of browser storage as part
of https://github.com/vector-im/riot-web/issues/9109 .
2019-03-20 16:33:47 +00:00
Hubert Chathi
d5c6dcf111
Merge pull request #862 from uhoreg/check_resolver
...
make sure resolve object is defined before calling it
2019-03-20 10:32:10 -04:00
J. Ryan Stinnett
6a57ddd33c
Merge pull request #861 from matrix-org/jryans/storage-edge-cases
...
Rename `MatrixInMemoryStore` to `MemoryStore`
2019-03-20 11:05:55 +00:00
Hubert Chathi
bd711cdc1f
make sure resolve object is defined before calling it
2019-03-19 23:21:49 -04:00
J. Ryan Stinnett
e669e493c9
Add deprecation notice to MatrixInMemoryStore
2019-03-19 15:04:05 +00:00
J. Ryan Stinnett
48f290196c
Rename MatrixInMemoryStore to MemoryStore
...
None of the other store classes use the `Matrix` prefix, and I find the mismatch
confusing (it leads me to think it might have a different purpose than the
others).
This change removes the prefix from the store for consistency. The old name is
left as an export for existing SDK consumers.
2019-03-19 14:24:47 +00:00
David Baker
f8985dbb39
Merge branch 'master' into develop
2019-03-18 13:50:07 +00:00
David Baker
ef594d52e4
v1.0.2
2019-03-18 13:47:54 +00:00
David Baker
23bbb2f8c6
Prepare changelog for v1.0.2
2019-03-18 13:47:53 +00:00
Travis Ralston
42f181cc7b
Appease the linter
2019-03-15 14:11:29 -06:00
Travis Ralston
b3d2d39b60
Add tombstone rule as a default rule in support of MSC1930
...
Part of https://github.com/vector-im/riot-web/issues/8447
See also https://github.com/matrix-org/matrix-doc/pull/1930
2019-03-15 14:07:15 -06:00
Travis Ralston
e323d917a4
Support default push rules for when servers are outdated
2019-03-15 14:06:28 -06:00
Travis Ralston
73c7733ebc
Merge pull request #859 from matrix-org/travis/buildkite
...
Use Buildkite for CI
2019-03-15 11:43:50 -06:00
Travis Ralston
87f7f9443e
Delete Travis (CI)
...
We now use BuildKite
2019-03-13 17:27:17 -06:00
Travis Ralston
af6bbbc59b
Add a basic BuildKite :pipeline:
2019-03-13 17:23:30 -06:00
J. Ryan Stinnett
5b35a364a9
Ignore package-lock.json in case of confused npm users
2019-03-13 15:49:18 +00:00
Hubert Chathi
d56ebadbc4
Merge pull request #857 from uhoreg/fix_ensureolm_race
...
only create one session at a time per device
2019-03-13 11:21:35 -04:00
J. Ryan Stinnett
04accdeddc
Ignore *.log files, such as from npm or Yarn
2019-03-13 14:40:42 +00:00
David Baker
70575f9e33
v1.0.2-rc.1
2019-03-13 14:24:57 +00:00
David Baker
8e16586d84
Merge branch 'develop' into release-v1.0.2
2019-03-13 14:24:26 +00:00
David Baker
6920dfb800
Yarn needs --new-version to create a new version
2019-03-13 14:23:51 +00:00
David Baker
02d93770aa
Prepare changelog for v1.0.2-rc.1
2019-03-13 14:20:18 +00:00
David Baker
cd124231c5
Merge pull request #858 from jryans/yarn-ci
...
Use modern Yarn version on Travis CI
2019-03-13 13:22:39 +00:00
J. Ryan Stinnett
cd75848882
Use modern Yarn version on Travis CI
...
Travis CI uses a quite old version of Yarn by default. This adds Yarn's
recommended incantation for using the latest stable version.
2019-03-13 12:28:07 +00:00
J. Ryan Stinnett
1bae15ede9
Recommend using the latest Node LTS version
2019-03-13 10:50:58 +00:00
Hubert Chathi
8c2001adbf
don't reject on error
...
because we ignore it anyways, and it makes an unrelated unit test fail
2019-03-12 17:24:34 -04:00
Hubert Chathi
79ca235e7c
only create one session at a time per device
2019-03-12 16:04:26 -04:00
J. Ryan Stinnett
4570fcaa8a
Ignore .npmrc
2019-03-12 12:02:04 +00:00
J. Ryan Stinnett
90670cf1be
Merge pull request #856 from jryans/yarn
...
Switch to `yarn` for dependency management
2019-03-11 13:27:04 +00:00
J. Ryan Stinnett
cc86f427d2
Convert Olm to a dev dependency
...
This gives more natural behavior of downloading Olm by default when working on
this module, so that all tests including crypto are run.
2019-03-08 15:58:08 +00:00
J. Ryan Stinnett
2144791d52
Update scripts and docs to use yarn where appropriate
...
Most `npm` operations are replaced with `yarn`, which generally has better
behavior. However, steps like publish that write to the NPM registry are left to
`npm`, which currently handles these tasks best.
2019-03-08 15:45:57 +00:00
J. Ryan Stinnett
33aabf44e7
Convert from npm to yarn lock file
...
The npm lock file was imported into yarn. A yarn install pass was then run to
double-check the lock file for sanity.
2019-03-08 10:47:58 +00:00
Hubert Chathi
fc1ea27380
Merge pull request #855 from uhoreg/fix_key_requests
...
More key request fixes
2019-03-06 14:46:43 -05:00
Hubert Chathi
81946294d8
use lolex to fake the timer
2019-03-06 14:42:52 -05:00
Matthew Hodgson
77270fa78c
Merge pull request #851 from matrix-org/travis/e2e-notifs
...
Calculate encrypted notification counts
2019-03-06 17:11:22 +00:00
Hubert Chathi
9e29289dcc
use a different transaction ID when re-sending a key request
2019-03-06 12:02:48 -05:00
Travis Ralston
6198943976
Add a mention that we should be handling gaps in /sync
2019-03-06 09:56:36 -07:00
David Baker
8beb836ccd
Merge pull request #854 from matrix-org/dbkr/deps_190206
...
Update dependencies
2019-03-06 14:08:26 +00:00
David Baker
b7c0e39c1a
Update dependencies
...
To get non-vulnerable versions
2019-03-06 13:50:35 +00:00
David Baker
777acae2e5
Merge branch 'master' into develop
2019-03-06 11:17:25 +00:00
David Baker
e77389c1ce
v1.0.1
2019-03-06 11:10:42 +00:00
David Baker
eb24e2e1f1
Prepare changelog for v1.0.1
2019-03-06 11:10:41 +00:00
Hubert Chathi
114244f8bb
fix typo
2019-03-06 00:23:01 -05:00
Travis Ralston
54769d9136
Add jsdoc
2019-03-05 14:25:32 -07:00
Travis Ralston
2f2deb5333
Expose the clear event content directly from an event
2019-03-05 14:04:51 -07:00
Travis Ralston
37f106d4af
More safely set the push actions for an encrypted event
2019-03-05 14:04:39 -07:00
David Baker
36ee7cdbfc
v1.0.1-rc.2
2019-03-05 18:53:16 +00:00
David Baker
2b564498ee
Prepare changelog for v1.0.1-rc.2
2019-03-05 18:53:15 +00:00
David Baker
0ddba16fa1
Merge pull request #853 from matrix-org/bwindels/dontswallowcryptotxnerrors
...
dont swallow txn errors in crypto store
2019-03-05 18:36:15 +00:00
Hubert Chathi
550086eb67
Merge pull request #850 from uhoreg/ensure_key_request
...
make sure key requests get sent
2019-03-05 10:57:15 -05:00
Hubert Chathi
055ce673cd
fix jsdoc
2019-03-05 10:54:02 -05:00
David Baker
5308595658
Merge pull request #852 from matrix-org/dbkr/getusermedia_deviceid_ideal
...
Use 'ideal' rather than 'exact' for deviceid
2019-03-05 14:23:39 +00:00
David Baker
e726e29f39
Better logging here too
2019-03-05 13:02:55 +00:00
David Baker
33b12fa6b5
Use 'ideal' rather than 'exact' for deviceid
...
We were using 'exact' which means we fail outright if the device
we wanted isn't available. This means if a user selects a specific
device then later unplugs it, we fail to open a capture device
the next time they make a call even if there's one available.
Using 'ideal' uses the chosen device in preference, but something
else if it isn't available.
Also log the name of the exception when we fail to open a capture
device to give us more of an idea of what's gone wrong.
Should help fix https://github.com/vector-im/riot-web/issues/8993
2019-03-05 12:59:29 +00:00
Travis Ralston
829cd05cba
Appease the linter
2019-03-04 21:46:48 -07:00
Travis Ralston
4834e12a3a
Calculate unread badges for encrypted events
2019-03-04 21:41:20 -07:00
Travis Ralston
bcd4ad130c
Use the decrypted event content when checking the push rules
...
Otherwise we'll be looking at the encrypted source, and that doesn't help anyone.
2019-03-04 21:33:57 -07:00
Travis Ralston
998d9e010e
Support flushing the cache on calculated push rules
...
Needed for encrypted events to be able to pass some push rules.
2019-03-04 21:24:25 -07:00
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
98fdcabc00
stop client after each test
2019-03-04 16:59:54 -05:00
Bruno Windels
236397816d
Merge pull request #849 from matrix-org/bwindels/dontswallowcryptotxnerrors
...
Don't swallow txn errors in crypto store
2019-03-04 13:05:17 +01:00
Bruno Windels
755c55de3e
dont swallow txn errors in crypto store
2019-03-04 12:58:05 +01: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
86ef262799
fix c+p comment
2019-03-01 12:15:59 -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
David Baker
7bdf1e9b92
v1.0.1-rc.1
2019-02-28 14:28:36 +00:00
David Baker
af1db8a606
Prepare changelog for v1.0.1-rc.1
2019-02-28 14:28:36 +00:00
Travis Ralston
a99bb3c4c9
Merge pull request #847 from matrix-org/travis/fix-megolm-error
...
Fix "e is undefined" masking the original error in MegolmDecryption
2019-02-26 13:59:16 -07: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
Hubert Chathi
d2557bc943
only set the dirty flag if something was actually changed
2019-02-22 08:37:34 -05:00
Hubert Chathi
33a3506981
speling is hard
2019-02-15 17:14:29 -05:00
J. Ryan Stinnett
03a54353be
v1.0.0
2019-02-14 16:48:12 +00:00
J. Ryan Stinnett
c6328923e6
Prepare changelog for v1.0.0
2019-02-14 16:48:11 +00:00
J. Ryan Stinnett
1ecb820bb0
Merge branch 'develop' into release-v1.0.0
2019-02-14 16:46:34 +00:00
J. Ryan Stinnett
0be2319288
Merge pull request #841 from jryans/package-lock-release
...
Try again to commit package-lock.json
2019-02-14 15:57:21 +00:00
J. Ryan Stinnett
073a025b83
Try again to commit package-lock.json
2019-02-14 14:20:31 +00:00
J. Ryan Stinnett
e83836d487
v1.0.0-rc.2
2019-02-14 10:47:41 +00:00
J. Ryan Stinnett
065c61e05c
Prepare changelog for v1.0.0-rc.2
2019-02-14 10:47:41 +00:00
J. Ryan Stinnett
139a6bd903
Merge branch 'develop' into release-v1.0.0
2019-02-14 10:43:04 +00:00
J. Ryan Stinnett
3fa0ee59d4
Merge pull request #839 from matrix-org/dbkr/commit_package_lock
...
Release script: commit package-lock.json
2019-02-13 18:57:38 +00:00
David Baker
bd3d26422d
git st is not a standard thing
2019-02-13 18:20:16 +00:00
David Baker
370ef9fc69
Merge pull request #840 from matrix-org/dbkr/recheck_key_backup
...
Add method to force re-check of key backup
2019-02-13 18:19:35 +00:00
David Baker
a087fb37a3
Add method to force re-check of key backup
...
Also detect when the key backup version changes and do the right
thing
https://github.com/vector-im/riot-web/issues/8524
2019-02-13 15:40:07 +00:00
David Baker
68c8fe0fa9
Release script: commit package-lock.json
...
Commit the package-lock.json when bumping the version, otherwise
the versions get out of sync, and this is going to matter more now
that jenkins runs `npm ci` which is fussy about these things.
2019-02-13 13:40:46 +00:00
Bruno Windels
4309749979
Merge pull request #838 from matrix-org/bwindels/e2eiconsanddialog
...
Fix: dont check for unverified devices in left members
2019-02-13 11:41:57 +01:00
Bruno Windels
1a677804a4
use getEncryptionTargetMembers instead of doing membership checks ourselves
2019-02-13 11:22:38 +01:00
Bruno Windels
a427e2a75c
dont check devices for left members
2019-02-12 18:33:44 +01:00
David Baker
3c735b0ac1
v1.0.0-rc.1
2019-02-08 18:33:52 +00:00
David Baker
4f446c3909
Prepare changelog for v1.0.0-rc.1
2019-02-08 18:33:51 +00:00
Hubert Chathi
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
David Baker
8fa19f4a0f
More en_GBification
2019-02-08 14:56:08 +00:00
David Baker
71a01ec234
Replace symbol characters with the emoji variants
...
The symbol ones are often rendered as little black & white icons: replace them with their variants from the emoji range
Also change to en_GB
2019-02-08 14:11:47 +00:00
David Baker
32f033a9da
Merge pull request #836 from matrix-org/dbkr/trust_on_decrypt
...
Trust on decrypt
2019-02-08 11:36:44 +00:00
David Baker
dade385147
Put error constant on the class
2019-02-08 10:43:17 +00:00
David Baker
6cf2e54f9a
Fix double-santa
2019-02-08 09:59:42 +00:00
Hubert Chathi
fb673b0304
change hex SAS verification to decimal and emoji
2019-02-08 00:56:30 -05:00
David Baker
1a425af3f2
Pass backup info here too
2019-02-07 15:51:51 +00:00
David Baker
9bafed2c26
OK fine, we'll use the session store
2019-02-07 15:33:49 +00:00
David Baker
bb2d0b0f62
lint
2019-02-07 14:47:03 +00:00
David Baker
5e4f10a80c
Trust on decrypt
...
Trust backups that we've restored by saving the matching pubkey
locally.
NB. Contains technically breaking API changes to the backup restore
(takes backupInfo rather than version).
2019-02-07 14:37:25 +00:00
David Baker
9e12fc4d7d
Merge pull request #835 from matrix-org/dbkr/always_track_own_device_list
...
Always track our own devices
2019-02-07 09:30:13 +00:00
David Baker
1caf2b7f83
Always track our own devices
...
It's generally a reasonable assumption that we'll be interested in
them, and important for key backup.
Fixes https://github.com/vector-im/riot-web/issues/8213
2019-02-06 16:48:57 +00:00
David Baker
e54f71718f
Olm pre2 for cross-signing
2019-02-05 13:41:14 +00:00
David Baker
6f17e3e659
Merge pull request #834 from matrix-org/dbkr/lint_consistency
...
Make linting rules more consistent
2019-02-05 13:12:25 +00:00
David Baker
7f5584e4f5
All the linting
2019-02-05 13:03:27 +00:00
David Baker
17e2cd755d
Make linting rules more consistent
...
* Put back babel-eslint for class-properties
* Allow arrow functions without params
This makes the style more consistent with react-sdk.
NB. The line lengths are still inconsistent but it's not clear which
way to go on that yet.
2019-02-05 11:58:53 +00:00
David Baker
b3513dc8f8
Make linting rules more consistent
...
* Put back babel-eslint for class-properties
* Allow arrow functions without params
This makes the style more consistent with react-sdk.
NB. The line lengths are still inconsistent but it's not clear which
way to go on that yet.
2019-02-05 11:56:08 +00:00
David Baker
1b82dffcb4
Merge remote-tracking branch 'origin/develop' into dbkr/cross_signing
2019-02-01 22:40:14 +00:00
David Baker
5500f0d794
Re-track own device list
...
Sp we don't stop tracking our own
2019-02-01 22:39:12 +00:00
David Baker
c8082535de
Always track your own devices
...
This was causing all the cross-signing stuff to fail and was almost
certainly the cause of https://github.com/vector-im/riot-web/issues/8213
2019-02-01 19:19:00 +00:00
Bruno Windels
a6970d4de8
Merge pull request #833 from matrix-org/bwindels/e2eicons
...
add method to room to check for unverified devices
2019-02-01 18:14:51 +00:00
David Baker
7dedcb82b2
Lint
...
or at least the rules that are consistent with the rest of our
codebase
2019-02-01 18:12:27 +00:00
David Baker
7195365188
Update package-lock.json
...
because Travis and npm now have a thing where they combust if your
package-lock is out of sync
2019-02-01 15:59:53 +00:00
David Baker
910d0ec9c1
Sign & trust the key backup from the SSK
2019-02-01 15:49:20 +00:00
Bruno Windels
bc99c1f3ce
add method to room to check for unverified devices
2019-02-01 14:37:11 +01:00
David Baker
1d58a64ee1
Track SSKs for users
...
and verify our own against our locally stored private part
2019-02-01 13:04:21 +00:00
David Baker
1f77cc6d1a
Cross sign the current device with the SSK
...
whenever we get the SSK, ie. when creating or restoring a backup
2019-01-31 21:13:01 +00:00
David Baker
02d4dcb128
Store SSK & USK in crypto store
...
and restore them from the key backup.
NB. This has an interface change to restoreKeyBackup where I've
changed it to take a backupInfo rather than a version (this also
saves us re-fetching the backup metadata in the case of a passphrase
restore).
2019-01-31 15:48:05 +00:00
David Baker
2b54f442d1
Add cross signing key creation into key backup
...
Start of cross-signing impl
2019-01-30 18:10:40 +00:00
David Baker
5e3ff7fc27
Re-apply changelog that somehow got lost
2019-01-30 13:12:32 +00:00
Bruno Windels
ffe3f966fe
Merge pull request #831 from matrix-org/experimental
...
Merge redesign into develop
2019-01-30 12:47:33 +00:00
Travis Ralston
c60c19a28e
Merge pull request #830 from matrix-org/travis/rver-cap-support
...
Supporting infrastructure for educated decisions on when to upgrade rooms
2019-01-29 11:28:57 -07:00
Travis Ralston
4ea785b604
Add some prose for what safe versions are
2019-01-29 10:46:40 -07:00
Travis Ralston
2d4e9d0d3f
Add safety for when the endpoint doesn't exist
2019-01-28 17:18:57 -07:00
Travis Ralston
971d572fbf
Supporting infrastructure for educated decisions on when to upgrade rooms
...
Part of https://github.com/vector-im/riot-web/issues/8251
2019-01-28 16:03:27 -07:00
Hubert Chathi
244e1b84f7
Initial implementation of key verification
2019-01-23 13:34:25 -05:00
David Baker
e5cdc99a34
Merge pull request #826 from matrix-org/dbkr/key_backup_status_unknown_device
...
Include signature info for unknown devices
2019-01-18 10:58:21 +00:00
David Baker
9a5768219f
Doc function API changes
2019-01-18 10:04:22 +00:00
Travis Ralston
cee8f57318
Merge pull request #828 from matrix-org/travis/v2-is-safe
...
Flag v2 rooms as "safe"
2019-01-17 16:36:27 -07:00
Travis Ralston
1a40e0a83a
Flag v2 rooms as "safe"
...
We'll still need something like https://github.com/matrix-org/matrix-doc/pull/1804 to make this work correctly, but this fixes the immediate issue in https://github.com/vector-im/riot-web/issues/8154
2019-01-17 16:14:53 -07:00
Travis Ralston
d0072d930f
Merge pull request #827 from matrix-org/develop
...
Develop->Experimental
2019-01-17 15:51:22 -07:00
David Baker
385062c4d7
Include signature info for unknown devices
...
Add a 'deviceId' property and leave 'device' undefined for unknown
devices.
https://github.com/vector-im/riot-web/issues/8142
2019-01-17 16:43:26 +00:00
J. Ryan Stinnett
9245638b25
Set key backup guard flag to avoid duplicate uploads
...
Not sure how this was missed, but anyway, guard against duplicate uploads with
the existing flag.
2019-01-17 08:19:09 -06:00
J. Ryan Stinnett
1865542192
Emit when user's status message changes
2019-01-15 08:59:31 -06:00
J. Ryan Stinnett
2563abda11
Ensure we have power to set custom status
...
If we're in a non-DM room of 2 people, we may not have power to set state events
like custom status. Ensure that we do before sending.
2019-01-15 08:59:31 -06:00
David Baker
59b80d8fbd
Remove babel-eslint as we no longer need it
2019-01-10 10:42:43 +00:00
David Baker
68bb8182e4
Update ESLint
...
* Bump version
* Add a couple of rules to match our existing precedent
* Fix a few genuine lint errors
* Ignore a guard-for-in (not sure why eslint doesn't like this?)
* Update max warnings
2019-01-10 10:42:34 +00:00
David Baker
c979ff6696
Merge pull request #821 from matrix-org/dbkr/update_eslint
...
Update ESLint
2019-01-10 09:35:24 +00:00
J. Ryan Stinnett
25681e888c
Change initial key backup to background
...
Alters the APIs used for initial key backup so that the actual upload happens in
the background after all session are marked for backup.
2019-01-09 12:03:55 -06:00
J. Ryan Stinnett
5cfd082b00
Schedule key upload on enabling backup
...
This ensures a partially completed backup will continue to make progress.
2019-01-09 12:03:55 -06:00
J. Ryan Stinnett
0cbced43bd
Emit when count of sessions to backup changes
...
This will be used in the React SDK to display upload progress when there are
many sessions to upload.
2019-01-09 12:03:55 -06:00
David Baker
b3e8d7e07e
Remove babel-eslint as we no longer need it
2019-01-09 17:33:42 +00:00
David Baker
f4a7395e3a
Update ESLint
...
* Bump version
* Add a couple of rules to match our existing precedent
* Fix a few genuine lint errors
* Ignore a guard-for-in (not sure why eslint doesn't like this?)
* Update max warnings
2019-01-09 17:29:30 +00:00
J. Ryan Stinnett
14b42abfa4
Re-check key backup status on version mismatch
...
This ensures we will report the updated status when consumer code asks for it.
Fixes part of https://github.com/vector-im/riot-web/issues/8048 .
2019-01-09 04:07:58 -06:00
J. Ryan Stinnett
e8022e985e
Merge pull request #815 from matrix-org/develop
...
Merge develop into experimental
2019-01-03 13:54:34 -06:00
David Baker
f6c8687dc8
Merge pull request #812 from matrix-org/dbkr/getallsessions
...
Add a getAllEndToEndSessions to crypto store
2019-01-03 10:09:18 +00:00
J. Ryan Stinnett
472d8faace
Merge pull request #668 from matrix-org/t3chguy/fix_displayname_logic
...
T3chguy/fix displayname logic
2019-01-02 17:40:19 -06:00
Michael Telatynski
fc5f3c2fcc
re-add empty check after removing hidden chars
2018-12-30 00:20:33 +00:00
Travis Ralston
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
Travis Ralston
6a98e93845
Merge pull request #814 from trashhalo/rebase-tip
...
Contributing: Note that rebase lets you mass signoff commits
2018-12-28 19:40:41 -07:00
Stephen Solka
79e155acfb
Note that rebase lets you mass signoff commits
...
Signed-off-by: Stephen Solka <stephen0q@gmail.com >
2018-12-28 21:36:06 -05:00
David Baker
59ae6e3dc0
Missing bracket
2018-12-21 19:21:40 +00:00
David Baker
e628ed3ef4
Add a getAllEndToEndSessions to crypto store
...
So we can migrate them from place to place
2018-12-21 19:12:01 +00:00
J. Ryan Stinnett
11d40e9daa
Merge pull request #672 from matrix-org/t3chguy/unhomoglyph
...
take into account homoglyphs when calculating similar display names
2018-12-20 14:38:48 +00:00
Michael Telatynski
a07f0631b7
Include unhomoglyph in package-lock.json - it must have felt left out :L
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2018-12-19 22:28:40 +00:00
Michael Telatynski
790d1dd8f7
Merge branches 'develop' and 't3chguy/unhomoglyph' of github.com:matrix-org/matrix-js-sdk into t3chguy/unhomoglyph
2018-12-19 22:21:09 +00:00
J. Ryan Stinnett
c92e510a4d
Pin to base-x 3.0.4
...
This avoids API changes in 3.0.5 (requiring `Buffer` instances), but more
importantly also avoids dealing with ES6 in dependencies for another day.
Signed-off-by: J. Ryan Stinnett <jryans@gmail.com >
2018-12-18 19:47:17 +00:00
David Baker
c48a6c0601
Merge pull request #809 from jryans/key-backup-version-change
...
Emit for key backup failures
2018-12-18 09:34:43 +00:00
J. Ryan Stinnett
383f3f9834
Merge branch 'develop' into t3chguy/unhomoglyph
2018-12-18 01:01:41 +00:00
J. Ryan Stinnett
3c1e9ba6e9
Merge pull request #646 from leonlianght/develop
...
emit oldEventId on "updatePendingEvent"
2018-12-18 00:41:52 +00:00
J. Ryan Stinnett
26893b9877
Merge pull request #589 from johbo/add-thirdparty-user
...
Add getThirdpartyUser to base api
2018-12-18 00:38:09 +00:00
J. Ryan Stinnett
2b734b8e69
Emit for key backup failures
...
Signed-off-by: J. Ryan Stinnett <jryans@gmail.com >
2018-12-14 15:17:22 +00:00
J. Ryan Stinnett
c5f6f87a6c
Add await to ensure we wait for backup errors
...
Signed-off-by: J. Ryan Stinnett <jryans@gmail.com >
2018-12-14 15:17:22 +00:00
David Baker
66cdb62a3d
Reorganize key backup flow
...
This will allow the key backup flow to propagate errors for things like version
mismatches more easily.
In addition, it raises the limit of keys sent per request from 10 to 200 to cut
down on the number of requests.
2018-12-14 15:17:10 +00:00
Travis Ralston
f53e33723b
Merge pull request #805 from matrix-org/travis/custom-status
...
Support custom status messages
2018-12-13 10:24:37 -07:00
Travis Ralston
06bc6e7568
Update jsdoc to match _unstable_ prefix
2018-12-13 09:42:22 -07:00
J. Ryan Stinnett
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
Travis Ralston
08b3dfa3b5
Prefix the status message API with _unstable
...
It's not a formal feature of Matrix yet, so we should try and avoid people relying on it. This makes it appear as a private API and is very clearly labeled as not intended for use.
2018-12-12 23:05:03 -07:00
J. Ryan Stinnett
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
Travis Ralston
fb65c7f4ba
Support setting status message in rooms that look like 1:1s
...
Part of https://github.com/vector-im/riot-web/issues/1528
2018-12-12 13:21:13 -07:00
Travis Ralston
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
Bruno Windels
2d3669b03b
Merge pull request #749 from matrix-org/bwindels/releaseimprovements
...
Extra checks to avoid release script blowing up mid-process.
2018-12-12 09:07:12 +00:00
Travis Ralston
848e6e5897
Support reading custom status messages
...
Part of https://github.com/vector-im/riot-web/issues/1528
2018-12-11 21:41:15 -07:00
David Baker
c723b76138
Merge branch 'master' into develop
2018-12-10 13:37:15 +00:00
David Baker
57f6b0af09
v0.14.2
2018-12-10 13:31:37 +00:00
David Baker
1c4082af45
Prepare changelog for v0.14.2
2018-12-10 13:31:37 +00:00
David Baker
eece5d318e
Merge pull request #800 from matrix-org/travis/mto-via
...
Move glob regex utilities out of the pushprocessor and into a more generic place
2018-12-07 17:47:56 +00:00
David Baker
bb6ade2165
v0.14.2-rc.1
2018-12-06 11:11:29 +00:00
David Baker
586b010811
Prepare changelog for v0.14.2-rc.1
2018-12-06 11:11:28 +00:00
Travis Ralston
84ab0fde51
Appease the linter
2018-12-05 18:13:28 -07:00
Travis Ralston
ec18df2c2a
Move glob regex utilities out of the pushprocessor and into a more generic place
2018-12-05 18:01:12 -07:00
David Baker
f50503e7c1
Merge pull request #794 from uhoreg/e2e_backup-test-fix
...
fix some assertions in e2e backup unit test
2018-12-04 11:22:20 +00:00
Travis Ralston
c619e5c381
Merge pull request #798 from matrix-org/hs/fix-media-config
...
Config should be called with auth
2018-12-03 18:29:56 -07:00
Will Hunt
e7c4a74ed6
Config should be called with auth
2018-12-04 01:27:08 +00:00
Hubert Chathi
f8ea019f02
fix some assertions in e2e backup unit test
2018-11-29 11:52:19 -05:00
David Baker
6db8dd620d
Fix https://github.com/matrix-org/matrix-js-sdk/pull/792
2018-11-28 16:11:28 +00:00
David Baker
bdc1fa4c03
Merge pull request #792 from matrix-org/dbkr/dont_reestablish_unknwon_device
...
Don't re-establish sessions with unknown devices
2018-11-28 16:04:31 +00:00
David Baker
4e66a2d436
Don't re-establish sessions with unknown devices
...
as it won't work
2018-11-28 15:53:13 +00:00
David Baker
0fa948448e
Merge branch 'master' into develop
2018-11-22 16:48:36 +00:00
David Baker
76c675cd09
v0.14.1
2018-11-22 16:46:26 +00:00
David Baker
85a4a594c5
Prepare changelog for v0.14.1
2018-11-22 16:46:25 +00:00
David Baker
f70746c50f
Handle crypto db version upgrades
2018-11-22 16:38:10 +00:00
David Baker
712490b671
Use a vaguely recent node
2018-11-21 18:44:21 +00:00
David Baker
b580e68469
Merge pull request #736 from matrix-org/dbkr/e2e_backups
...
Support for e2e key backups
2018-11-21 18:27:45 +00:00
David Baker
bd2cf18fbc
Merge pull request #786 from matrix-org/dbkr/e2e_backups_passphrase
...
Passphrase Support for e2e backups
2018-11-21 18:24:59 +00:00
David Baker
092f4217b0
docs
2018-11-21 17:56:02 +00:00
David Baker
abd2ac7168
Rename backup API call in test
2018-11-20 16:34:04 +00:00
David Baker
eeea70640e
Add randomString factored out from client secret
2018-11-20 16:28:29 +00:00
David Baker
6047838f53
lint
2018-11-20 16:17:58 +00:00
David Baker
cb51799246
Make backup restore work
2018-11-20 16:15:29 +00:00
David Baker
44d99277fe
Support passphrase-based e2e key backups
2018-11-20 13:09:59 +00:00
David Baker
5b8e643541
Merge branch 'master' into develop
2018-11-19 15:11:40 +00:00
David Baker
ae85c209ab
v0.14.0
2018-11-19 15:09:43 +00:00
David Baker
2306caa62f
Prepare changelog for v0.14.0
2018-11-19 15:09:42 +00:00
Richard van der Hoff
17c11ae23f
Merge pull request #783 from matrix-org/rav/sso_login_type
...
Add 'getSsoLoginUrl' function
2018-11-19 14:13:52 +01:00
Richard van der Hoff
5b51096e37
fix default login type for getSsoLoginUrl
2018-11-19 13:08:41 +00:00
Travis Ralston
ac79d6bcee
Merge pull request #784 from matrix-org/bwindels/missingheroescrash
...
Fix: don't set the room name to null when heroes are missing.
2018-11-16 13:23:57 -07:00
David Baker
b6e056f832
Merge pull request #785 from matrix-org/dbkr/crypto_db_version_upgrade
...
Handle crypto db version upgrades
2018-11-16 17:32:40 +00:00
David Baker
d99a22d68d
Update to new API
...
Also fix test & remove debug logging from test
2018-11-16 14:46:18 +00:00
David Baker
2602c155d0
Handle crypto db version upgrades
2018-11-16 11:31:08 +00:00
Bruno Windels
80f562643f
never return null as a name
2018-11-16 10:38:44 +01:00
Richard van der Hoff
578cb4e268
Add 'getSsoLoginUrl' function
2018-11-15 19:00:37 +00:00
David Baker
c53c6a94d7
Update package-lock
...
so versions are consistent
2018-11-15 16:38:35 +00:00
David Baker
907cf19f05
Merge remote-tracking branch 'origin/develop' into dbkr/e2e_backups
2018-11-15 16:35:52 +00:00
David Baker
88682e1c3b
Merge pull request #780 from matrix-org/dbkr/olm_session_unwedge
...
Restart broken Olm sessions
2018-11-15 16:34:10 +00:00
David Baker
20a4edf899
Merge pull request #776 from matrix-org/dbkr/use_session_last_received_message
...
Use the last olm session that got a message
2018-11-15 16:33:59 +00:00
David Baker
3222b11346
v0.14.0-rc.1
2018-11-15 15:06:39 +00:00
David Baker
fc9d6a6d47
Prepare changelog for v0.14.0-rc.1
2018-11-15 15:06:39 +00:00
David Baker
c9917e4079
lint
2018-11-15 10:03:16 +00:00
Bruno Windels
b233ab87bb
Merge branch 'master' into develop
2018-11-14 18:21:01 +01:00
Bruno Windels
73c3a709de
Merge branch 'release-v0.13.1'
2018-11-14 18:19:24 +01:00
Bruno Windels
6ce7b30b72
v0.13.1
2018-11-14 18:18:12 +01:00
Bruno Windels
980d55a2f3
Prepare changelog for v0.13.1
2018-11-14 18:18:11 +01:00
Richard Lewis
988be62804
Add function to get currently joined room members.
2018-11-14 18:15:14 +01:00
Richard Lewis
23efd0850d
Add function to get currently joined rooms.
2018-11-14 18:15:08 +01:00
David Baker
17e0f1d9ab
Merge branch 'dbkr/use_session_last_received_message' into dbkr/olm_session_unwedge
2018-11-14 14:58:21 +00:00
David Baker
3c85bd55d3
Time goes forwards
2018-11-14 14:57:48 +00:00
David Baker
2298d72ab9
Merge branch 'dbkr/use_session_last_received_message' into dbkr/olm_session_unwedge
2018-11-14 14:35:33 +00:00
David Baker
408407b33d
Fix typo
2018-11-14 14:34:36 +00:00
David Baker
ab426384e1
Merge branch 'dbkr/use_session_last_received_message' into dbkr/olm_session_unwedge
2018-11-14 14:30:10 +00:00
David Baker
5bc68c0c6d
Handle last received message ts being undefined
2018-11-14 14:29:03 +00:00
David Baker
ebf20d5b2c
Don't force more than one new session per device per hour
2018-11-14 14:20:55 +00:00
David Baker
93d9c40323
Merge branch 'dbkr/use_session_last_received_message' into dbkr/olm_session_unwedge
2018-11-14 14:20:42 +00:00
Bruno Windels
c6ea976d7f
Merge branch 'master' into develop
2018-11-14 10:55:13 +01:00
Bruno Windels
5f24915300
Merge branch 'release-v0.13.0'
2018-11-14 10:54:52 +01:00
Bruno Windels
fbe174fb64
v0.13.0
2018-11-14 10:53:42 +01:00
Richard Lewis
977d5331c0
Update CHANGELOG.
2018-11-14 10:50:05 +01:00
Richard Lewis
d40d7e18f5
Update CHANGELOG.
2018-11-14 10:49:54 +01:00
Richard Lewis
11be68ad49
Refactor code to base 'login' method.
2018-11-14 10:49:44 +01:00
Richard Lewis
b0d0782a72
Linting.
2018-11-14 10:49:36 +01:00
Richard Lewis
dbb6d8ac71
Set access_token and user_id after login in with username and password.
2018-11-14 10:49:25 +01:00
David Baker
a30845f9ce
lint
2018-11-14 08:03:23 +00:00
David Baker
379f290b8b
Add package-lock.json
...
to force base-x to version 3.0.4 because 3.0.5 breaks the build
by exporting ES6.
2018-11-13 14:49:56 +00:00
David Baker
6c413bba48
Typo + exit if session was never shared
2018-11-13 12:15:33 +00:00
David Baker
e17a39d446
PR feedback
2018-11-13 12:10:26 +00:00
David Baker
fcadf6ec4a
Store last received message ts on olm session
2018-11-12 18:12:43 +00:00
David Baker
231fde219c
Store last received message ts on olm session
2018-11-12 18:10:11 +00:00
David Baker
2774bd238b
Merge pull request #781 from matrix-org/travis/block-send-if-failed
...
Prevent messages from being sent if other messages have failed to send
2018-11-09 10:54:38 +00:00
Travis Ralston
fed67192bc
Fix test: Actually resend the event after unknown devices are found
...
This test didn't actually test that resending would work, despite its name.
2018-11-08 17:17:30 -07:00
Travis Ralston
16db970558
Appease the linter
2018-11-08 16:51:21 -07:00
Travis Ralston
c9a79bf32e
Prevent messages from being sent if other messages have failed to send
...
Fixes https://github.com/vector-im/riot-web/issues/5408
2018-11-08 16:46:03 -07:00
David Baker
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
David Baker
eafba9c7ef
Merge pull request #777 from matrix-org/dbkr/olm_unit_test
...
A unit test for olm
2018-11-06 12:04:55 +00:00
Richard Lewis
610923af89
Merge pull request #778 from matrix-org/rxl881/loginWithPassword
...
Set access_token and user_id after login in with username and password.
2018-11-05 17:25:31 +00:00
Richard Lewis
23dfeb13df
Update CHANGELOG.
2018-11-05 17:17:22 +00:00
Richard Lewis
f4abd7d027
Update CHANGELOG.
2018-11-05 17:06:39 +00:00
Richard Lewis
b716e71784
Refactor code to base 'login' method.
2018-11-05 16:40:11 +00:00
Richard Lewis
094598196a
Linting.
2018-11-05 16:02:30 +00:00
David Baker
db1d1c49a0
Merge pull request #779 from matrix-org/rxl881/getRooms
...
Add function to get currently joined rooms.
2018-11-05 12:14:12 +00:00
David Baker
ff4125c11e
Remove unused stuff & comments
2018-11-05 09:39:46 +00:00
Richard Lewis
a0d51803ed
Add function to get currently joined room members.
2018-11-05 00:08:04 +00:00
Richard Lewis
3aabd63975
Add function to get currently joined rooms.
2018-11-04 21:49:17 +00:00
Richard Lewis
394e37f9ea
Set access_token and user_id after login in with username and password.
2018-11-04 19:43:18 +00:00
Travis Ralston
369b88d6f8
Merge pull request #775 from matrix-org/travis/cleanup-request
...
Remove the request-only stuff we don't need anymore
2018-11-02 09:39:23 -06:00
David Baker
ec8b3ae515
Lint (and also name the test right)
2018-11-02 12:33:46 +00:00
David Baker
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
David Baker
2a6a67c6cc
Inbound session creation counts as a received message
2018-11-01 17:08:43 +00:00
David Baker
37f0a9ad7b
Try tests on node 10
2018-11-01 13:54:41 +00:00
David Baker
28540ad50a
Use the last olm session that got a message
...
Implements https://github.com/matrix-org/matrix-doc/pull/1596
For https://github.com/vector-im/riot-web/issues/3822
Requires https://github.com/matrix-org/olm-backup/pull/77 (+release)
2018-11-01 12:59:38 +00:00
David Baker
29d92d3e81
Lint
2018-10-31 20:05:21 +00:00
David Baker
0477f354c9
Fix key forwarded count
...
It's exported in snake case
2018-10-31 19:45:29 +00:00
David Baker
c7a0c1402c
refer to getAllEndToEndInboundGroupSessions for magic numbers
2018-10-31 19:39:07 +00:00
David Baker
2af5643243
Clarify comment
2018-10-31 19:37:19 +00:00
David Baker
5e9885946f
random double linebreak
2018-10-31 19:36:30 +00:00
Travis Ralston
e89879d8a6
Remove the request-only stuff we don't need anymore
...
This was introduced in https://github.com/matrix-org/matrix-react-sdk/pull/2250 but can be pulled out due to https://github.com/matrix-org/matrix-js-sdk/pull/770 . See https://github.com/vector-im/riot-web/issues/7634 for more information about the future.
2018-10-31 13:07:31 -06:00
David Baker
2f219f83db
Catch exceptions from backupGroupSession()
2018-10-31 18:46:02 +00:00
David Baker
63e9f794c7
Remove unnecessary if
2018-10-31 18:37:38 +00:00
David Baker
7c0b910d7a
remove unnecessary isFinite check
2018-10-31 18:36:55 +00:00
David Baker
c77ecad9a5
clarify comment
2018-10-31 18:34:49 +00:00
David Baker
db2897cf1e
Remove spurious interlopers
2018-10-31 18:33:31 +00:00
David Baker
5c5ce0dfe3
Typo
2018-10-31 18:32:48 +00:00
David Baker
6de213483c
Change getDeviceByIdentityKey() to just the 2 arg version
2018-10-31 18:31:56 +00:00
David Baker
f5846b89ea
More modern loop syntax
2018-10-31 18:18:41 +00:00
David Baker
c5e7bedb37
Conclusion: no, it shouldn't
2018-10-31 18:08:53 +00:00
David Baker
2b46c560c7
Add crypto. prefix to keyBackupStatus event
2018-10-31 18:07:12 +00:00
David Baker
c6ad0665b5
factor out duplicated test code
2018-10-31 18:03:40 +00:00
David Baker
8ab84dee16
PR feedback 1/n
2018-10-31 17:40:17 +00:00
Travis Ralston
62b2c07be2
Merge pull request #770 from matrix-org/travis/fix-request
...
Manually construct query strings for browser-request instances
2018-10-30 15:18:33 -06:00
Travis Ralston
2fb29ae8fd
Use the right query string lib
2018-10-30 14:59:57 -06:00
Travis Ralston
b57e858ad1
We can't use arrow functions, apparently.
2018-10-30 14:27:51 -06:00
Travis Ralston
054aac17aa
Just use the interface provided to us rather than hack in a flag
2018-10-30 14:25:25 -06:00
Travis Ralston
68b65dd357
Because uglify-js breaks everything
2018-10-30 14:12:46 -06:00
Travis Ralston
f2881126cd
Manually construct query strings for browser-request instances
...
Because `request` just doesn't work for us in the browser, but `browser-request` is fine despite us having to do our own query strings.
Fixes https://github.com/vector-im/riot-web/issues/7620
2018-10-30 13:59:29 -06:00
Bruno Windels
11968a5888
Merge pull request #769 from matrix-org/bwindels/initcryptoll
...
Fix: correctly check for crypto being present
2018-10-30 16:13:32 +00:00
Bruno Windels
ad279dc566
correctly check for crypto being present
2018-10-30 16:05:44 +01:00
David Baker
2814932845
lint
2018-10-30 12:36:03 +00:00
David Baker
a2430dbc53
Fix DeviceList index of users by identity key
...
Was causing all keys to be send as unverified
2018-10-30 12:29:44 +00:00
David Baker
e51d2dd36a
Fix a few e2e backup bits
...
* Don't _maybeSendKeyBackup() as soon as we enable them: we shouldn't
have anything to send anyway until we mark all sessions for backup,
which we do just afterwards, so leave that to trigger the upload
(otherwise the uploading triggered by backupAll just returns
straight away because a backup is already in progress).
* Pass delay & retry params to _maybeSendKeyBackup(): we want the
all-key upload to happen straight away so pass in delay=0, and
we also don't want to retry on a timer if the the user is waiting.
* If we fail due to an HTTP 400 or similar, don't swallow the error.
* Use the right indexeddb store
2018-10-30 11:45:19 +00:00
David Baker
604af1ac8c
Merge branch 'master' into develop
2018-10-29 14:01:26 +00:00
David Baker
68c6393eb2
v0.12.1
2018-10-29 13:59:39 +00:00
David Baker
4cbf9c7f47
Prepare changelog for v0.12.1
2018-10-29 13:59:39 +00:00
Travis Ralston
8bb3b75b1d
Merge pull request #768 from aaronraimist/lint
...
Update babel-eslint to 8.1.1
2018-10-26 21:13:04 -06:00
Aaron Raimist
a76f0c7cb4
Update babel-eslint to 8.1.1
...
Signed-off-by: Aaron Raimist <aaron@raim.ist >
2018-10-26 22:07:40 -05:00
Travis Ralston
01e31afcbd
Merge pull request #764 from matrix-org/travis/permalink-routing
...
Support `request` in the browser and support supplying servers to try in joinRoom()
2018-10-26 14:22:51 -06:00
David Baker
3b2f2f922e
Bump db version
2018-10-26 18:49:05 +01:00
Travis Ralston
64b83b3245
Merge branch 'develop' into travis/permalink-routing
2018-10-26 09:20:54 -06:00
David Baker
563e6b3cdd
Fix jsdoc
2018-10-26 13:23:37 +01:00
David Baker
6518bff2ac
Merge remote-tracking branch 'origin/develop' into dbkr/e2e_backups
2018-10-26 12:09:38 +01:00
David Baker
0e26247b53
Speed up time rather than increasing timeouts
2018-10-26 12:08:55 +01:00
David Baker
e69f7dbc5f
Merge pull request #767 from matrix-org/dbkr/loglevel_dep
...
loglevel should be a normal dependency
2018-10-26 11:26:15 +01:00
David Baker
4d0f6df89a
alphabetical order
2018-10-26 11:23:05 +01:00
David Baker
6b184363a1
loglevel should be a normal dependency
...
rather than a dev dependency
2018-10-26 11:16:20 +01:00
David Baker
b519069634
Merge pull request #766 from matrix-org/dbkr/stop_devicelist
...
Stop devicelist when client is stopped
2018-10-26 11:14:36 +01:00
Travis Ralston
1bd44a7427
Merge remote-tracking branch 'origin/develop' into travis/permalink-routing
2018-10-25 14:36:46 -06:00
Travis Ralston
568ff5a3f5
Appease the linter
2018-10-25 14:36:14 -06:00
David Baker
a6bf40d4e2
We can always import these now
2018-10-25 19:21:29 +01:00
David Baker
b3bb99d76a
Stop client after backup tests
2018-10-25 19:11:43 +01:00
David Baker
243bab7036
Merge branch 'dbkr/stop_devicelist' into dbkr/e2e_backups
2018-10-25 19:03:57 +01:00
David Baker
88b39f4b67
Stop devicelist when client is stopped
...
To avoid the devicelist trying to save after the client has been
stopped
Hopefully will fix random test failures on node 11.
2018-10-25 19:00:03 +01:00
David Baker
5e8061f846
Merge remote-tracking branch 'origin/develop' into dbkr/e2e_backups
2018-10-25 17:33:48 +01:00
David Baker
870e96a1df
Merge pull request #743 from matrix-org/dbkr/wasm
...
Update to WebAssembly-powered Olm
2018-10-25 15:58:18 +01:00
David Baker
59070c2af6
Merge remote-tracking branch 'origin/develop' into dbkr/wasm
2018-10-25 15:29:41 +01:00
David Baker
cec8936728
Merge pull request #763 from Ryuno-Ki/logging-lib
...
Logging lib. Fixes #332
2018-10-25 15:28:47 +01:00
David Baker
14071b0d31
Merge pull request #765 from matrix-org/dbkr/mock_request_stop
...
Use new stop() method on matrix-mock-request
2018-10-25 15:16:08 +01:00
David Baker
57173e4385
Use mock-request 1.2.2
2018-10-25 15:01:05 +01:00
David Baker
997caad985
jsdoc
2018-10-25 14:43:17 +01:00
David Baker
2b752c0c02
Use new stop() method on matrix-mock-request
...
To finish all pending flushes between tests. This stops the unit
tests from hanging on node 11 when run in certain combinations.
Requires https://github.com/matrix-org/matrix-mock-request/pull/6
(so will need a release of matrix-mock-request before merging)
2018-10-25 14:29:25 +01:00
Travis Ralston
2cccb8b450
Install memfs because webpack is made of fail
2018-10-24 16:57:36 -06:00
Travis Ralston
0c540ac8de
Re-add the querystring options
2018-10-24 16:36:12 -06:00
Travis Ralston
6033b7b886
Update request and browserify; Use request in the browser
2018-10-24 16:36:00 -06:00
Travis Ralston
b67f8d1389
Merge branch 'develop' into travis/permalink-routing
2018-10-24 16:22:18 -06:00
André Jaenisch
ae645ad9f0
Use Node.js module export, since ES6 export breaks build.
...
Signed-off-by: André Jaenisch <andre.jaenisch@posteo.de >
2018-10-24 21:52:50 +02:00
André Jaenisch
5b72509dac
Fix broken build.
...
Signed-off-by: André Jaenisch <andre.jaenisch@posteo.de >
2018-10-24 21:12:51 +02:00
André Jaenisch
3ce42a096b
Add Apache license banner.
...
Signed-off-by: André Jaenisch <andre.jaenisch@posteo.de >
2018-10-24 21:06:04 +02:00
André Jaenisch
8331c2f267
Use ES6 export instead of CommonJS.
...
Signed-off-by: André Jaenisch <andre.jaenisch@posteo.de >
2018-10-24 21:05:21 +02:00
André Jaenisch
b3c9570b0f
Remove 'use strict'.
...
Signed-off-by: André Jaenisch <andre.jaenisch@posteo.de >
2018-10-24 20:56:29 +02:00
André Jaenisch
9d5c877df9
Set loglevel to DEBUG to remain current behaviour.
...
Signed-off-by: André Jaenisch <andre.jaenisch@posteo.de >
2018-10-24 20:55:54 +02:00
André Jaenisch
a8e2727473
Set level of logger instead of all of them.
...
Signed-off-by: André Jaenisch <andre.jaenisch@posteo.de >
2018-10-24 20:55:22 +02:00
David Baker
4b9c6e6bd2
Merge remote-tracking branch 'origin/develop' into dbkr/wasm
2018-10-24 19:15:04 +01:00
David Baker
d29ac088c0
retest
2018-10-24 18:55:04 +01:00
David Baker
3a316de9ef
Update to Olm 3 here too
2018-10-24 17:40:58 +01:00
David Baker
40cb37e824
Update to Olm 3
2018-10-24 17:37:33 +01:00
David Baker
f165b55a1d
Merge branch 'e2e_backups' of git://github.com/uhoreg/matrix-js-sdk into uhoreg-e2e_backups
2018-10-24 17:15:36 +01:00
David Baker
84b91d4575
Update to Olm 3
2018-10-24 16:58:48 +01:00
David Baker
f5832423f4
v0.12.1-rc.1
2018-10-24 11:14:59 +01:00
David Baker
73dd07aadf
Prepare changelog for v0.12.1-rc.1
2018-10-24 11:14:59 +01:00
André Jaenisch
0f39a45734
Fixing module export of logger. Refs #332
...
Signed-off-by: André Jaenisch <andre.jaenisch@posteo.de >
2018-10-24 01:44:10 +02:00
André Jaenisch
f41060c39a
Replace console.log with loglevel logger. Fixes #332
...
Signed-off-by: André Jaenisch <andre.jaenisch@posteo.de >
2018-10-24 00:48:57 +02:00
André Jaenisch
bbb8e12bac
Create logger module. Refs #332
...
Signed-off-by: André Jaenisch <andre.jaenisch@posteo.de >
2018-10-24 00:48:57 +02:00
André Jaenisch
d0e1471c91
Added loglevel library. Refs #332
...
Signed-off-by: André Jaenisch <andre.jaenisch@posteo.de >
2018-10-24 00:48:52 +02:00
Hubert Chathi
322ef1fd63
update backup algorithm name to agree with the proposal
2018-10-22 11:28:16 -04:00
Travis Ralston
47cb97bc60
Merge pull request #762 from aaronraimist/valid-package-json
...
Add repository type to package.json to make it valid
2018-10-20 21:55:48 -06:00
Aaron Raimist
8d35bea830
Add repository type to package.json to make it valid
...
Signed-off-by: Aaron Raimist <aaron@raim.ist >
2018-10-20 21:38:04 -05:00
Travis Ralston
d8bcc4e3f1
Initial support for specifying which servers to try in joinRoom
...
This has a bug when using browser-request where the query string for `server_name: [a, b]` comes out as `?server_name=a,b` instead of `?server_name=a&server_name=b`. This is due to browser-request not supporting the same qs options as request, so the qsStringifyOptions do nothing.
2018-10-19 13:34:22 -06:00
Hubert Chathi
434ac86090
properly fill out the is_verified and first_message_index fields
2018-10-19 10:51:19 -04:00
Travis Ralston
1061026f96
Merge pull request #761 from Half-Shot/hs/upload-limits
...
Add getMediaConfig()
2018-10-16 09:04:08 -06:00
Will Hunt
e638c49160
Merge remote-tracking branch 'upstream/develop' into hs/upload-limits
2018-10-16 11:32:21 +01:00
David Baker
5d84db9fb7
Merge branch 'release-v0.12.0'
2018-10-16 10:49:14 +01:00
David Baker
874bdea634
v0.12.0
2018-10-16 10:47:33 +01:00
David Baker
68497d3a1f
Prepare changelog for v0.12.0
2018-10-16 10:47:32 +01:00
David Baker
b9e198c172
Oops: remove debug logging
2018-10-15 11:39:39 +01:00
Hubert Chathi
40d0a82342
remove accidental change to eslintrc
2018-10-12 15:45:48 -04:00
Hubert Chathi
d49c0a1bcb
more de-linting and fixing
2018-10-12 14:28:31 -04:00
Hubert Chathi
91fb7b0a7c
fix unit tests for backup recovery
2018-10-12 12:03:51 -04:00
Hubert Chathi
9b12c22823
de-lint plus some minor fixes
2018-10-12 10:38:10 -04:00
Hubert Chathi
3957006fae
Merge remote-tracking branch 'upstream/dbkr/e2e_backups' into e2e_backups
2018-10-11 14:01:26 -04:00
David Baker
874029dff0
oops - fix changelog format in retrospect
2018-10-11 15:38:34 +01:00
David Baker
6aff3ed407
v0.12.0-rc.1
2018-10-11 14:42:29 +01:00
David Baker
c0ae78ae82
Prepare changelog for v0.12.0-rc.1
2018-10-11 14:42:29 +01:00
David Baker
8b22f01ecd
Merge pull request #760 from matrix-org/bwindels/fixleavesinmemberlist
...
never replace /sync'ed memberships with OOB ones
2018-10-11 14:01:38 +01:00
Bruno Windels
2ed694b041
remove supersedes OOB logic
2018-10-11 14:32:03 +02:00
Bruno Windels
a0ef6ab811
typo
2018-10-11 14:14:42 +02:00
Bruno Windels
d098b39024
never replace /sync'ed memberships with OOB ones
2018-10-11 14:11:40 +02:00
David Baker
3cf23f8a5c
Document breaking change
2018-10-11 12:13:25 +01:00
Hubert Chathi
fc59bc2992
add localstorage support for key backups
2018-10-10 19:32:07 -04:00
Hubert Chathi
da65f43983
wrap backup sending in a try, and add delays
2018-10-10 19:31:28 -04:00
Bruno Windels
72e77d237a
Merge pull request #759 from matrix-org/dbkr/lazy_load_check_before_sync
...
Don't fail to start up if lazy load check fails
2018-10-10 18:28:47 +02:00
David Baker
ecc3e18e85
typo
2018-10-10 17:27:06 +01:00
David Baker
dea70af889
remove debug logging
2018-10-10 17:06:26 +01:00
David Baker
30362091e5
Don't fail to start up if lazy load check fails
...
Do the lazy loading check in the batch of things we do before
starting a sync rather than at client start time, so we don't fail
to start the client if we can't hit the HS to determine LL support.
Fixes https://github.com/vector-im/riot-web/issues/7455
2018-10-10 16:59:36 +01:00
David Baker
ada4b6ef16
Lint
2018-10-09 15:46:12 +01:00
David Baker
59e6066579
Replace base58check with a simple parity check
...
base58check seems way overcomplicated for this purpose (plus the
module was exporting an es6 file, breaking the js-sdk build). A
parity check empirically detects single substitution and transposition
errors. Another option would be Luhn's algorithm.
2018-10-09 14:15:03 +01:00
David Baker
0aa3362671
Merge pull request #754 from matrix-org/dbkr/e2e_on_interslice
...
Make e2e work on Edge
2018-10-09 10:48:24 +01:00
David Baker
5873db7331
Merge remote-tracking branch 'origin/develop' into dbkr/wasm
2018-10-09 10:47:11 +01:00
David Baker
b3fe05ec81
Merge remote-tracking branch 'origin/develop' into dbkr/e2e_backups
2018-10-09 10:35:15 +01:00
David Baker
92fbf58b13
Merge pull request #758 from matrix-org/bwindels/betteridberrors
...
throw error with same name and message over idb worker boundary
2018-10-09 09:59:55 +01:00
Bruno Windels
a4b2cc84c7
Merge pull request #755 from matrix-org/travis/fix-vuln-warning
...
Default to a room version of 1 when there is no room create event
2018-10-08 09:55:10 +02:00
David Baker
89c3f6fa0e
Merge remote-tracking branch 'origin/develop' into dbkr/e2e_backups
2018-10-05 14:01:43 +01:00
David Baker
1395da694e
Merge pull request #757 from matrix-org/dbkr/gone_away_is_the_bluebird
...
Silence bluebird warnings
2018-10-05 13:25:16 +01:00
David Baker
264b20535e
Silence bluebird warnings
2018-10-05 12:13:05 +01:00
Bruno Windels
caba350b33
throw error with same name and message over idb worker boundary
...
instead of string currently thrown. This allows handling error
from the main thread.
2018-10-05 12:48:12 +02:00
Travis Ralston
d9fe194111
Default to a room version of 1 when there is no room create event
...
Fixes https://github.com/vector-im/riot-web/issues/7331
There is something to be worried about when there is no room create event, however. This should always be available, although due to cache problems or servers that don't provide the event we can't be sure of this.
2018-10-04 13:42:07 -06:00
Hubert Chathi
258adda67c
retry key backups when they fail
2018-10-04 15:19:20 -04:00
David Baker
40dc13b2e2
lint try 2
2018-10-04 15:38:08 +01:00
David Baker
4cda54ca1c
lint
2018-10-04 15:15:30 +01:00
David Baker
8116c5b3f7
Make e2e work on Edge
...
We were sucessfully opening indexeddb but any queries using compound
indicies were failing because Edge doesn't support them, so messages
were failing to decrypt with 'DataError'.
Try a dummy query at startup, so if it fails we fall back to a
different store (ie. end up using localstorage on Edge).
2018-10-04 13:49:32 +01:00
David Baker
35d584c67b
Remove outdated comment
2018-10-04 13:05:45 +01:00
David Baker
9504cbcc4f
Merge remote-tracking branch 'origin/develop' into dbkr/wasm
2018-10-04 11:19:37 +01:00
Bruno Windels
1dcc5127d0
Merge pull request #750 from matrix-org/bwindels/allownonffmerge
...
allow non-ff merge from release branch into master
2018-10-04 10:22:02 +02:00
Bruno Windels
6790699279
Merge pull request #739 from matrix-org/ben/new-examples
...
add new examples, to be expanded into a post
2018-10-04 10:21:36 +02:00
David Baker
85e3d7083c
Merge pull request #751 from matrix-org/dbkr/indexeddb_errors
...
Reject with the actual error on indexeddb error
2018-10-03 16:22:26 +01:00
David Baker
262ace1773
commit the recovery key util file
2018-10-03 10:20:57 +01:00
David Baker
7cd101d8cb
Fix recovery key format
2018-10-02 19:22:10 +01:00
David Baker
ce2058aea9
Merge branch 'dbkr/wasm' into dbkr/e2e_backups
2018-10-02 16:54:36 +01:00
David Baker
e9b0acaa8e
Merge remote-tracking branch 'origin/develop' into dbkr/e2e_backups
2018-10-02 16:50:37 +01:00
David Baker
bd2da08c4e
Reject with the actual error on indexeddb error
...
Rather than the event
2018-10-02 16:48:27 +01:00
Bruno Windels
0a88d419c6
allow non-ff merge from release branch into master
2018-10-01 17:21:01 +02:00
Bruno Windels
80c190db36
Merge branch 'master' into develop
2018-10-01 15:40:16 +02:00
Bruno Windels
550cf00ee7
Merge branch 'release-v0.11.1'
2018-10-01 15:36:37 +02:00
Ben Parsons
fbca7951fc
improvements suggested by Bruno
2018-10-01 14:29:24 +01:00
Bruno Windels
1e1358fcef
v0.11.1
2018-10-01 15:23:37 +02:00
Bruno Windels
fd1b3329f5
Prepare changelog for v0.11.1
2018-10-01 15:23:37 +02:00
Bruno Windels
9c9d8468a5
Merge pull request #744 from matrix-org/dbkr/update_mocha
...
Update mocha to v5
2018-09-28 12:57:49 +01:00
Bruno Windels
55ca03f100
make release compatible with latest release of hub (2.5)
2018-09-28 12:51:31 +02:00
Bruno Windels
83708725b2
check youre logged in with correct npm user when releasing
2018-09-28 11:16:00 +02:00
David Baker
6f59d62e5c
Merge pull request #748 from matrix-org/bwindels/nollforguests
...
disable lazy loading for guests as they cant create filters
2018-09-27 19:29:54 +01:00
Bruno Windels
1c348f0cdb
disable lazy loading for guests as they cant create filters
2018-09-27 18:55:21 +01:00
Bruno Windels
634596257d
v0.11.1-rc.1
2018-09-27 11:47:28 +01:00
Bruno Windels
5e4973a1dc
changelog
2018-09-27 11:45:33 +01:00
Bruno Windels
19f023e0ee
Revert "v0.11.1-rc.1"
...
This reverts commit 090c15fe19 .
2018-09-27 11:42:19 +01:00
Bruno Windels
090c15fe19
v0.11.1-rc.1
2018-09-27 11:38:25 +01:00
Bruno Windels
e8b307dc4f
Prepare changelog for v0.11.1-rc.1
2018-09-27 11:38:25 +01:00
Bruno Windels
056479d450
Revert "v0.11.1-rc.1"
...
This reverts commit 847d40e567 .
2018-09-27 11:35:52 +01:00
Bruno Windels
e5ebe2f888
Merge pull request #747 from matrix-org/bwindels/releasehubversion
...
make usage of hub compatible with latest version (2.5)
2018-09-27 11:30:17 +01:00
Bruno Windels
e8e1b431ad
make usage of hub compatible with latest version (2.5)
2018-09-27 11:28:01 +01:00
Bruno Windels
847d40e567
v0.11.1-rc.1
2018-09-27 11:20:21 +01:00
Bruno Windels
cf6c555e6a
Prepare changelog for v0.11.1-rc.1
2018-09-27 11:20:21 +01:00
Bruno Windels
b508aa9ebc
Merge pull request #746 from matrix-org/bwindels/resynconlltoggle
...
Detect when lazy loading has been toggled in client.startClient
2018-09-27 09:49:01 +01:00
Bruno Windels
5e7634506e
Merge branch 'develop' into bwindels/resynconlltoggle
2018-09-26 18:23:07 +01:00
Bruno Windels
ba39b64ced
re-enable test
2018-09-26 18:00:40 +01:00
David Baker
33ad65a105
Don't assume Olm will be available from start
...
By doing `Olm = global.Olm` on script load, we require that Olm is
available right from the start, which isn't really necessary. As
long as it appears some time before we actually want to use it,
this is fine (we can probably assume it's not going to go away
again..?)
This means Riot doesn't need to faff about making sure olm is
loaded before starting anything else.
2018-09-26 16:39:22 +01:00
Travis Ralston
fcebe89f6c
Merge branch 'hs/upload-limits' into develop
2018-09-26 09:14:12 -06:00
Bruno Windels
2d5eb920b8
pass lazy loading flag into error, to format message based on it
2018-09-26 16:12:30 +01:00
Travis Ralston
26de2c86ed
Merge pull request #745 from matrix-org/revert-644-hs/upload-limits
...
Revert "Add getMediaLimits to client"
2018-09-26 09:12:03 -06:00
Travis Ralston
cba1e95d0a
Revert "Add getMediaLimits to client"
2018-09-26 09:11:28 -06:00
Bruno Windels
78a5a88638
fix jsdoc lint and better naming
2018-09-26 12:49:33 +01:00
Bruno Windels
b7b9c67259
fix lint
2018-09-26 12:49:26 +01:00
Bruno Windels
54bff81470
clear sync data on toggling LL,also throw spec. error and delegate clear
...
the sync data needs to be cleared toggling in both directions:
not LL -> LL: you want to get rid of all the excess state in the
sync data to get the RAM benefits
LL -> not LL: you want to fill the sync data state again
because getOutOfBandMembers won't be called
2018-09-26 12:39:56 +01:00
David Baker
fe21972f4a
Update mocha to v5
...
Mostly to get the non-vulnerable version of node-growl
2018-09-26 11:36:06 +01:00
Bruno Windels
58e3c72446
only store serializable options (string, boolean, number)
2018-09-26 11:34:58 +01:00
Bruno Windels
6dd5c6c317
fix existing missing this
2018-09-26 11:33:19 +01:00
Bruno Windels
4e0af3eafe
don't return the IDBEvent from storeClientOptions
...
as it's not needed and not cloneable
2018-09-26 11:32:43 +01:00
Bruno Windels
1d0791142c
all store methods should return a promise
2018-09-26 11:32:11 +01:00
Bruno Windels
2560ba2980
dont clear the store if its a brand new one
2018-09-26 10:37:52 +01:00
Bruno Windels
19be3dd852
fix lint
2018-09-26 10:13:40 +01:00
Travis Ralston
40f2a6978b
Merge pull request #644 from Half-Shot/hs/upload-limits
...
Add getMediaLimits to client
2018-09-25 18:12:55 -06:00
Bruno Windels
1fd8c43d94
fix tests
2018-09-25 18:50:09 +01:00
David Baker
63cc3fd890
lint
2018-09-25 18:14:11 +01:00
David Baker
c556ca40b1
Support Olm with WebAssembly
...
wasm Olm has a new interface: it now has an init method that needs
to be called and the promise it returns waited on before the Olm
module is used. Support that, and allow Crypto etc to be imported
whether Olm is enabled or not. Change whether olm is enabled to
be async since now it will be unavailable if the async module init
fails. Don't call getOlmVersion() until the Olm.init() is done.
2018-09-25 17:49:54 +01:00
Matthew Hodgson
3e32f47903
Merge pull request #742 from matrix-org/travis/build-process
...
Split npm start into an init and watch script
2018-09-25 17:31:23 +01:00
Travis Ralston
8f2824186a
Split npm start into an init and watch script
...
This is to better support riot-web's build process without losing the functionality supplied by `npm start`. The watch script no longer performs an initial build and thus `start:init` has been created for this purpose.
2018-09-25 10:09:58 -06:00
Bruno Windels
b0dbb20e22
fixup of in memory stores
2018-09-25 15:53:40 +01:00
Bruno Windels
0519c4c6b1
await startClient and use promises also so error gets shown
2018-09-25 15:53:14 +01:00
Bruno Windels
28184b4a29
check if lazy loading was enabled before in startClient
2018-09-25 15:32:10 +01:00
Bruno Windels
76175abea2
allow storing client options in indexeddb
...
so we can tell what options the sync data was created with
2018-09-25 15:30:35 +01:00
Ben Parsons
d28f829b1c
add new examples, to be expanded into a post
2018-09-20 13:12:50 +01:00
Bruno Windels
184c3dce15
Merge pull request #738 from matrix-org/revert-733-bwindels/roomnamealias
...
Revert "room name should only take canonical alias into account"
2018-09-20 12:23:38 +02:00
David Baker
a08a3078da
Revert "room name should only take canonical alias into account"
2018-09-20 11:20:49 +01:00
David Baker
c2100d7622
Merge pull request #737 from matrix-org/bwindels/fixnamedisambiguation
...
fix display name disambiguation with LL
2018-09-20 10:22:38 +01:00
Bruno Windels
a91fa59174
fix display name disambiguation with LL
2018-09-19 18:14:18 +02:00
Bruno Windels
574a6b68ae
Merge pull request #735 from matrix-org/bwindels/fixstalerr
...
Introduce Room.myMembership event
2018-09-19 13:35:11 +02:00
David Baker
2f4c1dfcc4
Test all 3 code paths on backup restore
2018-09-18 17:33:47 +01:00
David Baker
1b62a21dbd
Free PkEncryption/Decryption objects
2018-09-18 16:12:37 +01:00
David Baker
a78825eff9
Bump to Olm 2.3.0 for PkEncryption
2018-09-18 15:06:28 +01:00
David Baker
0bad7b213e
Fix lint
...
Remove commented code block as it's not immediately obvious it makes
sense or is the right way of suggesting a key restore.
2018-09-18 14:56:11 +01:00
David Baker
e4bb37b1a8
Fix lint mostly
2018-09-18 14:53:59 +01:00
David Baker
54c443ac68
Make tests pass
2018-09-18 14:48:02 +01:00
David Baker
3af9af96ea
More linting
2018-09-17 19:31:37 +01:00
David Baker
f75d188131
Soe progress on linting
2018-09-17 19:25:42 +01:00
Bruno Windels
fc3a00054f
add test for new event
2018-09-17 19:33:36 +02:00
Bruno Windels
84e41c2ade
fix tests
2018-09-17 18:28:07 +02:00
Bruno Windels
4630733b55
don't fall back anymore to member, as this is more reliable
2018-09-17 18:23:48 +02:00
Bruno Windels
eb690e14e4
introduce Room.myMembership event
...
As you don't always have your own member with lazy loading
of members enabled, looking at the sync response section
where a room appears is the most reliable way of determining
the syncing user's membership in a room.
Before we already used this to read the
current room membership with `room.getMyMembership()`,
but we were still using the `RoomMember.membership` event
to detect when the syncing user's membership changed.
This event will help make those checks work well with LL enabled.
2018-09-17 18:20:49 +02:00
David Baker
009430e829
Add isValidRecoveryKey
...
Add method to check if a given string is a valid recovery key
2018-09-17 17:04:29 +01:00
David Baker
073fb73ff3
Make multi-room key restore work
2018-09-17 15:59:37 +01:00
David Baker
e789747834
Check sigs on e2e backup & enable it if we can
2018-09-14 17:06:27 +01:00
David Baker
833002f846
Merge pull request #733 from matrix-org/bwindels/roomnamealias
...
room name should only take canonical alias into account
2018-09-14 11:38:26 +01:00
David Baker
3838fab788
WIP e2e key backup support
...
Continues from uhoreg's branch
2018-09-13 17:01:05 +01:00
Bruno Windels
907e9fc476
fix lint
2018-09-13 10:04:31 +02:00
Bruno Windels
b829a39cd2
fix tests
2018-09-13 09:59:20 +02:00
Bruno Windels
daa7af0605
room name should only take canonical alias into account
2018-09-13 09:52:21 +02:00
David Baker
47a1adc864
Merge pull request #732 from matrix-org/bwindels/fixcontextstatenotwrapped
...
state events from context response were not wrapped in a MatrixEvent
2018-09-11 13:27:03 +01:00
Bruno Windels
98e448acdd
state events from context response were not wrapped in a MatrixEvent
2018-09-11 14:13:35 +02:00
David Baker
72bd51f26e
Merge remote-tracking branch 'origin/develop' into uhoreg-e2e_backups
2018-09-11 12:02:47 +01:00
David Baker
29db856322
Merge branch 'e2e_backups' of git://github.com/uhoreg/matrix-js-sdk into uhoreg-e2e_backups
2018-09-11 12:00:46 +01:00
David Baker
cd5cda916f
Merge branch 'master' into develop
2018-09-10 11:35:25 +01:00
David Baker
33a1139772
v0.11.0
2018-09-10 11:33:51 +01:00
David Baker
c5b62903f3
Prepare changelog for v0.11.0
2018-09-10 11:33:50 +01:00
David Baker
387fd16b40
v0.11.0-rc.1
2018-09-07 14:28:45 +01:00
David Baker
c91b67d370
Prepare changelog for v0.11.0-rc.1
2018-09-07 14:28:44 +01:00
David Baker
b809d1c263
Merge pull request #724 from matrix-org/bwindels/fastermemberinsert
...
Reduce amount of promises created when inserting members
2018-09-07 13:57:44 +01:00
David Baker
7bb6675abf
Merge pull request #726 from matrix-org/bwindels/dontwaitforstorage
...
dont wait for LL members to be stored to resolve the members
2018-09-07 13:57:20 +01:00
David Baker
b91bea94f4
Merge pull request #728 from matrix-org/bwindels/wrongemitargs
...
RoomState.members emitted with wrong argument order for OOB members
2018-09-07 13:57:09 +01:00
David Baker
96e21700bd
Merge pull request #727 from matrix-org/dbkr/conn_did_fail
...
Only emit CATCHUP if recovering from conn error
2018-09-07 13:31:17 +01:00
David Baker
7e8f25bce3
Include 404 in connectivity success error codes
2018-09-07 13:18:45 +01:00
Bruno Windels
9e02049b05
RoomState.members emitted with wrong argument order for OOB members
2018-09-07 14:11:27 +02:00
David Baker
affdfccd60
Only emit CATCHUP if recovering from conn error
...
Have the keepalive promise return a boolean indicating whether it
detected a connectivity failure or not. Use this to only emit
CATCHUP if there was a connectivity error, to try & suppress
the state flip-flopping back & forth between CATCHUP and ERROR
in the case where we have connectivity but the sync is returning
and error for whatever reason.
2018-09-07 11:29:44 +01:00
David Baker
402f8c27a9
Merge pull request #725 from matrix-org/dbkr/fix_sync_error_doc
...
Fix docstring for sync data.error
2018-09-07 09:44:28 +01:00
Bruno Windels
ba4dc6c60a
dont wait for LL members to be stored to resolve the members
...
this can easily add up to 100ms / 1000 of members
2018-09-07 10:44:06 +02:00
David Baker
6b8dd42547
Fox docstring for sync data.error
...
It's 'error', not 'err'
2018-09-06 19:53:52 +01:00
Bruno Windels
1511a27f4c
update/remove comments
2018-09-06 18:09:46 +02:00
Bruno Windels
7ae6c147fa
lint doesnt like async
2018-09-06 18:02:19 +02:00
Bruno Windels
f51630eb07
dont create a promise for every inserted member but await the transaction instead
2018-09-06 18:01:20 +02:00
Bruno Windels
e3586411e0
Merge pull request #723 from matrix-org/revert-721-revert-717-bwindels/fixllroompermission
...
Re-apply "Don't rely on members to query if syncing user can post to room"
2018-09-06 14:55:24 +02:00
David Baker
a0639a32c7
Revert "Revert "Don't rely on members to query if syncing user can post to room""
2018-09-06 11:47:40 +01:00
David Baker
759c6e77a7
Merge pull request #721 from matrix-org/revert-717-bwindels/fixllroompermission
...
Revert "Don't rely on members to query if syncing user can post to room"
2018-09-05 18:09:59 +01:00
David Baker
04ad3d7c3c
Revert "Don't rely on members to query if syncing user can post to room"
2018-09-05 18:04:19 +01:00
Bruno Windels
49badd9a2f
Merge pull request #717 from matrix-org/bwindels/fixllroompermission
...
Don't rely on members to query if syncing user can post to room
2018-09-05 13:07:29 +02:00
Bruno Windels
8b00083bca
check power levels without relying on membership
...
as this might not be known for the syncing user.
instead, add a method to room which always knows the syncing user's membership
2018-09-05 12:36:53 +02:00
Bruno Windels
3d98e324b5
Merge pull request #719 from matrix-org/bwindels/fixavatars-parttrois
...
Fixes for room.guessDMUserId
2018-09-04 18:17:39 +02:00
Bruno Windels
768c66313f
remove unneeded async keywords
2018-09-04 18:09:47 +02:00
Bruno Windels
3561fd1c05
Merge pull request #716 from matrix-org/bwindels/fixfilepanel
...
Fix filepanel also filtering main timeline with LL turned on.
2018-09-04 17:10:49 +02:00
Bruno Windels
a6c055b6d1
Merge pull request #711 from matrix-org/bwindels/clearidbmembersonleave
...
Remove lazy loaded members when leaving room
2018-09-04 16:53:56 +02:00
Bruno Windels
0d24c18fed
add comment to explain fix
2018-09-04 16:51:36 +02:00
Bruno Windels
dd8b2a79fb
Merge pull request #702 from matrix-org/bwindels/fixreconnectspinner
...
Fix: show spinner again while recovering from connection error
2018-09-04 16:39:38 +02:00
Bruno Windels
f0095611bc
add new CATCHUP state as breaking change
2018-09-04 16:38:46 +02:00
Bruno Windels
a3567f0918
some tests for room.guessDMUserId()
2018-09-04 13:01:45 +02:00
Bruno Windels
f0d3d0d74e
remove unneeded checks, we should always have enough heroes or members
2018-09-04 13:01:15 +02:00
Bruno Windels
3e32bc0d5d
check heroes is not falsy first, this would fail without LL
2018-09-04 13:00:34 +02:00
Bruno Windels
632e4aa120
pick the first member, dont need an array
2018-09-04 13:00:00 +02:00
Bruno Windels
2391ce198d
this method returns userId, not member
2018-09-04 12:59:37 +02:00
David Baker
e5e2bbd482
Merge branch 'master' into develop
2018-09-03 14:11:12 +01:00
David Baker
0b6632123b
v0.10.9
2018-09-03 14:09:24 +01:00
David Baker
b1801fc953
Prepare changelog for v0.10.9
2018-09-03 14:09:24 +01:00
Bruno Windels
ca1a1c4f28
Merge pull request #714 from matrix-org/bwindels/memberlist-spinner
...
Add method to query LL state in client
2018-09-03 15:05:13 +02:00
Bruno Windels
3363cc4f1d
shallow-clone the filter, so the timeline filter doesnt get written into it later on
2018-09-03 15:02:38 +02:00
Bruno Windels
f84684982f
add method to query LL state in client
2018-09-03 11:14:23 +02:00
Bruno Windels
3bed5969bf
remove count logging, approach confirmed to work and be according to idb spec
2018-09-03 10:27:00 +02:00
Bruno Windels
ebc162e3d8
do onLeft (which clears the LL members) as late as possible
...
to avoid chance that something might call loadMembersIfNeeded
on the room and load them back again.
2018-08-31 16:13:34 +02:00
Bruno Windels
f30136dba3
only clear promise at the end to avoid race between load and clear members
2018-08-31 16:12:54 +02:00
Bruno Windels
9b1926f902
also clear out lazy loaded members from storage
2018-08-31 16:11:37 +02:00
David Baker
d29524ba3f
Merge pull request #707 from matrix-org/bwindels/llinvites
...
Fix: also load invited members when lazy loading members
2018-08-31 14:09:42 +01:00
Bruno Windels
7258fe4e5c
clear out of band members in store when leaving room
2018-08-31 14:42:15 +02:00
Bruno Windels
f8ea1702f8
store support for removing out of band members for a room
2018-08-31 14:42:15 +02:00
David Baker
7582c28c1a
v0.10.9-rc.2
2018-08-31 13:40:37 +01:00
David Baker
5042eb87e7
Prepare changelog for v0.10.9-rc.2
2018-08-31 13:40:36 +01:00
David Baker
e8e80732ef
Merge pull request #710 from matrix-org/bwindels/avatarfixbis
...
Fix for "otherMember.getAvatarUrl is not a function"
2018-08-31 13:32:25 +01:00
David Baker
b8744a79ae
Merge pull request #708 from matrix-org/bwindels/avatarfixbis
...
Fix for "otherMember.getAvatarUrl is not a function"
2018-08-31 10:34:29 +01:00
Bruno Windels
414b153d28
also fallback to getting avatar from user
2018-08-31 11:05:06 +02:00
Bruno Windels
8e160dda8e
make sure getAvatarFallbackMember always returns a member
2018-08-31 11:03:26 +02:00
David Baker
9b54c9b807
Merge pull request #704 from matrix-org/dbkr/discardsession
...
Pass through function to discard megolm session
2018-08-30 18:25:50 +01:00
Bruno Windels
1bb608cdb6
remove filter for LL members so invite members are also sent
2018-08-30 17:29:16 +02:00
Bruno Windels
1239485b30
fix test
2018-08-30 15:42:15 +02:00
Bruno Windels
0d23d047fc
use CATCHUP state after ERROR before going back to SYNCING
2018-08-30 15:37:05 +02:00
Bruno Windels
d837ae64ac
triple =
2018-08-30 15:37:05 +02:00
Bruno Windels
d72a70396a
Pass through PREPARED state after error, when keepalive returns succes.
...
This is according to the state diagram in client.js.
This will show a spinner at the bottom of a room again
while the catchup sync is in progress,
which seems to have broken at some point.
2018-08-30 15:37:05 +02:00
David Baker
938772b86a
v0.10.9-rc.1
2018-08-30 14:16:14 +01:00
David Baker
3e88593a81
Prepare changelog for v0.10.9-rc.1
2018-08-30 14:16:14 +01:00
David Baker
60c01d7869
Revert b0b0291 and a6de395
...
To make tests pass again
2018-08-30 12:03:53 +01:00
David Baker
1cbcc61bd6
Merge pull request #706 from matrix-org/bwindels/fixdmavatar
...
Fix DM avatar
2018-08-30 11:43:07 +01:00
Bruno Windels
7f5a2974ce
allow self chats
2018-08-30 12:37:13 +02:00
Bruno Windels
3de3ea38b9
check heroes is present
2018-08-30 11:47:17 +02:00
Bruno Windels
3659e86d57
fix lint, actually get members as well
2018-08-30 11:41:35 +02:00
Bruno Windels
c335a6b3de
guess DM user id, used to patch up incorrect m.direct account data
2018-08-30 11:05:31 +02:00
Bruno Windels
267b831bc4
calculate fallback avatar for rooms with <= members but not DM
2018-08-30 11:05:05 +02:00
Bruno Windels
7ee93cb910
make sure our user is not in the summary heroes.
...
No reason to think it is right now, but if there is a server bug
we could end up showing your own avatar for a DM again.
Also convenience method as we add up invited + join count often
2018-08-30 11:04:32 +02:00
Matthew Hodgson
ae95a49618
spell out m.new_devices no longer exist
2018-08-29 20:20:52 +01:00
David Baker
8f98504183
jsdoc
2018-08-29 18:11:53 +01:00
David Baker
1b77ee0ef4
Pass through function to discard megolm session
...
To make debugging crypto slightly faster
2018-08-29 18:06:45 +01:00
Matthew Hodgson
a6de395cde
unbreak tests from b0b0291bc7
2018-08-28 18:03:59 +01:00
Bruno Windels
fcd6dd34b2
Merge pull request #699 from matrix-org/bwindels/fixlle2ememberfetch-bis
...
Lazy loading: avoid loading members at initial sync for e2e rooms
2018-08-28 15:36:42 +02:00
Bruno Windels
a6ebfe4215
typo
2018-08-28 15:31:20 +02:00
Bruno Windels
6a9158aa62
Merge pull request #700 from matrix-org/bwindels/fixllmegolmsession
...
Improve setRoomEncryption guard against multiple m.room.encryption st…
2018-08-28 15:30:16 +02:00
Matthew Hodgson
b0b0291bc7
hopefully fix invite_room_state as per https://github.com/vector-im/riot-web/issues/7229
2018-08-28 01:27:20 +01:00
Bruno Windels
85f1da1f10
revert unnecesary changes
2018-08-27 12:09:10 +02:00
Bruno Windels
c47445ca98
no need to just add a space now
2018-08-27 12:01:22 +02:00
Bruno Windels
4e25867548
revert to async event processing
...
without LL, we could refresh the device list before all members have been tracked.
as promises, even resolved ones (in case of no LL), always continue async
2018-08-27 11:56:46 +02:00
Bruno Windels
ad71bb30ac
add comment back as we kept flag in the end
2018-08-27 11:51:29 +02:00
Bruno Windels
362bf1895d
restore inhibitDeviceQuery param to avoid breaking change
2018-08-27 11:12:00 +02:00
Bruno Windels
7d00c0bd5a
make LL/non-LL flow in Crypto more alike by always going through _roomDeviceTrackingState
2018-08-27 10:54:08 +02:00
Bruno Windels
5e5994f166
try and fix tests
2018-08-27 10:54:08 +02:00
Bruno Windels
7247762b60
Also support not lazy-loading members in Crypto
2018-08-27 10:54:08 +02:00
Bruno Windels
21e0c79f7d
Revert "Revert "Lazy loading: don't block on setting up room crypto""
...
This reverts commit 5cf2ebea4f .
2018-08-27 10:54:08 +02:00
Bruno Windels
78b08bfef2
fix var declaration
2018-08-27 10:48:11 +02:00
Bruno Windels
ae7e90dc2f
do config comparison first to keep original error message
2018-08-27 10:39:14 +02:00
Hubert Chathi
bf873bde42
split the backup version creation into two different methods
2018-08-24 22:13:13 -04:00
Hubert Chathi
017f81e430
fix some bugs
2018-08-24 16:39:22 -04:00
Bruno Windels
0028bfbfc7
fix lint
2018-08-24 18:42:48 +02:00
Bruno Windels
60c9c403bd
Improve setRoomEncryption guard against multiple m.room.encryption state events
...
we were only bailing out when receiving a non JSON-identical m.room.encryption event.
When receiving an identical event, the algorithm in _roomEncryptors would be reset,
generating a new megolm session every time this happens (there is a LL synapse bug
where this happens on every sync).
As the _roomList is backed by indexeddb you might already have a config without the algorithm being present though,
so we first check for the room encryptor algorithm being present. If so, always bail out as setRoomEncryption was
already called for the given room.
If no algorithm is present, still check if the config is not being changed.
Also setup the roomlist and room encryption synchronously before awaiting
the indexeddb operation to store the room encryption config in roomlist.
2018-08-24 18:28:38 +02:00
David Baker
ec5fff2046
Merge branch 'e2e_backups' of git://github.com/uhoreg/matrix-js-sdk into uhoreg-e2e_backups
2018-08-24 13:29:29 +01:00
Bruno Windels
a7199a3d0d
Merge pull request #698 from matrix-org/revert-696-bwindels/fixlle2ememberfetch
...
Revert "Lazy loading: don't block on setting up room crypto"
2018-08-23 14:10:13 +02:00
Bruno Windels
5cf2ebea4f
Revert "Lazy loading: don't block on setting up room crypto"
2018-08-23 14:05:57 +02:00
David Baker
580e95605e
Merge pull request #696 from matrix-org/bwindels/fixlle2ememberfetch
...
Lazy loading: don't block on setting up room crypto
2018-08-23 12:41:33 +01:00
David Baker
8c3d1df3cf
Merge pull request #695 from matrix-org/dbkr/hide_replaced_rooms
...
Add getVisibleRooms()
2018-08-23 09:34:39 +01:00
David Baker
7c66f91429
Typo
2018-08-23 09:34:23 +01:00
Hubert Chathi
73e294b1bd
add copyright header to backup.spec
2018-08-23 00:29:29 -04:00
Hubert Chathi
e5ec479923
check that crypto is enabled
2018-08-23 00:27:30 -04:00
Hubert Chathi
75107f99b2
pass in key rather than decryption object to restoreKeyBackups
2018-08-23 00:26:21 -04:00
Hubert Chathi
fb8efe368a
initial draft of API for working with backup versions
2018-08-23 00:03:36 -04:00
Hubert Chathi
1faf477537
fix formatting and fix authedRequest usage
2018-08-22 23:58:59 -04:00
Bruno Windels
e3d108454c
fix test
2018-08-22 23:25:37 +02:00
Bruno Windels
806b40727d
fix lint
2018-08-22 23:00:27 +02:00
Bruno Windels
fa702efe8f
fix typo
2018-08-22 19:22:50 +02:00
Bruno Windels
344e3e18ab
start tracking room devices in background after finishing loading members
2018-08-22 19:13:18 +02:00
Bruno Windels
aea9eaa307
Only start tracking devices in an e2e room when needed
...
This way we can put off loading the members
2018-08-22 18:00:38 +02:00
Bruno Windels
dffe0b39b6
Merge pull request #697 from matrix-org/dbkr/joined_member_count_wrapper
...
Add wrapper around getJoinedMemberCount()
2018-08-22 17:44:59 +02:00
Bruno Windels
267d660527
add invite count to room as well
2018-08-22 17:42:30 +02:00
David Baker
4c3046f917
Add wrapper around getJoinedMemberCount()
...
On Room, because it's super confusing that Room has
getJoinedMembers() but not getJoinedMemberCount()
https://github.com/matrix-org/matrix-react-sdk/pull/2126 had assumed
that this method was on Room
2018-08-22 16:34:06 +01:00
Bruno Windels
71444b638b
don't block on setting up room crypto
...
this will load members in case of LL and could take quite some time
The two async actions performed by onCryptoEvent is saving the crypto config
to the roomlist store and fetching the room members to track.
Both are guarded against double calls so not awaiting this should be fine.
2018-08-22 14:45:36 +02:00
David Baker
962ec7bb53
Add getVisibleRooms()
...
To hide rooms that have been replaced
For https://github.com/vector-im/riot-web/issues/7164
2018-08-22 11:58:44 +01:00
Bruno Windels
52fad6aec2
Merge pull request #694 from matrix-org/hs/fetch-room-event-api
...
Api to fetch events via /room/.../event/..
2018-08-21 14:39:14 +02:00
Will Hunt
5b830f0b6a
Add fetchRoomEvent to base-apis.js
2018-08-21 11:07:48 +01:00
Will Hunt
3d24c8768f
Drop fetchRoomEvent from client.js
2018-08-21 11:07:37 +01:00
Bruno Windels
977b8625f8
Merge pull request #693 from matrix-org/dbkr/room_upgrades
...
Support for room upgrades
2018-08-21 11:22:08 +02:00
Will Hunt
df7dc04a1d
Happy linter, happy developer
2018-08-20 14:16:47 +01:00
David Baker
269d3cb086
Merge branch 'master' into develop
2018-08-20 13:49:20 +01:00
David Baker
4d310cd461
v0.10.8
2018-08-20 13:44:30 +01:00
David Baker
88c5c39fcb
Prepare changelog for v0.10.8
2018-08-20 13:44:29 +01:00
Will Hunt
79ca68300c
Add callback
2018-08-20 12:47:26 +01:00
Will Hunt
baca20b225
Add support for /rooms/$roomId/event/$eventId
2018-08-20 11:14:45 +01:00
David Baker
0e3cb1977f
lint
2018-08-17 15:00:54 +01:00
David Baker
8b1fa72877
Copyright & debadgering
2018-08-17 14:59:34 +01:00
David Baker
e8610a35b4
Support for room upgrades
...
For https://github.com/vector-im/riot-web/issues/7164
2018-08-17 14:55:12 +01:00
Bruno Windels
77e6442f73
Merge pull request #691 from matrix-org/bwindels/feature_lazyloading
...
Lazy loading of room members
2018-08-16 18:14:33 +02:00
David Baker
eeddfd4919
v0.10.8-rc.1
2018-08-16 15:17:36 +01:00
David Baker
fa16da86b3
Prepare changelog for v0.10.8-rc.1
2018-08-16 15:17:35 +01:00
Bruno Windels
372a628cab
fix log whitespace
2018-08-15 12:01:26 +02:00
Bruno Windels
2f4d8c3530
check with server if it supports member lazy loading
2018-08-15 12:01:26 +02:00
Bruno Windels
482eab0e2a
fix tests
2018-08-15 12:01:26 +02:00
Bruno Windels
03c63d9b12
use sync token for /members request, as synapse expects it now
2018-08-15 12:01:26 +02:00
Bruno Windels
07e87915ba
fix and add tests
2018-08-15 12:01:26 +02:00
Bruno Windels
91f2bf99c0
fix lint
2018-08-15 12:01:26 +02:00
Bruno Windels
535d59db4d
fixup
2018-08-15 12:01:26 +02:00
Bruno Windels
9739c3355a
undo postponing tracking device keys on turning on room encryption
2018-08-15 12:01:26 +02:00
Bruno Windels
827db37eef
fixup
2018-08-15 12:01:26 +02:00
Bruno Windels
0c6e47a5bc
await for LL members in getEncryptionTargetUsers
2018-08-15 12:01:26 +02:00
Bruno Windels
864ea749e5
Move /members fetching to room as getEncryptionTargetMembers needs it
2018-08-15 12:01:26 +02:00
Bruno Windels
5d92ec3b7b
prevent deadlock on startup
...
when loading the encrypted events from storage,
the code would wait for the encryption target users,
which would never come because you would only load them
when viewing the room.
This disabled starting to track the devices in the room
when the inhibitDeviceQuery is set.
2018-08-15 12:01:26 +02:00
Bruno Windels
733a3ed102
Defer encryption targeted users when OOB member loading hasn't started
2018-08-15 12:01:26 +02:00
Bruno Windels
b14be026b7
pass LL flag to room, to know if we should wait for lazy members at all
2018-08-15 12:01:26 +02:00
Bruno Windels
b4afe97289
spelling
2018-08-15 12:01:26 +02:00
Bruno Windels
43a7a607b2
fixup
2018-08-15 12:01:26 +02:00
Bruno Windels
a8bf66d8af
Make Room.getEncryptionTargetMembers async, as members might be loading
2018-08-15 12:01:26 +02:00
Bruno Windels
3616a07dbb
store /members promise on room while loading members
2018-08-15 12:01:26 +02:00
Bruno Windels
6609dfd410
initial support for lazy loading when calling /context
2018-08-15 12:01:26 +02:00
Bruno Windels
e3913bd397
Fix: missed call site while renaming prependStateEvents
2018-08-15 12:01:26 +02:00
Bruno Windels
8c01ed1469
add comments explaining why we ignore the put promise result
2018-08-15 12:01:26 +02:00
Bruno Windels
7aa0dcc89f
PR feedback, rename method
2018-08-15 12:01:26 +02:00
Bruno Windels
5285b22a76
bump version as making startClient async is a breaking change
2018-08-15 12:01:26 +02:00
Bruno Windels
0fa49bc2cd
PR feedback
2018-08-15 12:00:38 +02:00
Bruno Windels
01d8730850
cleanup, lint and docs
2018-08-15 12:00:38 +02:00
Bruno Windels
52149ce74a
Move LL filter creation inside MatrixClient
...
As we need an option to turn lazy loading on (we can't just accept a filter,
as /messages has an incompatible filter), better only pass the option
and create the filter inside startClient
2018-08-15 12:00:38 +02:00
Bruno Windels
bffc20612d
Fix: member avatar was always forward looking
...
applying itself all the way till the next member event
when back paginating
2018-08-15 12:00:38 +02:00
Bruno Windels
2c0eb19a27
Fix sentinels changing from underneath us!
...
As RoomMember contains the event in a nested object (events.member),
a shallow copy was not enough to be immutable.
This solution won't copy OOB flags but that's not neccesary
for sentinels.
2018-08-15 12:00:38 +02:00
Bruno Windels
748c4737f6
remove dead code
2018-08-15 12:00:38 +02:00
Bruno Windels
769d5113f7
prepend state from /messages to appropriate timeline/room state (excluding event context for now)
2018-08-15 12:00:38 +02:00
Bruno Windels
157be6da05
centralize creating a /messages request
...
so we only need to add LL filter once
2018-08-15 12:00:38 +02:00
Bruno Windels
1dc4b8bb63
add option for lazy loading to startClient
...
we need more than just a filter, which is what is passed in now,
so have an explicit option. For now still take the filter but later on
this could be created inside MatrixClient
2018-08-15 12:00:38 +02:00
Bruno Windels
f261599435
fix lint
2018-08-15 12:00:38 +02:00
Bruno Windels
2862b49057
Only return hero in getDMInviter if we were invited
2018-08-15 12:00:38 +02:00
Bruno Windels
a8d0d8f33d
provide method on room to help with DM detection with fallback to summary heroes/counts.
2018-08-15 12:00:38 +02:00
Bruno Windels
f55a2079bf
replace getMember(myId).membership with getMyMembership
...
This works with rooms which haven't had their members
loaded yet.
2018-08-15 12:00:38 +02:00
Bruno Windels
c0f706a2a2
move userId into room
2018-08-15 12:00:38 +02:00
Bruno Windels
b034f67a0f
add oob member methods to stub store
2018-08-15 12:00:38 +02:00
Bruno Windels
977b9eb686
implement memory store methods
2018-08-15 12:00:38 +02:00
Bruno Windels
5e11bf735e
store OOB status along with members, to avoid unneccesary fetching
...
for some small rooms, it is possible that calling /members would not
yield any previously unknown members, as they were all recently active.
This would be the case for most DMs.
For these rooms, we'd end up with 0 OOB members after lazy loading them,
so when getting them out of storage we need a way to distuinguist this case
from never having lazy loaded the members of the room at all.
We store a marker object in the same store and return [] or null accordingly.
This way the /members don't get fetched a second time.
2018-08-15 12:00:38 +02:00
Bruno Windels
a8c73f7a4d
add logging, should be useful as long as not merged into develop
2018-08-15 12:00:38 +02:00
Bruno Windels
86105611fc
we dont need a separate index?
2018-08-15 12:00:38 +02:00
Bruno Windels
0364af7337
update indexeddb store to store member events, not profile information
2018-08-15 12:00:38 +02:00
Bruno Windels
c618ce4625
store only out of band members
2018-08-15 12:00:38 +02:00
Bruno Windels
2b9c834476
add comment to clarify how we avoid race
2018-08-15 12:00:38 +02:00
Bruno Windels
d366ec9c48
prototype how we could store ll members
2018-08-15 12:00:38 +02:00
Bruno Windels
ca3981fba8
back-port infinite spinner fix as room state code changed considerably for lazy loading
2018-08-15 12:00:38 +02:00
Bruno Windels
bb490faefe
fix lint
2018-08-15 11:59:40 +02:00
Bruno Windels
d8f673ed51
make sure invited count cache gets reset when updating member
2018-08-15 11:59:40 +02:00
Bruno Windels
6ce7170cf4
counts from summary api should override count members manually as members might not be complete
2018-08-15 11:59:40 +02:00
Bruno Windels
1d71e7243f
no need to create new array here
2018-08-15 11:59:40 +02:00
Bruno Windels
cf08901d02
fix lint
2018-08-15 11:59:40 +02:00
Bruno Windels
230a9311a0
actually need to subtract one from join+invite count as that includes the syncing user
2018-08-15 11:59:40 +02:00
Bruno Windels
576f7142c1
just need the member names actually
2018-08-15 11:59:40 +02:00
Bruno Windels
20b4285849
add some tests for room name based on room summary + fix because it was actually broken
2018-08-15 11:59:40 +02:00
Bruno Windels
d67bdbf088
test accumulating summary fields
2018-08-15 11:59:40 +02:00
Bruno Windels
3a389793ff
fix sync accumulator test to include summary
2018-08-15 11:59:40 +02:00
Bruno Windels
f5ff5dc3e0
Fix name recalculation tests by not relying on mocking
...
I tried keeping the mocking but it would take too much
boilerplate code to make the tests work again, and even more
to write the tests for room name with lazy loading.
Just testing everything with a real implementation is not really
a unit test any more, but proved way easier.
It'll be somewhat annoying these tests will fail if there is
something wrong in roomstate (not room), but that's the trade-off
2018-08-15 11:59:40 +02:00
Bruno Windels
00bf5bdf69
unify member a bit access towards getMember
...
some tests for mock getMember, some for .members
if you use either in the code (as I did for room display name changes)
tests start playing and you play whack-a-mole switching between
both ways of accessing the members in a room.
lets start using one way so mocking becomes easier,
and besides, accessing an object internal members is not the best idea.
2018-08-15 11:59:40 +02:00
Bruno Windels
9541aa7dbf
fix lint
2018-08-15 11:59:40 +02:00
Bruno Windels
e61c6b89c8
bring room name calculation in line with summary spec, while maintaining some backwards compatibility
2018-08-15 11:59:40 +02:00
Bruno Windels
a5b3869e9f
add invited count, only copy summary fields if present in summary
...
only copy any member from summary as
they are only in the response when they change.
Also accumulate them in the sync accumulator
2018-08-15 11:59:40 +02:00
Bruno Windels
fbdce27db2
m.heros => m.heroes
2018-08-15 11:59:40 +02:00
Bruno Windels
148876f597
sorting should happen always
2018-08-15 11:59:40 +02:00
Bruno Windels
0cb533beca
no need to recalculate name here, as recalculate already does this
2018-08-15 11:59:40 +02:00
Bruno Windels
5811ebd6f3
Support summary heroes in room name calculation
...
Also clean-up algorithm, and remove assumption
that we have all members as much as possible
2018-08-15 11:59:40 +02:00
Bruno Windels
8fa87f8ba5
make room summary available to Room
...
from either the sync accumulator or the /sync endpoint
2018-08-15 11:59:40 +02:00
Bruno Windels
21ba4f71f6
jsdoc doesn't like generic promise type annotations
2018-08-15 11:59:40 +02:00
Bruno Windels
097e7df7c9
fix lint
2018-08-15 11:59:40 +02:00
Bruno Windels
83c6615d6e
move me || syncedmembership code into room.getmymembership
2018-08-15 11:59:40 +02:00
Bruno Windels
f6fafeaafb
store membership from during sync, because we might not have own membership
...
to determine where a room should show up in the room list, we need to know
our membership type. But with lazy loading, we might not have our own member
if we weren't recently active in the room. Using getSyncedMembership can be
used to fallback if the users membership is not yet available.
2018-08-15 11:59:40 +02:00
Bruno Windels
420a88c776
remove obsolete flag
2018-08-15 11:59:40 +02:00
Bruno Windels
5fcf9481b3
fix room not having access to event mapper + tests
2018-08-15 11:59:39 +02:00
Bruno Windels
48c3dcc08a
fix lint & fix and add tests
2018-08-15 11:59:39 +02:00
Bruno Windels
62333b3e2c
Use /members api for lazy loading
...
This commit is a substantial change, as /members returns state events,
not profile information as /joined_members, and this allows to simplify
the implementation quite a bit. We can assume again all members have
a state event associated with it.
I also changed most of the naming of lazy loaded members to
out-of-band members to reflect that this is the relevant bit for most
of the code, that the members didn't come through /sync but through
another channel.
This commit also addresses the race condition between /(joined_)members
and /sync. /members returns the members at the point in the timeline
at a given event id. Members are loaded at the last event
in the live timeline, and all members that come in from sync
in the mean time are marked as superseding the out of band members,
so they won't be overwritten, even if the timeline is reset in the
mean time.
Members are also marked if they originate from an out-of-band channel
(/members) so they can be stored accordingly (future PR).
The loading status is kept in room state now, as this made resolving
the race condition easier. One consequence is that the status needs
to be shared across cloned instances of RoomState. When resetting
the timeline (and cloning the room state) while lazy loading is in
progress, one of the RoomStates could be left in progress indefinitely.
Though that is more for clarity than avoiding any actual bugs.
2018-08-15 11:59:39 +02:00
Bruno Windels
df758b31b7
fix lint
2018-08-15 11:59:39 +02:00
Bruno Windels
9f08bfaa6f
room lazy loading tests + fix
2018-08-15 11:59:39 +02:00
Bruno Windels
198d2c780d
test that modifications to clone'd() room state dont affect the old
2018-08-15 11:59:39 +02:00
Bruno Windels
ab1c0dabae
make sure LL members don't needlessly get disambiguated during a clone
...
when cloning the state, lazy loaded members are copied over with their rawDisplayName,
which could originate from their userId if they don't have a displayname.
the displayname algorithm would assume that the displayname is explicitly set,
and see if we'd have to disambiguate. As a fix, if the display name is the same as the id, just return the id
2018-08-15 11:59:39 +02:00
Bruno Windels
0234f11914
some tests for room member + state, and some fixes to make them pass
2018-08-15 11:59:39 +02:00
Bruno Windels
79fcc9f343
only set the lazy members on the forward looking state of the live timeline
...
since back-paginating will also support lazy loading the state needed to display that part of the timeline, and no user interaction
is supposed to happen before the lazy loaded member are, well, loaded, applying the ll members to all timelines should not be neccessary.
2018-08-15 11:59:39 +02:00
Bruno Windels
031f722540
clarify that we only get joined members for now
2018-08-15 11:59:39 +02:00
Bruno Windels
531ccf1819
actually, comment should be 1 line higher
2018-08-15 11:59:39 +02:00
Bruno Windels
0d2ac42dc4
add comment to clarify corners cut in prototype
2018-08-15 11:59:39 +02:00
Bruno Windels
9ec6ea3bdf
2, not 3 times
2018-08-15 11:59:39 +02:00
Bruno Windels
1ce580bba3
test lazy loaded info is returned and then discarded when setting a state event
2018-08-15 11:59:39 +02:00
Bruno Windels
8ad2a94a90
make sure LL member doesn't override state event
...
extra safety check, as this should already not happen because of the check in RoomState
2018-08-15 11:59:39 +02:00
Bruno Windels
de3f75bc83
Lazy loaded members should never take precendence over members acquired through state events
2018-08-15 11:59:39 +02:00
Bruno Windels
008d85ed32
pick joined property out of response
2018-08-15 11:59:39 +02:00
Bruno Windels
5e30aff418
more consistent naming
2018-08-15 11:59:39 +02:00
Bruno Windels
5de0d39553
move the fact that we're prototyping only with joined members up the stack to client
...
only MatrixClient really needs to know that for now we only load joined members, the rest of the code can be generic for other membership types as that is the eventual plan, to also support invites at least.
2018-08-15 11:59:39 +02:00
Bruno Windels
d95d44dc94
move error handling to caller
2018-08-15 11:59:39 +02:00
Bruno Windels
6061deac37
use method for getting state event, less code
2018-08-15 11:59:39 +02:00
Bruno Windels
ba34a766e7
fix lint
2018-08-15 11:59:39 +02:00
Bruno Windels
1c81a17298
Fix tests
...
getSentinelMember now does return a member (with just the userid) when there is no corresponding member yet.
With lazy loading it's perfectly possible the member is not available, and null breaks continuation in the timeline.
2018-08-15 11:59:39 +02:00
Bruno Windels
2097b31d4f
handle failed /joined_members call by logging to console and reverting flag
2018-08-15 11:59:39 +02:00
Bruno Windels
2155dd0552
improve return type comment
2018-08-15 11:59:39 +02:00
Bruno Windels
8733654094
remove left-over test code, oops
2018-08-15 11:59:39 +02:00
Bruno Windels
abd15748ce
fix one lint warning too many
2018-08-15 11:59:39 +02:00
Bruno Windels
9a796f1383
fix lint errors
2018-08-15 11:59:39 +02:00
Bruno Windels
88f2f62945
make resetting the live timeline work with lazily loaded members
...
In order for the lazy loading logic not to bleed into all corners
of the JS SDK, I moved some of the state copying between timelines
over to the RoomState and EventTimeLine class.
2018-08-15 11:59:39 +02:00
Bruno Windels
30adefed07
return sentinels with userid if members haven't been loaded yet,
...
better than braking timeline continuation
2018-08-15 11:59:39 +02:00
Bruno Windels
20a1828fa5
make sentinels lazy loading compatible
...
dont just rely on member events, but just copy the member
2018-08-15 11:59:39 +02:00
Bruno Windels
809674ca2b
set lazily loaded members on all RoomStates of a room
...
for all timelines in all timeline sets
2018-08-15 11:59:39 +02:00
Bruno Windels
0ca3475878
make method to get mxc avatar url public
...
so MemberInfo can use it and take lazy loading into account
2018-08-15 11:59:39 +02:00
Bruno Windels
32b741e205
use more consistent naming
2018-08-15 11:59:39 +02:00
Bruno Windels
c917c4a468
return correct invite sender in case of a join
2018-08-15 11:59:39 +02:00
Bruno Windels
6c584d2b4c
keep is_direct checks inside RoomMember as events.member might not be available
2018-08-15 11:59:39 +02:00
Bruno Windels
759d415d40
preserve member state event if available when lazy loading members
2018-08-15 11:59:39 +02:00
Bruno Windels
45d86fa270
emit individual events for lazily loaded members
...
emit individual RoomState.members/newMember events
for each lazily loaded member as batch events are not a thing.
This makes updating the memberlist work
2018-08-15 11:59:39 +02:00
Bruno Windels
2c5cad71ee
prototype support for lazily loading members in matrixclient
2018-08-15 11:59:39 +02:00
Bruno Windels
2b5925b893
Support for updating members in RoomState from lazily loaded members
2018-08-15 11:59:39 +02:00
Bruno Windels
f012ada2c4
add setter on RoomMember to update from lazily loaded member
2018-08-15 11:59:07 +02:00
Bruno Windels
af1b26ae95
Merge pull request #689 from matrix-org/dbkr/show_room_version
...
Add getVersion to Room
2018-08-14 17:54:09 +02:00
David Baker
f72f5b43e1
Add getVersion to Room
...
To get the version number of the room as per https://github.com/matrix-org/matrix-doc/issues/1425
2018-08-14 14:27:08 +01:00
Hubert Chathi
d55618921b
initial implementation of e2e key backup and restore
2018-08-07 23:10:55 -04:00
Bruno Windels
c7e1e07262
Merge pull request #680 from matrix-org/dbkr/getsyncstatedata
...
Add getSyncStateData()
2018-08-06 10:51:21 +02:00
Bruno Windels
24a1bec23d
Merge pull request #679 from matrix-org/dbkr/chairman_mau_pt_3_sync_error
...
Send sync error to listener
2018-08-03 19:06:17 +02:00
David Baker
89ad104423
Add getSyncStateData()
...
To get additional information about the sync state (ie. the error
object).
2018-08-03 18:00:52 +01:00
David Baker
c2f3324302
Send sync error to listener
...
We do this in other places, but not here
2018-08-03 16:59:10 +01:00
Michael Telatynski
04a969b997
Merge pull request #675 from matrix-org/bwindels/nocrashoninvalidtags
...
make sure room.tags is always a valid object to avoid crashes
2018-08-01 23:03:51 +01:00
Bruno Windels
630dfa9499
make sure room.tags is always a valid object so no crashes happen later on
2018-07-31 15:33:56 +02:00
Bruno Windels
95668950c2
Merge pull request #673 from matrix-org/bwindels/infinite_spinner
...
Fix infinite spinner upon joining a room
2018-07-31 14:57:04 +02:00
Bruno Windels
3012501e4b
update docs to clarify state when emitting newMember
2018-07-30 14:19:45 +02:00
David Baker
0e81dfb004
v0.10.7
2018-07-30 11:40:08 +01:00
David Baker
35b7f358b6
Prepare changelog for v0.10.7
2018-07-30 11:40:08 +01:00
Bruno Windels
e3e48944e0
add test
2018-07-27 11:49:55 +02:00
Bruno Windels
94bbba72f5
add member to members before emitting any events
2018-07-27 11:35:19 +02:00
Michael Telatynski
b34716f7e9
take into account homoglyphs when calculating similar display names
...
to prevent homoglyph attacks
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2018-07-26 14:55:35 +01:00
David Baker
c429ca67b9
v0.10.7-rc.1
2018-07-24 18:15:14 +01:00
David Baker
bce2ba0785
Prepare changelog for v0.10.7-rc.1
2018-07-24 18:15:13 +01:00
Matthew Hodgson
2613690064
Merge pull request #666 from matrix-org/matthew/encrypt-for-invited-users
...
encrypt for invited users if history visibility allows.
2018-07-10 16:14:45 +01:00
David Baker
7283076bc8
Fix Users / Members mixup
2018-07-09 17:16:23 +01:00
David Baker
f43d05b54e
Merge branch 'master' into develop
2018-07-09 13:07:40 +01:00
David Baker
c6b500bc09
v0.10.6
2018-07-09 13:06:07 +01:00
David Baker
c3972015c7
Prepare changelog for v0.10.6
2018-07-09 13:06:06 +01:00
David Baker
3c18c57857
v0.10.6-rc.1
2018-07-06 15:40:55 +01:00
David Baker
f562a06707
Prepare changelog for v0.10.6-rc.1
2018-07-06 15:40:54 +01:00
Michael Telatynski
7f50dd205f
displayname disambiguation fixes ( #662 )
...
* fix displayname=undefined being disambiguated and strip Zero Width chars
* also strip diaritics and whitespace
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2018-07-06 10:42:53 +01:00
David Baker
c4fe15400c
Merge pull request #665 from matrix-org/luke/feature-expose-decryption-error-2
...
Expose event decryption error via Event.decrypted event
2018-07-05 11:02:26 +01:00
David Baker
6e3e8f7310
Merge pull request #663 from matrix-org/luke/feature-decryption-error-codes
...
Add decryption error codes to base.DecryptionError
2018-07-05 11:00:33 +01:00
Matthew Hodgson
5ae2c26130
lint
2018-07-05 02:01:10 +02:00
Matthew Hodgson
d8d35f4022
encrypt for invited users if history visibility allows.
...
fixes https://github.com/vector-im/riot-web/issues/2713
2018-07-05 01:45:45 +02:00
Luke Barnard
fadb4d9219
Send OLM_UNKNOWN_MESSAGE_INDEX when possible
2018-07-04 15:58:45 +01:00
Luke Barnard
b63149b36a
Fix error code for Olm group message decryption
2018-07-04 14:33:02 +01:00
Luke Barnard
79f92abcfa
Add jsdoc for Event.decrypted error
2018-07-04 14:28:15 +01:00
Luke Barnard
0137fb468b
Expose event decryption error via Event.decrypted event
2018-07-04 13:56:03 +01:00
Luke Barnard
70ef8760cc
Remove spurious console.dir
2018-07-04 11:56:02 +01:00
Luke Barnard
c74d2d831b
Add decryption error codes to base.DecryptionError
...
These should roughly follow https://github.com/matrix-org/matrix-ios-sdk/blob/9732cf593206a10d2b60cd01151a759c88c1e9a2/MatrixSDK/Crypto/Algorithms/MXDecryptionResult.h#L21-L39
2018-07-04 11:54:06 +01:00
David Baker
0415f821eb
v0.10.5
2018-06-29 11:32:23 +01:00
David Baker
779fe35255
Prepare changelog for v0.10.5
2018-06-29 11:32:22 +01:00
Will Hunt
aec7ef6f9c
getMediaLimits -> getMediaConfig
2018-06-23 14:38:39 +01:00
Will Hunt
329f09ce0a
Media/limits => /config
2018-06-23 14:38:39 +01:00
Will Hunt
68c23af5ae
Remove extra return
2018-06-23 14:38:39 +01:00
Will Hunt
a54f30c02f
Add getMediaLimits to client
2018-06-23 14:38:39 +01:00
Will Hunt
fde00b1c62
getMediaLimits -> getMediaConfig
2018-06-23 12:57:29 +01:00
David Baker
11382d2cd7
v0.10.5-rc.1
2018-06-21 10:01:05 +01:00
David Baker
ef31131a5d
Prepare changelog for v0.10.5-rc.1
2018-06-21 10:01:05 +01:00
Will Hunt
8dd425f8ff
Media/limits => /config
2018-06-20 17:24:45 +01:00
David Baker
76feabe32b
Merge pull request #659 from matrix-org/t3chguy/media_fixes
...
fix auth header and filename=undefined
2018-06-18 13:46:59 +01:00
Michael Telatynski
7fe3e2f90a
invert argument to make it positive without breaking backwards compat
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2018-06-18 12:27:25 +01:00
Michael Telatynski
c0b2151929
allow omitting filename from upload entirely
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2018-06-15 18:25:20 +01:00
Michael Telatynski
5e3b1bf6b0
use Authorization header in media/v1/upload if enabled, instead of query
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2018-06-15 09:57:30 +01:00
Michael Telatynski
fdf4523c2a
export the Group model class ( #656 )
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2018-06-14 13:52:13 +01:00
David Baker
c6cf76f345
Merge branch 'master' into develop
2018-06-12 14:13:15 +01:00
David Baker
f16e544691
v0.10.4
2018-06-12 14:11:07 +01:00
David Baker
df101217fc
Prepare changelog for v0.10.4
2018-06-12 14:11:07 +01:00
David Baker
5d90dc16cc
Merge pull request #650 from matrix-org/t3chguy/audio_output
...
allow setting the output device for webrtc calls
2018-06-08 15:57:25 +01:00
David Baker
bbfc1a1cd6
Merge pull request #596 from t3chguy/t3chguy/fix-docs
...
arguments true and false are actually invalid
2018-06-08 15:21:23 +01:00
Michael Telatynski
b7208c12ac
Merge pull request #643 from matrix-org/t3chguy/content-type-bugfix
...
fix typo where `headers` was not being used and thus sent wrong content-type
2018-06-08 12:29:35 +01:00
Michael Telatynski
eaa2fdec44
Merge pull request #642 from matrix-org/t3chguy/doc_fixes
...
fix some documentation typos
2018-06-08 12:17:48 +01:00
David Baker
7099adfe79
v0.10.4-rc.1
2018-06-06 15:40:02 +01:00
David Baker
cb17a2bcb0
Prepare changelog for v0.10.4-rc.1
2018-06-06 15:40:01 +01:00
Michael Telatynski
172044a1cb
check whether notif level is undefined, because 0 is falsey ( #651 )
...
* check whether notif level is undefined, because `0` is falsey and it failed
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
* improve number check for all m.room.power_levels related stuffs
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2018-05-29 12:11:29 +01:00
Matthew Hodgson
69204d4fb3
Merge branch 'develop' into matthew/e2e_backups
2018-05-28 00:44:49 +01:00
Michael Telatynski
4b203b6b63
allow setting the output device for webrtc calls
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2018-05-26 16:44:27 +01:00
David Baker
67876bab4c
v0.10.3
2018-05-25 15:09:24 +01:00
David Baker
6ce691e40f
Prepare changelog for v0.10.3
2018-05-25 15:09:23 +01:00
David Baker
9cd44b09f9
v0.10.3-rc.1
2018-05-24 18:16:59 +01:00
David Baker
73a2704126
Prepare changelog for v0.10.3-rc.1
2018-05-24 18:16:58 +01:00
Luke Barnard
a50dd785b8
(Breaking Change) Add erase option to deactivateAccount ( #649 )
...
For erasing messages etc. after deactivation.
**Breaking change: `deactivateAccount` no longer takes callback**
Also: Move /account/deactivate from PREFIX_UNSTABLE to _R0
2018-05-24 10:47:41 +01:00
Luke Barnard
bafbe5cbec
Emit no_consent when M_CONSENT_NOT_GIVEN received ( #647 )
2018-05-22 18:02:21 +01:00
Leon
9cdcbf6bf8
emit oldEventId on "updatePendingEvent"
...
It should fire `Room.localEchoUpdated` event and returns the oldEventId
2018-05-22 11:27:05 +08:00
Will Hunt
9596087959
Remove extra return
2018-05-03 17:57:57 +01:00
Will Hunt
6570402b95
Add getMediaLimits to client
2018-05-03 13:43:37 +01:00
David Baker
4153845346
v0.10.2
2018-04-30 13:29:26 +01:00
David Baker
548713ed98
Prepare changelog for v0.10.2
2018-04-30 13:29:25 +01:00
Michael Telatynski
1bf1ce7070
fix typo where headers was not being used and thus sent wrong mime
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2018-04-30 06:56:43 +01:00
David Baker
21dc0fbf2f
v0.10.2-rc.1
2018-04-25 14:57:08 +01:00
David Baker
7b29de9698
Prepare changelog for v0.10.2-rc.1
2018-04-25 14:57:08 +01:00
Michael Telatynski
7d468ee148
Replies ( #607 ) (and Content Helpers)
...
* if event has `m.relates_to` extract this into the e2e-wrapper event
* Split out helpers to make content for {HTML,text}{emote,notice,message}
So that additional content fields can be added before sending
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2018-04-23 14:26:40 +01:00
Michael Telatynski
260e7b529f
fix some documentation typos
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2018-04-15 23:31:33 +01:00
Michael Telatynski
b027089fc1
use constants
2018-04-15 22:16:25 +01:00
David Baker
8f318528f8
Merge branch 'master' into develop
2018-04-12 12:17:45 +01:00
David Baker
9696e70817
v0.10.1
2018-04-12 12:06:25 +01:00
David Baker
85580acbff
Prepare changelog for v0.10.1
2018-04-12 12:06:24 +01:00
David Baker
c45a5f7e84
Name param slightly more helpfully
2018-04-12 12:00:41 +01:00
David Baker
df74b0b038
Ignore inserts of dup inbound group sessions, pt 2
...
Stop the error from propagating to the txn error handler and
aborting the rest of the transaction.
2018-04-12 12:00:32 +01:00
David Baker
749e5b8458
Use the name of the error, not the request
2018-04-12 12:00:23 +01:00
David Baker
1255566324
Error message formatting
2018-04-12 12:00:11 +01:00
David Baker
a25da4ebf4
Ignore inserts of duplicate inbound group sessions
...
Rather than aborting the whole txn
This is causing e2e migration fails in the wild
2018-04-12 11:59:59 +01:00
David Baker
72835f3c5f
lint
2018-04-12 11:59:46 +01:00
David Baker
c4f52f6256
Fix error logging
2018-04-12 11:59:32 +01:00
David Baker
3eb9505633
Log IDB errors
2018-04-12 11:58:33 +01:00
David Baker
543a0be1e4
Merge pull request #641 from matrix-org/dbkr/ignore_duplicate_inbound_group_session_2
...
Ignore inserts of dup inbound group sessions, pt 2
2018-04-12 11:25:54 +01:00
David Baker
5ef21c5075
Name param slightly more helpfully
2018-04-12 11:20:45 +01:00
David Baker
5c412cc0bd
Ignore inserts of dup inbound group sessions, pt 2
...
Stop the error from propagating to the txn error handler and
aborting the rest of the transaction.
2018-04-12 11:15:39 +01:00
David Baker
346deb4b0d
Use the name of the error, not the request
2018-04-11 18:57:52 +01:00
David Baker
6f8f30b018
Error message formatting
2018-04-11 18:56:17 +01:00
David Baker
b808757012
Merge pull request #639 from matrix-org/dbkr/ignore_duplicate_inbound_group_session
...
Ignore inserts of duplicate inbound group sessions
2018-04-11 18:31:43 +01:00
David Baker
5e491bb89a
Ignore inserts of duplicate inbound group sessions
...
Rather than aborting the whole txn
This is causing e2e migration fails in the wild
2018-04-11 17:27:25 +01:00
David Baker
fc3cb0dd45
lint
2018-04-11 16:09:28 +01:00
David Baker
0846cb04af
Fix error logging
2018-04-11 16:02:56 +01:00
David Baker
9708394846
Merge pull request #638 from matrix-org/dbkr/idb_log_error
...
Log IDB errors
2018-04-11 15:42:14 +01:00
David Baker
92e4396602
Log IDB errors
2018-04-11 15:37:28 +01:00
Luke Barnard
a5870b73a9
Merge branch 'master' into develop
2018-04-11 11:39:26 +01:00
Luke Barnard
77ff6b9088
v0.10.0
2018-04-11 11:38:08 +01:00
Luke Barnard
425e74f297
Prepare changelog for v0.10.0
2018-04-11 11:38:08 +01:00
Luke Barnard
ffa184464e
v0.10.0-rc.2
2018-04-09 15:29:09 +01:00
Luke Barnard
eca68e9e7f
Prepare changelog for v0.10.0-rc.2
2018-04-09 15:29:09 +01:00
David Baker
dd1bc8ec9a
Update to new join policy API ( #636 )
2018-04-09 14:58:13 +01:00
Luke Barnard
24dc1d6991
Add wrapped to set group is_joinable ( #634 )
...
which is exposed in the summary API under `summary.profile.is_joinable`.
If true, anyone can join the group. If false, an invite is required.
2018-04-09 14:58:06 +01:00
Luke Barnard
9f510b7eee
Add wrapper for group join API ( #633 )
...
Needed for new "joinable" groups.
2018-04-09 14:57:57 +01:00
David Baker
730ca9b60b
Update to new join policy API ( #636 )
2018-04-05 17:02:43 +01:00
Luke Barnard
1afaf903f9
Add wrapped to set group is_joinable ( #634 )
...
which is exposed in the summary API under `summary.profile.is_joinable`.
If true, anyone can join the group. If false, an invite is required.
2018-03-29 17:03:20 +01:00
Luke Barnard
d53cd41aa6
Add wrapper for group join API ( #633 )
...
Needed for new "joinable" groups.
2018-03-29 12:42:16 +01:00
David Baker
3e5ea745d2
Merge pull request #632 from matrix-org/dbkr/remove_ignore_call_log
...
Remove not very useful but veryv spammy log line
2018-03-27 18:28:08 +01:00
David Baker
c7052f7dc7
Remove not very useful but veryv spammy log line
2018-03-27 18:21:03 +01:00
Richard Lewis
56b01df85b
Merge pull request #628 from matrix-org/rxl881/stickerEvent
...
Switch event type to m.sticker.
2018-03-22 10:16:40 +00:00
David Baker
aa18eeb7d6
v0.10.0-rc.1
2018-03-19 12:08:11 +00:00
David Baker
c18264c615
Prepare changelog for v0.10.0-rc.1
2018-03-19 12:08:11 +00:00
David Baker
11746290a9
Merge pull request #630 from matrix-org/dbkr/fix_repeat_state_events_on_unpeek
...
Fix duplicated state events in timeline from peek
2018-03-16 15:44:38 +00:00
David Baker
16c062c069
Start first incremental sync request early ( #629 )
...
* Start first incremental sync request early
So it can run while we process our sync data.
2018-03-16 15:22:06 +00:00
David Baker
64396de0dc
Fix duplicated state events in timeline from peek
...
When joining a room we were peeking into, we duplicated all the
state events into the timeline. Put back the old behaviour of just
setting them as state events, with copious commentary on how wrong
this seems.
2018-03-15 17:35:18 +00:00
Richard Lewis
8ff78c5d60
Switch event type to m.sticker.
2018-03-12 13:56:50 +00:00
David Baker
349297e495
Merge pull request #627 from matrix-org/dbkr/indexeddb_worker_on_start
...
Create indexeddb worker when starting the store
2018-03-09 17:43:15 +00:00
David Baker
dc3ffb3b30
Fix jsdoc
2018-03-09 17:39:02 +00:00
David Baker
5c2dfb138a
Hopefully clarify _startPromise
2018-03-09 17:35:03 +00:00
David Baker
0be679de42
Make local variable look less like a global
2018-03-09 17:31:08 +00:00
David Baker
8bd68e0f10
Create indexeddb worker when starting the store
...
Rather than when creating it, otherwise we could potentially end
up starting workers unnecessarily.
2018-03-09 16:53:27 +00:00
David Baker
df70e16b4d
Merge pull request #626 from matrix-org/dbkr/fix_indexeddb_logging
...
Fix indexeddb logging
2018-03-09 10:29:53 +00:00
David Baker
b246545da5
Merge remote-tracking branch 'origin/develop' into dbkr/fix_indexeddb_logging
2018-03-09 10:21:00 +00:00
David Baker
3280cb648f
Merge pull request #625 from matrix-org/dbkr/stop_spinner_of_doom
...
Don't do /keys/changes on incremental sync
2018-03-09 10:19:26 +00:00
David Baker
8798bf42e6
Fix indexeddb logging
...
1. Fix double 'loaded' on sync data logging
2. Move the 'loaded' message into the bit where the data has
actually loaded rather than the promise try block.
3. Add '...' to the 'loading' messages so they're easier to tell
apart from the 'loaded' messages.
2018-03-09 10:16:32 +00:00
David Baker
5a23927e56
Move comment up
2018-03-09 10:09:36 +00:00
Matthew Hodgson
beafd597dd
ensure indexeddb workers are never double-connected
2018-03-09 02:18:19 +00:00
Matthew Hodgson
fbc43b0d58
stupid typo
2018-03-09 00:01:14 +00:00
David Baker
facfcf679d
DeviceList: bring save forward if necessary
...
If save is called with a delay that would want the save to happen
sooner then the save we currently have scheduled, cancel the
current save and schedule a new one for the sooner time.
2018-03-08 15:35:35 +00:00
Luke Barnard
68b230a78f
Add function to cancel and resend key request ( #624 )
2018-03-08 15:01:01 +00:00
David Baker
3d1fcc6f83
One day I'll learn to spell guaranteed
2018-03-08 14:26:48 +00:00
David Baker
a0578efeb9
fix tests
2018-03-08 13:52:48 +00:00
David Baker
727ad5755e
lint
2018-03-08 12:40:01 +00:00
David Baker
4f17352858
Don't do /keys/changes on incremental sync
...
Remove the call to /keys/changes when we do an incremental syn
where the old sync token doesn't match the one in the device list
store. To allow us to do this, always save the device list store
before saving the sync data, so we can safely assume the device
list store is at least as fresh as the sync token in the sync store.
Thread save functions through to allow this, add a delay parameter
so the sync can save the device list immediately and skip the wait,
and add a wantsSave() method so the sync can skip saving the device
list if the sync store isn't going to save anyway.
Fixes https://github.com/vector-im/riot-web/issues/6068
2018-03-08 12:33:08 +00:00
David Baker
0eb72122ce
Merge pull request #623 from matrix-org/dbkr/devicelist_is_too_dirty
...
Don't mark devicelist dirty unnecessarily
2018-03-07 17:55:38 +00:00
David Baker
66e2b3bb70
Don't mark devicelist dirty unnecessarily
...
This was marking the device list as dirty even when nothing had
actually changed, causing unnecessary saves.
2018-03-07 17:32:51 +00:00
David Baker
5f12d858eb
Keep a push processor and re-use it. ( #622 )
...
Because it does some nice caching stuff but that's no good if we
re-create a new one each time.
2018-03-06 19:01:30 +00:00
Luke Barnard
e258d6ca8d
Fix bug in crypto-store-backend; use oncomplete ( #620 )
...
instead of onsuccess for the txn to add an outgoing room key
request.
2018-03-02 12:01:21 +00:00
David Baker
2d25dedbcc
Merge pull request #619 from matrix-org/dbkr/cache_joined_member_count
...
Cache the joined member count for a room state
2018-02-26 16:56:26 +00:00
David Baker
bdf6fcb222
Fix tests
2018-02-26 16:53:17 +00:00
David Baker
7e1cea1ef6
Cache the joined member count for a room state
...
Pushrule evaluation needs the count of joined room members and
filtering the list for joined members takes a nontrivial amount
of time, but caching it is trivial, both code and memory wise.
2018-02-26 16:43:26 +00:00
Richard Lewis
d98c803b54
Merge pull request #618 from matrix-org/rxl881/stickers
...
Fix JS doc
2018-02-23 15:52:42 +00:00
Matthew Hodgson
95238466b5
Merge pull request #617 from matrix-org/dbkr/fix_push_actions_frozen_matrixevents
...
Precompute push actions for state events
2018-02-23 14:32:11 +00:00
Matthew Hodgson
71652043a0
improve doc
2018-02-23 14:31:51 +00:00
David Baker
c9cbaf254b
Precompute push actions for state events
...
State events get froze now, so we can't write to the push actions
cache after having done so: precompute the push actions to work
around this.
2018-02-23 11:06:22 +00:00
David Baker
f9cc5cbd33
Merge pull request #616 from matrix-org/luke/fix-unverified-device-blacklist
...
Fix bug where global "Never send to unverified..." is ignored
2018-02-23 10:11:59 +00:00
Luke Barnard
bcb9405793
Instead of emitting, rely on the promise
2018-02-22 18:41:18 +00:00
Luke Barnard
30cb6f196f
Fix overriding undefined per-room unverified devices setting
...
If the per-room setting for preventing sending keys to unverified
devices is `undefined`, it overrides the global setting (which
could be `true`).
2018-02-22 18:02:39 +00:00
Luke Barnard
856ef01632
Emit a crypto.initComplete once crypto is initialised
...
So that the app can call crypto-dependent functions at
the correct point in time.
2018-02-22 17:59:37 +00:00
David Baker
6f95554655
Merge pull request #615 from matrix-org/dbkr/intern_legacy_membership
...
Intern legacy top-level 'membership' field
2018-02-22 17:01:38 +00:00
David Baker
a72f915646
Intern legacy top-level 'membership' field
...
There is a legacy top-level 'membership' field on events. We were
interning the normal one in 'content', but not this one, so the
legacy field was still keeping a copy of the string 'join' / 'leave'
etc in memory for every member event.
This make the interning code know about this field.
2018-02-22 16:04:35 +00:00
Matthew Hodgson
94605417f6
Merge pull request #598 from matrix-org/t3chguy/implicit_rr_redaction
...
Don't synthesize RR for m.room.redaction as causes the RR to go missing.
2018-02-20 18:23:06 +00:00
David Baker
1e017df128
Merge pull request #613 from matrix-org/dbkr/dates_on_demand
...
Make Events create Dates on demand
2018-02-20 18:08:45 +00:00
David Baker
ec27bb5131
Merge pull request #612 from matrix-org/dbkr/dont_clone_events
...
Stop cloning events when adding to state
2018-02-20 18:08:35 +00:00
David Baker
9637fc098a
comment
2018-02-20 18:01:01 +00:00
David Baker
874020ced7
Make Events create Dates on demand
...
My test account had 37MB (shallow) of Date objects knocking around
in memory. This gets rid of them. I can't see any appreciable
difference in the time taken to switch rooms (where now we recreate
a bunch of Dates that previously would have been cached).
2018-02-20 17:49:25 +00:00
David Baker
a7beedcfb6
Unused imports
2018-02-20 17:11:40 +00:00
David Baker
4351c4dd6f
Merge pull request #611 from matrix-org/dbkr/use_initialisestate
...
De-dup code: use the initialiseState function
2018-02-20 17:10:11 +00:00
David Baker
1ddf7fb96c
Add XXX comment
2018-02-20 17:07:14 +00:00
David Baker
ec5cfe4ee9
Stop cloning events when adding to state
...
As comment hopefully explains.
On my test account:
Before: 394657 MatrixEvents, 53MB shallow size
After: 198863 MatrixEvents, 27MB shallow size
2018-02-20 16:45:20 +00:00
Matthew Hodgson
4fed2ea7bf
log event IDs of ignored calls
2018-02-20 12:38:12 +00:00
Matthew Hodgson
ae14cf4740
typo
2018-02-20 12:38:12 +00:00
David Baker
8aa68b3dc1
lint
2018-02-20 11:09:32 +00:00
David Baker
e810ee7750
Add test for fixed state misbehaviour
2018-02-20 11:06:33 +00:00
David Baker
9a08194597
Factor out calls to getLiveTimeline
2018-02-19 16:17:30 +00:00
David Baker
c77277b60c
rename variable
2018-02-19 16:07:28 +00:00
David Baker
21a324558f
Comments
2018-02-19 16:05:43 +00:00
David Baker
7a31751564
Merge pull request #610 from matrix-org/dbkr/sentinels_on_demand
...
Create sentinel members on-demand
2018-02-16 19:01:48 +00:00
David Baker
b11bacc2e2
Process state events before timeline events
...
Don't ignore them: its valid to send them in a non-limited sync,
they're state events that preceed the timeline events.
2018-02-16 18:52:56 +00:00
David Baker
8c02e7ba67
comment
2018-02-16 17:52:39 +00:00
David Baker
275eb8d434
De-dup code: use the initialiseState function
...
This should behave identically, but the code here appeared to be
identical to the code in initialiseState, so let's use it (it also
has an extra sanity check in there that we only init empty timelines).
2018-02-16 17:49:29 +00:00
David Baker
736d0df38d
Handle null userID
...
The tests inject messages with no sender, so for now let's maintain
behaviour as it was before.
2018-02-16 14:58:19 +00:00
David Baker
89d5d41015
Merge pull request #609 from matrix-org/dbkr/doc_sentinels
...
Some more doc on how sentinels work
2018-02-16 12:34:34 +00:00
David Baker
0e1444c84b
grammar
2018-02-16 11:57:22 +00:00
David Baker
104f8b093d
Remove redundant forEach
2018-02-16 11:55:45 +00:00
David Baker
1e638c376b
Create sentinel members on-demand
...
We only need sentinel members for things like the 'sender' field
of events, so we previously created sentinels for everyone in the
room, but a large number of them were never used.
Instead, create them on-demand and cache them.
2018-02-16 11:53:24 +00:00
David Baker
a2e1a6ca8f
jsdoc doesn't like that
2018-02-16 10:59:44 +00:00
David Baker
337331ff1b
Some more doc on how sentinels work
2018-02-16 10:37:50 +00:00
Richard Lewis
1dfde7cd80
Fix JS doc
2018-02-08 11:17:55 +00:00
Luke Barnard
7df2bfe7bc
Honour cached push rules ( #606 )
...
so that we have push rules loaded into the client after doing
a cached sync (so that the client can assume that we do have
push rules, even if it was loaded from a cached sync).
These rules will be updated once `getPushRules` is completed
prior to the first networked sync.
2018-02-08 09:35:44 +00:00
lukebarnard
4ec90a4b99
Fix incorrect self - should be this
2018-02-07 17:31:16 +00:00
Luke Barnard
d4e8f9039c
Set sync token before incrementally syncing ( #604 )
...
Block on syncing from cache so that the sync token
has been set prior to incremental syncing.
2018-02-07 17:16:22 +00:00
Luke Barnard
4c6c00f16d
Fix NPE when loading sync from cache ( #603 )
...
* Fix NPE when loading sync from cache
2018-02-07 16:04:47 +00:00
Luke Barnard
fd30b25596
Allow a mode of operation without HS connection ( #601 )
...
* Allow a mode of operation without HS connection
Instead of blocking the first sync on getting the push rules and
filter, load sync data from disc.
When the client comes online, the push rules will be acquired and
a sync cycle started. This could be immediate if the client is
already online.
This could be a breaking change for clients that get push rules
before a successful sync has been done.
2018-02-06 17:46:39 +00:00
David Baker
032b7cab5d
Fix name of 1:1s other person has left ( #602 )
...
Use their name as we did before rather than 'Empty Room'
Fixes https://github.com/vector-im/riot-web/issues/6083
2018-02-06 15:43:53 +00:00
David Baker
47dfb4b8cd
Merge pull request #597 from matrix-org/dbkr/e2e_rooms_indexeddb
...
Migrate room encryption store to crypto store
2018-02-06 10:29:29 +00:00
David Baker
51e782b671
Merge pull request #600 from matrix-org/t3chguy/fix_3pid_dm_rooms
...
add parameter to getIdentityServerUrl to strip the protocol for invites
2018-02-05 12:07:31 +00:00
David Baker
cf195262bf
inline fucntion that was only used once
2018-01-31 18:12:46 +00:00
David Baker
cf72052e46
Correct return type
2018-01-31 17:51:48 +00:00
David Baker
6f50c39b2a
more doc
2018-01-31 17:49:58 +00:00
David Baker
b6cd826dd7
basically I just can't type
2018-01-31 17:33:35 +00:00
David Baker
f1194b1fbe
more comment grammar
2018-01-31 17:33:02 +00:00
David Baker
c0ca85fb3a
comment grammar
2018-01-31 17:32:12 +00:00
David Baker
022df1b143
Revert npm helpfully adding packages
2018-01-31 17:30:12 +00:00
David Baker
fdf987f081
Merge remote-tracking branch 'origin/develop' into dbkr/e2e_rooms_indexeddb
2018-01-29 13:40:14 +01:00
David Baker
f1e874cd18
Merge pull request #594 from matrix-org/dbkr/device_tracking_indexeddb
...
Move Device Tracking Data to Crypto Store
2018-01-29 13:38:50 +01:00
David Baker
c3bede58aa
Fux lying comment
2018-01-29 13:35:03 +01:00
Matthew Hodgson
38915eb7fc
fix NPE biting yannick due to broken rules
2018-01-25 18:41:36 +01:00
David Baker
470bd23b3b
Add new devices as we get them
2018-01-25 16:49:30 +01:00
Michael Telatynski
d007eefe2e
add parameter to getIdentityServerUrl to strip the protocol for invites
...
use new getIdentityServerUrl param in inviteByThreePid
2018-01-25 09:53:19 +00:00
Michael Telatynski
362f442a98
Don't synthesize RR for m.room.redaction as causes the RR to go missing.
2018-01-25 00:04:24 +00:00
David Baker
8c2645c5dd
Comment typo
2018-01-24 21:39:46 +01:00
David Baker
1ba0e4809e
Implement correct function
...
in localstorage and memory stores
2018-01-22 18:46:13 +01:00
David Baker
341371b613
lint
2018-01-22 18:37:02 +01:00
David Baker
d856285271
Doc param
2018-01-22 18:35:29 +01:00
David Baker
e4ffc93463
Remove unused function
2018-01-22 18:34:34 +01:00
David Baker
3149958319
Missed arg
2018-01-22 18:31:17 +01:00
David Baker
ac659e8df1
remove debugging
2018-01-22 18:16:11 +01:00
David Baker
81d54c7558
comment typo
2018-01-22 18:11:37 +01:00
David Baker
e4de333d83
Use the right prefix function to remove prefix
2018-01-22 17:55:40 +01:00
David Baker
e72096328a
Actually working migration
2018-01-22 17:46:13 +01:00
David Baker
88a082a533
Hopefully working migration
2018-01-22 17:34:09 +01:00
David Baker
4fbf4f1069
Hopefully address PR feedback
2018-01-22 17:08:19 +01:00
David Baker
c360dd11ed
Migrate e2e rooms to crypto store
...
Doesn't do data migration yet
2018-01-22 15:48:53 +01:00
Michael Telatynski
95d582ccee
arguments true and false are actually invalid
2018-01-19 23:00:34 +00:00
Matthew Hodgson
e0c9b990e7
blindly move crypto.suggestKeyRestore over to /sync
2018-01-18 20:59:08 +00:00
David Baker
074cfb7c58
Add more comments
2018-01-18 17:32:47 +00:00
David Baker
8b649cec8d
All the copyrights
2018-01-18 11:52:27 +00:00
David Baker
ea6974fc89
Return null if device data isn't set
...
This is more normal, and the code doesn't expect to get empty
objects here which is reasonable since it never sets one.
2018-01-17 19:27:22 +00:00
David Baker
fb29da4e40
Update the catchingup flag
...
It may change whilst processing the sync
2018-01-17 19:17:48 +00:00
David Baker
461acbcc81
More test fixing
...
* Change test for new storage layer
* Always store device keys we download, even if we weren't
tracking the user.
2018-01-17 18:49:33 +00:00
David Baker
5bab8647b6
Fix device tracking with initial /sync
...
* Check whether we share an e2e room with user IDs in the 'left'
field of /keys/changes: there's no guarantee we no longer share
any e2e rooms with these users
* Reset everyone's tracking status on an initial sync - just
re-fetching device lists for all users we're currently tracking
isn't good enough since room memberships may have changed.
* Fix typo in test
2018-01-17 16:03:46 +00:00
David Baker
f2d1222de7
Merge pull request #591 from matrix-org/luke/perf-push-processor
...
Optimise pushprocessor
2018-01-17 11:27:50 +00:00
David Baker
585ea14a23
more lint
2018-01-17 09:58:56 +00:00
David Baker
5a0997ded5
lint
2018-01-17 09:52:01 +00:00
David Baker
0174c5674f
Make tests pass, finally.
...
Mostly making tests aware of new storage format or making them
force it to be written. Also some bugfixes like we didn't json
encode some things in the localstorage store and we didn't
correctly check the promise when requesting device data saves.
2018-01-16 17:57:49 +00:00
lukebarnard
9de8653936
Actually check the cache
2018-01-16 09:51:30 +00:00
David Baker
27d28b8247
More test fixing
...
Allow localstorage store to take a localstorage impl, make TestClient
pass a cryptostore & fix True/true typo
2018-01-15 16:27:28 +00:00
David Baker
110f43a246
Make DeviceList test pass
...
Includes making saveIfDirty() return a promise in case you care
about when changes got saved (which the test does).
2018-01-15 15:21:39 +00:00
lukebarnard
56612751f9
Handle underride and override rules with patterns
2018-01-15 15:16:22 +00:00
lukebarnard
751fe7349a
Fix case insensitivity on new RegExps
2018-01-15 14:54:51 +00:00
Matthew Hodgson
fb1b554b86
initial pseudocode WIP for e2e online backups
2018-01-15 01:50:24 +00:00
David Baker
36d7d33afc
Null fix & lint
...
Don't end up with devices / device tracking status being null
2018-01-12 16:44:51 +00:00
David Baker
a94f3c720e
Fix migration
2018-01-12 15:12:57 +00:00
David Baker
6c1087e429
Migrate from session store
2018-01-12 14:41:08 +00:00
David Baker
2cdb010cff
Fix lint
2018-01-12 14:17:10 +00:00
David Baker
60052f59a0
Add localstorage & memory device data stores
2018-01-12 14:05:34 +00:00
David Baker
29d44f809e
delay saving so we can batch multiple operations
2018-01-12 12:01:00 +00:00
David Baker
83e4aa2755
Initial attempt at device tracking -> indexeddb
...
* Message sending works again, but
* Marking multiple devices known (ie. 'send anyway') is very slow
because it writes all device info out each time
* Support for non-indexedb stores not written yet
* No migration
2018-01-11 18:10:19 +00:00
David Baker
eeb97f5b66
Merge pull request #592 from matrix-org/dbkr/set_event_error
...
Set event error before emitting
2018-01-09 18:08:12 +00:00
David Baker
b6f26ae6a5
Oops: new year, new company
2018-01-09 18:05:02 +00:00
Richard Lewis
f40435654a
Merge pull request #590 from matrix-org/rxl881/stickers
...
Add event type for stickers [WIP]
2018-01-09 14:49:05 +00:00
David Baker
67d471ea3d
Also happy new year and all that
2018-01-09 13:24:29 +00:00
David Baker
4946c5e687
Set event error before emitting
...
So the event object properties are in a consistent state when we
the event is emitted.
Fixes first part of https://github.com/vector-im/riot-web/issues/5936
2018-01-09 13:23:04 +00:00
David Baker
af4f05c29e
Merge pull request #587 from matrix-org/dbkr/inbound_sessions_to_cryptostore
...
Migrate inbound sessions to cryptostore
2018-01-09 10:41:38 +00:00
David Baker
145c76095a
Remove unused countEndToEndInboundGroupSessions
2018-01-09 10:37:44 +00:00
Richard Lewis
90045b6faa
Fix filtering.
2018-01-08 11:18:36 +00:00
Richard Lewis
aef27d811a
Set sticker type on event instead of message type.
2018-01-06 00:13:24 +00:00
lukebarnard
e2e5f80298
Linting
2018-01-05 20:05:12 +00:00
lukebarnard
ca0ed50172
Optimise pushprocessor
...
by not [re]creating RegExps unnecessarily.
2018-01-05 19:56:27 +00:00
Richard Lewis
d44d63c1d6
Send sticker message in to a room.
2018-01-04 21:55:20 +00:00
David Baker
8403042297
Merge pull request #588 from pafcu/displaynames
...
Disambiguate names if they contain an mxid
2018-01-02 17:46:04 +00:00
David Baker
1568bb014d
Merge remote-tracking branch 'origin/develop' into dbkr/inbound_sessions_to_cryptostore
2018-01-02 17:12:47 +00:00
David Baker
7a069c4018
doc return
2018-01-02 17:03:57 +00:00
David Baker
c856eb931f
Make error message more truthful
2018-01-02 16:32:33 +00:00
David Baker
b290ce795f
Update comment
2018-01-02 16:21:12 +00:00
David Baker
6f3d279165
Fix doc
2018-01-02 13:43:43 +00:00
David Baker
124ab30f98
jsdoc
2018-01-02 13:42:16 +00:00
David Baker
fee90bab66
Wording fix
2018-01-02 13:35:52 +00:00
David Baker
e26ade0e62
Wording fix
2018-01-02 13:32:51 +00:00
David Baker
c43ccb860b
Always migrate inbound group sessions
2018-01-02 13:31:57 +00:00
Johannes Bornhold
81de2b3afc
Add getThirdpartyUser
...
Signed-off-by: Johannes Bornhold <johannes@bornhold.name >
2017-12-31 22:46:18 +01:00
Johannes Bornhold
9a53fa3876
Fix typo around getThirdpartyLocation
2017-12-31 01:24:27 +01:00
Richard van der Hoff
f2b7e8b038
Remove spurious linty blank line
2017-12-14 22:36:53 +00:00
Stefan Parviainen
1863f1311b
Disambiguate display name if it contains a mxid
...
Fixes https://github.com/vector-im/riot-web/issues/1811
Signed-off-by: Stefan Parviainen <pafcu@iki.fi >
2017-12-14 21:49:13 +01:00
David Baker
e5086f22d6
Merge remote-tracking branch 'origin/develop' into dbkr/inbound_sessions_to_cryptostore
2017-12-08 19:06:36 +00:00
David Baker
da90a3ca78
Merge pull request #585 from matrix-org/dbkr/count_sessions_before_migrate
...
Check for sessions in indexeddb before migrating
2017-12-08 18:29:50 +00:00
David Baker
d397c5a251
Merge pull request #586 from matrix-org/dbkr/crypto_store_migrate_warning
...
Emit an event for crypto store migration
2017-12-08 18:17:23 +00:00
David Baker
d26b4434b8
Merge pull request #575 from matrix-org/dbkr/udd_no_auto_show
...
Supporting fixes For making UnknownDeviceDialog not pop up automatically
2017-12-08 16:33:18 +00:00
David Baker
7188f17f9a
more linting
2017-12-07 17:14:11 +00:00
David Baker
b0365f8b0e
json encode before saving to localstorage
2017-12-07 17:07:06 +00:00
David Baker
a1ddeea00e
Fix inbound group session migration
...
Apparently they are parsed at a different layer
2017-12-07 16:50:18 +00:00
David Baker
1414c24caf
Missed txn
2017-12-07 15:03:02 +00:00
David Baker
0748c864cd
Migrate inbound sessions from session store
2017-12-07 14:57:18 +00:00
David Baker
f80626a0fa
lint
2017-12-07 14:32:23 +00:00
David Baker
0fffd64a7f
Fix key export
2017-12-07 14:23:36 +00:00
David Baker
8da48211d9
Fix exportInboundGroupSession
2017-12-06 22:42:19 +00:00
David Baker
0dd8ffa3a0
Much tedious linting
2017-12-06 22:36:24 +00:00
David Baker
0362e61f36
Unused var
2017-12-06 22:24:57 +00:00
David Baker
d92a77f695
lint
2017-12-06 22:24:19 +00:00
David Baker
e6dd573e8a
Fix test (needs a cryptostore now)
2017-12-06 19:42:01 +00:00
David Baker
b6330c3a4f
er, this isn't an object
2017-12-06 19:41:44 +00:00
David Baker
10bc714f5c
lint
2017-12-06 16:04:00 +00:00
David Baker
8f57723b88
Emit an event for crypto store migration
...
As we may want to warn the user to not go back to an older version.
2017-12-06 15:24:29 +00:00
David Baker
3d71bee85e
Check for sessions in indexeddb before migrating
...
Don't migrate sessions from localstorage if we already have some
in indexeddb
2017-12-06 12:43:08 +00:00
David Baker
30e00d5fa7
Add impl to localstorage & memory store
2017-12-06 12:02:05 +00:00
David Baker
bc99a9d792
Merge remote-tracking branch 'origin/develop' into dbkr/inbound_sessions_to_cryptostore
2017-12-06 10:05:33 +00:00
David Baker
61df41d21f
Merge pull request #584 from matrix-org/dbkr/sessions_to_cryptostore
...
Move sessions to the crypto store
2017-12-06 10:04:33 +00:00
David Baker
0b4ef8dcbb
Migrate inbound group sessions to crypto store
2017-12-05 21:47:22 +00:00
David Baker
9d7d48b9b5
s/sessionStore/cryptoStore/
2017-12-05 14:04:18 +00:00
David Baker
fb37150dfd
Doc exception handling fun
2017-12-05 13:45:37 +00:00
David Baker
bd08ed898d
Maybe slightly better exception handling
2017-12-05 11:11:14 +00:00
David Baker
d3bc525713
More doc
2017-12-05 10:23:26 +00:00
David Baker
ae27c553ac
More sensible loop & logging
2017-12-05 10:13:34 +00:00
David Baker
27030ae1e9
Use _unpickleSession in _getSession
2017-12-05 10:09:54 +00:00
David Baker
fd083e1e66
doc
2017-12-05 10:04:06 +00:00
David Baker
5e4149ae76
Remove unused function
2017-12-04 18:14:56 +00:00
David Baker
859d462629
Lint
2017-12-04 18:08:38 +00:00
David Baker
8bfa81df42
Catch & rethrow decryption exceptions
2017-12-04 17:55:12 +00:00
David Baker
6782d53e28
Remove prefix from sessions store keys
2017-12-04 17:36:33 +00:00
David Baker
4796721d5c
Migrate sessions from sessionStore
2017-12-04 17:12:13 +00:00
David Baker
55bbc71a17
Move sessionstore -> cryptostore migration
...
...into a separate function
2017-12-04 16:08:52 +00:00
David Baker
5372575b24
Implement session storage in memory & localstorage
2017-12-04 15:49:59 +00:00
David Baker
d995019c6e
lint
2017-12-04 14:40:32 +00:00
David Baker
aa70da5659
Move sessions to the crypto store
...
This doesn't migrate existing ones yet
2017-12-04 14:33:03 +00:00
Luke Barnard
020b293068
Merge branch 'master' into develop
2017-12-04 11:58:30 +00:00
Luke Barnard
678ff23bcb
v0.9.2
2017-12-04 11:57:05 +00:00
Luke Barnard
f93d50dcd0
Prepare changelog for v0.9.2
2017-12-04 11:57:04 +00:00
Luke Barnard
aa3201ebb0
Send correct m.visibility flag in js-sdk
2017-12-04 11:54:42 +00:00
Luke Barnard
4ad153c425
Send correct m.visibility flag in js-sdk
2017-12-01 18:01:23 +00:00
David Baker
082683bf0e
Merge pull request #582 from matrix-org/dbkr/crypto_store_txn_api
...
Change crypto store transaction API
2017-11-30 13:45:28 +00:00
Luke Barnard
7f590af0b5
Add API wrapper for multiple device deletion API ( #583 )
2017-11-30 10:16:18 +00:00
David Baker
ecc1c86600
Doc some more things
2017-11-29 17:40:48 +00:00
David Baker
fece506cdd
delint
2017-11-29 16:35:12 +00:00
David Baker
f11a58e2cb
Change crypto store transaction API
...
To allow multiple things to be fetched/stored in a single
transaction.
Currently it is still just the account that's actually in
indexeddb though.
2017-11-29 16:22:54 +00:00
David Baker
0238ecebed
Fix comment
2017-11-28 11:32:34 +00:00
Richard van der Hoff
0d6ffa3935
Merge pull request #581 from matrix-org/dbkr/copyrights
...
Add some missed copyright notices
2017-11-27 16:04:07 +00:00
David Baker
143632e635
Add some missed copyright notices
2017-11-27 15:56:35 +00:00
David Baker
9ec33a97bb
Merge pull request #579 from matrix-org/dbkr/e2e_indexeddb
...
Move Olm account to IndexedDB
2017-11-27 13:57:27 +00:00
David Baker
7e2c236582
Missed a s/account data/picked account/
2017-11-27 13:46:31 +00:00
David Baker
6ebfd175bc
jsdoc clarifications
2017-11-22 18:37:16 +00:00
David Baker
defaa918a6
Remove unused function
2017-11-22 18:26:26 +00:00
David Baker
c4e70be0a5
Better comment wording
2017-11-22 18:25:25 +00:00
David Baker
57d425fae6
Make the save function not return a promise
...
This was entirely unnecessary and hopefully make things a bit
simpler to understand and has fewer asyncs flying around.
2017-11-22 18:05:08 +00:00
David Baker
6024163af8
s/accountData/pickledAccount/
2017-11-22 17:50:00 +00:00
David Baker
44b35cdb3d
Lint
2017-11-22 16:53:21 +00:00
David Baker
36ff0ad019
Merge pull request #580 from matrix-org/rav/fix_crypto_error_logging
...
Fix logging of DecryptionErrors to be more useful
2017-11-22 16:44:09 +00:00
David Baker
9218e518f1
Add LocalStorageCryptoStore
...
To avoid throwing away all the data for anyone running firefox in
one of the modes where indexedDB is broken.
2017-11-22 16:41:52 +00:00
Richard van der Hoff
c80bde1f60
Fix logging of DecryptionErrors to be more useful
...
We were relying on being able to override toString in DecryptionError, which
(a) doesn't work thanks to https://github.com/babel/babel/issues/3083 , and (b)
was a bit naughty anyway. Instead, just add a detailedString property and use
that.
2017-11-22 14:42:32 +00:00
David Baker
4b7157b987
Remove unnecessary 'if'
2017-11-22 14:31:06 +00:00
David Baker
a90f592224
Add comment on deprecation
2017-11-22 14:12:35 +00:00
David Baker
59f228dab7
Migrate account from session store
2017-11-22 14:07:19 +00:00
David Baker
bae3f5ceb7
It's a heap, not a stack
2017-11-22 10:19:27 +00:00
David Baker
a5c5da5b8a
Lint
2017-11-22 10:18:53 +00:00
David Baker
7ecf313132
Use a callback function at the store layer
...
Rather than a promise which relies on the caller's promise handler
code being run in the same tick which is not guaranteed.
2017-11-22 10:04:27 +00:00
David Baker
313cfacfa1
Add comment
2017-11-21 18:40:25 +00:00
David Baker
fb991503a9
Move OLM account to IndexedDBd
...
Wraps all access to the account in a transaction so any updates
done to the account must be done in the same transaction, making the
update atomic between tabs.
Doesn't do any migration from localstorage yet.
2017-11-21 18:27:40 +00:00
David Baker
c31ce641a1
Merge branch 'master' into develop
2017-11-17 15:57:22 +00:00
David Baker
5b1a5b7dd0
v0.9.1
2017-11-17 15:55:21 +00:00
David Baker
f25324fb1c
Prepare changelog for v0.9.1
2017-11-17 15:55:20 +00:00
David Baker
2a7f35a633
Merge pull request #577 from matrix-org/dbkr/fix_force_turn
...
Fix the force TURN option
2017-11-17 15:51:01 +00:00
David Baker
eb2d5484b8
jsdoc and remove pointless return
2017-11-17 15:31:50 +00:00
David Baker
40cbd5ec9d
Honour old forceTURN option for now
2017-11-17 15:03:12 +00:00
David Baker
10680ace17
Fix the force TURN option
...
Option needed to be passed in when creating a webrtc call, but for
incoming calls the js-sdk creates the call itself, so the app never
gets a chance to set the option.
2017-11-17 14:51:37 +00:00
David Baker
26e28ed687
Don't spuriously send unknown devices error
...
Send a sensible error message for other errors.
2017-11-17 11:48:56 +00:00
David Baker
8bf92d84db
oops - didn't mean to remove that bit of doc
2017-11-16 18:12:09 +00:00
David Baker
9e2bb5b37b
Allow answer to be called again after failing
...
* Store the answer we generate so if we fail to send it, we can
try to send it again (doing the same again doesn't work as
webrtc is in the wrong state).
* Don't send ICE candidates if the call is ringing: queue them up
so we can send them later if we manage to actually send the
answer.
2017-11-16 16:29:45 +00:00
David Baker
a48a88c312
Don't send a hangup on user media failure
...
We won't have sent the invite anyway. Also termainate before we
fire the error event so the call is 'ended' when the event handlers
fire (which means if they try to hang up it's also ignored)
2017-11-15 17:18:47 +00:00
David Baker
76b2fc2a6c
Merge remote-tracking branch 'origin/develop' into dbkr/udd_no_auto_show
2017-11-15 12:10:06 +00:00
Luke Barnard
4438d716b9
Merge branch 'master' into develop
2017-11-15 10:57:57 +00:00
David Baker
8fcf55d761
BREAKING CHANGE: Fixes for unknown device errors
...
* If we can't send an invite due to unknown devices, abort the
call.
* Don't transition to the `invite_sent` state until the invite
has actually sent.
* Add a specific error code for failure due to unknown devices.
* Don't send ICE candidate messages if the call has ended.
* Add an `event` property to errors from `sendEvent` so that the
caller can resend or cancel the event.
2017-11-15 10:56:57 +00:00
Luke Barnard
3091a76702
v0.9.0
2017-11-15 10:56:31 +00:00
Luke Barnard
117e2370d7
Prepare changelog for v0.9.0
2017-11-15 10:56:31 +00:00
Matthew Hodgson
a35d70e995
Merge pull request #568 from turt2live/travis/granular-settings
...
[BREAKING] Change the behaviour of the unverfied devices blacklist flag
2017-11-15 10:31:11 +00:00
Travis Ralston
ec68000105
Merge branch 'develop' into travis/granular-settings
2017-11-14 19:19:01 -07:00
Matthew Hodgson
c707d3db00
Merge pull request #557 from turt2live/travis/presence
...
Support set_presence=offline for syncing
2017-11-14 23:41:37 +00:00
Matthew Hodgson
d3572836bd
Merge pull request #556 from turt2live/travis/improved-redact-check
...
Consider cases where the sender may not redact their own event
2017-11-14 23:25:06 +00:00
David Baker
a5dac751b0
BREAKING CHANGE: Remove send_event_error
...
Reverts https://github.com/matrix-org/matrix-js-sdk/pull/378
This swallowed all errors from sendEvent, breaking the ICE candidate
retrying. react-sdk no longer listens for send_event_error so I
think it's best to just remove this.
2017-11-13 17:51:59 +00:00
Travis Ralston
7a59579dcd
Support sending additional options with acceptance ( #570 )
...
To be able to send things like `{visibility: { type: 'private ' }}`
Signed-off-by: Travis Ralston <travpc@gmail.com >
2017-11-10 14:14:11 +00:00
Luke Barnard
a60e4efe6d
v0.9.0-rc.1
2017-11-10 13:30:24 +00:00
Luke Barnard
4c0ebeab58
Prepare changelog for v0.9.0-rc.1
2017-11-10 13:30:24 +00:00
David Baker
0143ac2a86
Ignore pushrules in our cached sync response ( #571 )
...
* Ignore pushrules in our cached sync response
As hopefully explained in the comment
2017-11-10 13:14:54 +00:00
Travis Ralston
f24b02cae4
It helps if you use the right function
...
Signed-off-by: Travis Ralston <travpc@gmail.com >
2017-11-09 11:01:42 -07:00
Luke Barnard
497a2bd057
Update API wrapper for group room association configuration ( #569 )
...
This is now a generic API on the homeserver. This is wrapped in a non-generic js-sdk function for now. In future, other group server implementations may want specific configuration and the configuration keys are namespaced to prevent collisions there.
2017-11-09 17:34:26 +00:00
Travis Ralston
995f796a5d
[BREAKING] Change the behaviour of the unverfied devices blacklist flag
...
Previously the global flag was used as a way to completely ignore the per-room option. This commit makes the per-room and global settings be more flexible to allow users to, for example, blacklist unverified devices in all room with the exception of one or two. This is done by making the global setting a device-level default and the per-room option allowing for 3 states: true, false, and unset (use device default).
Signed-off-by: Travis Ralston <travpc@gmail.com >
2017-11-08 17:47:45 -07:00
Travis Ralston
bf462e2840
Install babel-runtime, as it is required for operation ( #561 )
...
Signed-off-by: Travis Ralston <travpc@gmail.com >
2017-11-08 14:34:08 +00:00
Matthew Hodgson
fb75134179
unbreak tests
2017-11-06 15:17:06 +00:00
Matthew Hodgson
68d67b7fc2
Remove ugly english non-i18n invite descriptions
...
any sensible app should be synthesising a better name for invites which is i18n-aware.
2017-11-06 11:18:24 +00:00
David Baker
bbf412f3ad
Merge pull request #567 from matrix-org/luke/groups-update-group-room-assoc
...
Modify addRoomToGroup to allow setting isPublic, create alias updateGroupRoomAssociation
2017-11-02 14:55:01 +00:00
David Baker
52b575296c
Merge pull request #565 from matrix-org/dbkr/get_rule_by_id
...
Expose more functionality of pushprocessor
2017-11-02 13:49:00 +00:00
David Baker
c1652f4898
Merge pull request #566 from matrix-org/dbkr/may_trigger_notif
...
Function for working out notif trigger permission
2017-11-02 13:48:07 +00:00
Luke Barnard
d40cc795f7
Modify addRoomToGroup to allow setting isPublic, create alias updateGroupRoomAssociation
...
The API on synapse was modified to be an upsert, which means the same API call for adding a room to a group can be used to update the visibility of that association.
2017-11-02 13:34:34 +00:00
David Baker
4035d933ad
Use the default power level if there's no PL event
2017-11-02 13:28:58 +00:00
David Baker
d255348762
Remove leave check
...
1. It's wrong because it doesn't consider the ban state
2. This should be caught by whether they have permission to send
the event in the first place rather than worrying about whether
it has notification permission or not
2017-11-02 13:26:39 +00:00
David Baker
978db89deb
Function for working out notif trigger permission
...
And make pushprocessor use this function
2017-11-02 12:04:55 +00:00
David Baker
b867afe772
lint
2017-11-01 19:48:12 +00:00
David Baker
e34fd89bb6
Expose more functionality of pushprocessor
...
This exposes a function to get rules by their ID and
ruleMatchesEvent to test whether a rule matches a given event.
2017-11-01 19:40:50 +00:00
Richard van der Hoff
51883b8f11
Merge pull request #555 from uhoreg/e2e_replay
...
keep track of event ID and timestamp of decrypted messages
2017-10-25 14:14:33 +01:00
David Baker
ff5f95227a
Merge pull request #564 from matrix-org/dbkr/fix_notifevents
...
Fix notifEvent computation
2017-10-25 12:06:05 +01:00
David Baker
dc929236a4
oops, events not event
2017-10-25 12:03:17 +01:00
David Baker
b09e20747a
Oops, missing this
2017-10-25 12:00:11 +01:00
David Baker
e8fc857dbc
Don't calculate notifEvents until ready
...
We were previously computing notifEvents at the point where we
processed them but before the room they belong to was stored.
This was problematic because some push conditions try to get the
room and therefore failed. Since the push actions are cached, this
spurious calculation also got cached.
This moves the calculation out to a separate function that gets
called only after the room has been stored.
2017-10-25 11:54:44 +01:00
David Baker
b42a13cc3b
Merge pull request #563 from matrix-org/dbkr/fix_sentinels_on_power_levels
...
Fix power level of sentinel members
2017-10-25 11:47:18 +01:00
David Baker
37ed9800c5
Fix sender_notification_permission cond
...
Don't assume all events have a sender, because they don't.
2017-10-25 11:10:55 +01:00
David Baker
99f4968888
Replace all the sentinel members on power_levels
...
Rather than trying to be clever and keep ones whose power level isn't
affected, since they'll still have an associated power_levels event
that isn't the one actually in effect, which could be confusing.
2017-10-25 10:57:28 +01:00
David Baker
34428a811c
Fix setPowerLevelEvent() semantics
...
* Make setPowerLevelEvent() use getDirectionalContent() rather than
getContent(), otherwise power level events from pagination set
power levels the wrong way
* Don't assume the presence of a `users` key since the first
power_levels event in a room will have no prev_content
2017-10-25 10:40:15 +01:00
Richard van der Hoff
da7104b00d
Merge pull request #554 from uhoreg/e2e_redact
...
don't try to decrypt a redacted message (fixes vector-im/riot-web#3744 )
2017-10-24 21:02:01 +01:00
Hubert Chathi
b373601e13
make sure redacted e2e messages are returned as a promise
...
Signed-off-by: Hubert Chathi <hubert@uhoreg.ca >
2017-10-24 13:11:48 -04:00
David Baker
fcc90e884b
Fix power level of sentinel members
...
When a ppower_levels event arrived, the current member objects were
being updated but the sentinel members were not, meaning that the
power levels of RoomMember objects associated with events had stale
power levels. This was causing power level based push rules to
be wrong.
2017-10-23 19:07:04 +01:00
David Baker
7a90096077
Merge pull request #562 from matrix-org/dbkr/room_notifs
...
Support room notifs
2017-10-23 17:01:23 +01:00
David Baker
e7886a55fe
lint
2017-10-23 16:50:01 +01:00
David Baker
e33b786f65
Support room notifs
...
Specifically, add support for the sender_notification_permission
push rule condition. Also delays calculating notification events
until after they're added to the timeline, as per comment.
2017-10-23 16:02:06 +01:00
Luke Barnard
b0b50f4ef9
Implement API wrapper for GET /group/$groupId/invited_users ( #560 )
2017-10-16 18:23:40 +02:00
David Baker
37c8e6dc07
Merge branch 'master' into develop
2017-10-16 14:37:39 +01:00
David Baker
675441fe93
v0.8.5
2017-10-16 14:35:20 +01:00
David Baker
2495d97862
Prepare changelog for v0.8.5
2017-10-16 14:35:20 +01:00
David Baker
70c998dd55
Merge pull request #558 from matrix-org/dbkr/fix_glob_to_regex
...
Fix the glob-to-regex code
2017-10-16 14:04:14 +01:00
David Baker
ec60e46611
Merge remote-tracking branch 'origin/develop' into release-v0.8.5
2017-10-16 14:03:04 +01:00
David Baker
bb2dc618f7
Merge pull request #559 from matrix-org/dbkr/unknown_condition_dont_match
...
Make unknown pushrule conditions not match
2017-10-16 14:02:02 +01:00
David Baker
d9addf84ef
Make unknown pushrule conditions not match
...
Unknown conditions previously were assumed to match, but given rules
can be added on the server as base rules, it's probably better to not
match unknown conditions.
2017-10-16 13:55:07 +01:00
David Baker
d89163110e
Fix the glob-to-regex code
...
It was only making one replacement so would fail for anything with
more than ine glob special char (eg. *foo would be fine, but *foo*
was broken)
2017-10-16 13:40:49 +01:00
Travis Ralston
7c851faba6
Support set_presence=offline for syncing
...
Signed-off-by: Travis Ralston <travpc@gmail.com >
2017-10-14 14:34:37 -06:00
Travis Ralston
b70c219a05
Consider cases where the sender may not redact their own event
...
Signed-off-by: Travis Ralston <travpc@gmail.com >
2017-10-13 20:00:39 -06:00
David Baker
93b722af3c
v0.8.5-rc.1
2017-10-13 11:01:58 +01:00
David Baker
ee0e036aa5
Prepare changelog for v0.8.5-rc.1
2017-10-13 11:01:57 +01:00
David Baker
24ef004adc
remove debug logging
2017-10-12 16:03:08 +01:00
Hubert Chathi
dcab4eb70b
fix lint error, and incorporate suggestions from richvdh and krombel
...
Signed-off-by: Hubert Chathi <hubert@uhoreg.ca >
2017-10-12 09:04:12 -04:00
Hubert Chathi
8f252992e4
keep track of event ID and timestamp of decrypted messages
...
This is to avoid false positives when detecting replay attacks.
fixes : vector-im/riot-web#3712
Signed-off-by: Hubert Chathi <hubert@uhoreg.ca >
2017-10-11 23:27:36 -04:00
Hubert Chathi
a3a3e32e21
don't try to decrypt a redacted message ( fixes vector-im/riot-web#3744 )
...
set the decrypted data to an empty message
Signed-off-by: Hubert Chathi <hubert@uhoreg.ca >
2017-10-04 12:26:08 -04:00
David Baker
f5f8867326
Merge pull request #553 from matrix-org/luke/groups-remove-room
...
Implement wrapper API for removing a room from a group
2017-10-04 10:58:28 +01:00
Luke Barnard
5494a9dd3b
Implement wrapper API for removing a room from a group
2017-09-29 17:57:53 +01:00
David Baker
89f7857c84
Merge pull request #552 from matrix-org/rav/stuck_key_download
...
Fix typo which resulted in stuck key download requests
2017-09-29 10:22:26 +01:00
Richard van der Hoff
3140c6526a
Fix typo which resulted in stuck key download requests
...
(... and hence stuck outgoing e2e messages)
Fixes https://github.com/vector-im/riot-web/issues/4278
2017-09-29 10:02:16 +01:00
Luke Barnard
96d828d22b
Implement API wrapper for adding a room to a group ( #551 )
2017-09-27 14:27:19 +01:00
David Baker
a8a50384b8
Add wrapper for group update_publicity API ( #550 )
...
Add wrapper for group update_publicity API
2017-09-25 15:27:59 +01:00
David Baker
787af6448d
Merge pull request #549 from matrix-org/dbkr/groups_store_when_created
...
Store group when it's created
2017-09-22 18:02:17 +01:00
David Baker
4633135322
Store group when it's created
...
Otherwise we emit events when we set properties on the group but
getGroup() for that group returns null which is very confusing.
2017-09-22 17:57:08 +01:00
David Baker
050d522735
Merge pull request #548 from matrix-org/luke/groups-remove-rooms-users-from-summary
...
Luke/groups remove rooms users from summary
2017-09-22 16:23:47 +01:00
Luke Barnard
809b202e70
Merge branch 'develop' into luke/groups-remove-rooms-users-from-summary
2017-09-22 16:19:17 +01:00
Luke Barnard
f1555dbb5d
Implement wrapper APIs for removing users and rooms from group summary
2017-09-22 16:18:18 +01:00
krombel
d1d0266a10
reduce sendToDevice payload ( #522 )
...
instead of sending one huge request split them up.
2017-09-22 14:29:23 +01:00
David Baker
ee37ed0697
Add a clean target ( #547 )
2017-09-21 21:45:55 +01:00
David Baker
e3972dee2c
Merge branch 'master' into develop
2017-09-21 21:41:48 +01:00
David Baker
7a727e7eda
v0.8.4
2017-09-21 21:39:37 +01:00
David Baker
d24c822f68
Prepare changelog for v0.8.4
2017-09-21 21:39:37 +01:00
Richard van der Hoff
8d804013f3
Merge pull request #546 from matrix-org/dbkr/clean_on_prerelease
...
Clean on prepublish
2017-09-21 18:06:28 +01:00
David Baker
d73a115436
Clean on prerelease
...
Otherwise you can make broken releases on case insensitive file
systems
2017-09-21 18:02:30 +01:00
Luke Barnard
0b4ff731e8
Implement wrapper APIs for adding rooms to group summary ( #545 )
2017-09-21 17:05:36 +01:00
Luke Barnard
a58ec3f192
Implement wrapper APIs for adding rooms to group summary
2017-09-21 17:01:33 +01:00
Richard van der Hoff
868c20b161
Fix a race in decrypting megolm messages ( #544 )
...
* Fix a race in decrypting megolm messages
This fixes a race wherein it was possible for us to fail to decrypt a message,
if the keys arrived immediately after our attempt to decrypt it. In that case,
a retry *should* have been scheduled, but was not.
Fixes https://github.com/vector-im/riot-web/issues/5001 .
* WORDS
2017-09-21 15:17:28 +01:00
Luke Barnard
c2cd050419
Implement API to add users to group summaries ( #543 )
...
(and call it addUserToGroupSummary)
2017-09-20 16:31:28 +01:00
David Baker
7d5c107fb8
v0.8.3
2017-09-20 15:04:11 +01:00
David Baker
d855a6ea0f
Prepare changelog for v0.8.3
2017-09-20 15:04:10 +01:00
David Baker
464f84d8cd
v0.8.3-rc.1
2017-09-19 10:44:58 +01:00
David Baker
fe0ee6402a
Prepare changelog for v0.8.3-rc.1
2017-09-19 10:44:57 +01:00
David Baker
068939f790
APIs for flair ( #542 )
2017-09-18 14:44:40 +01:00
Matthew Hodgson
35f48d1c8e
Merge pull request #526 from t3chguy/allow_trailing_slash
...
consume trailing slash when creating Matrix Client in HS and IS urls
2017-09-17 22:53:48 +01:00
Matthew Hodgson
52adde2501
Merge pull request #539 from turt2live/travis/ignored_users
...
Add ignore users API
2017-09-17 21:47:03 +01:00
David Baker
0ddc4eceaf
Merge pull request #540 from matrix-org/dbkr/jsdoc_355
...
Upgrade to jsdoc 3.5.5
2017-09-15 09:19:21 +01:00
turt2live
b0ab8c750d
Add isUserIgnored convenience method
...
Signed-off-by: Travis Ralston <travpc@gmail.com >
2017-09-14 19:47:16 -06:00
Travis Ralston
b17dd8351f
Make linter happy
...
Signed-off-by: Travis Ralston <travpc@gmail.com >
2017-09-14 19:24:18 -06:00
Travis Ralston
0ceb8d159a
Generate the ignored users event content correctly
...
Signed-off-by: Travis Ralston <travpc@gmail.com >
2017-09-14 16:06:55 -06:00
David Baker
402b943ddb
Upgrade to jsdoc 3.5.5
...
Because of https://github.com/jsdoc3/jsdoc/issues/1438
2017-09-14 22:33:10 +01:00
Travis Ralston
be55451c90
Add ignore users API
...
Signed-off-by: Travis Ralston <travpc@gmail.com >
2017-09-14 12:55:48 -06:00
Matthew Hodgson
c51c1a2ae6
Merge pull request #538 from matrix-org/dbkr/reemit_use_fewer_closures
...
Make re-emitting events much more memory efficient
2017-09-13 12:51:26 +01:00
David Baker
845c796b96
Make re-emitting events much more memory efficient
...
The previous impl bluntly created a closure for every event type
and source emitter we set up a re-emit for. We can do much better
than this fairly easily by having one bound handler for each event
name and moving it into a class so we have one emitter per target,
since 99% of the time the target is the client object.
2017-09-13 11:55:03 +01:00
David Baker
b0918ef293
Merge pull request #536 from matrix-org/dbkr/only_reemit_events_when_needed
...
Only re-emit events from Event objects if needed
2017-09-12 19:26:58 +01:00
David Baker
102572b088
Empty commit to get Travis to re-test
2017-09-12 17:37:16 +01:00
David Baker
63076e77f5
Only re-emit events from Event objects if needed
...
The only event and Event emits is 'Event.decrypted', so don't
bother to add listeners if the event isn't encrypted.
2017-09-12 17:09:01 +01:00
Richard van der Hoff
8e48ee5f66
Merge pull request #535 from matrix-org/rav/devicelist_bits
...
Handle 'left' users in the deviceList mananagement
2017-09-08 16:21:58 +01:00
Richard van der Hoff
1a55f550c0
Handle 'left' users in the deviceList mananagement
...
When we no longer share any rooms with a given user, the server will stop
sending us updates on their device list, and will (once synapse is updated)
send us a notification of that fact via the 'left' field in the device_lists
field in /sync, or the response from /keys/changes.
2017-09-08 15:40:26 +01:00
Richard van der Hoff
ae8fc64394
Do /keys/changes before second /sync
...
This will avoid races between /keys/changes and /syncs.
2017-09-08 15:40:26 +01:00
David Baker
5e8e56caf9
Merge pull request #534 from matrix-org/rav/factor_out_device_tests
...
Factor out devicelist integration tests to a separate file
2017-09-08 13:51:11 +01:00
David Baker
c075c161c2
Merge pull request #533 from matrix-org/rav/refactor_sync
...
Refactor sync._sync as an async function
2017-09-08 13:51:05 +01:00
Richard van der Hoff
237a553d15
sync: s/self/this/
2017-09-08 12:07:19 +01:00
Richard van der Hoff
ca8674e0de
Factor out devicelist integration tests to a separate file
...
There's a fuzzy line between the megolm tests and the devicelist ones, but
since I want to add more tests for devicelists, we might as well put the ones
which are definitely about devicelists in their own file
2017-09-08 11:54:16 +01:00
Richard van der Hoff
0511a1172f
Refactor sync._sync as an async function
...
This stuff is much more clearly expressed as an async function than as a
promise chain, and I'm about to add more stuff to the chain, so let's refactor
now.
There is plenty more that could be done here (self -> this, for instance), but
I've gone for keeping the diff minimal.
2017-09-08 11:53:10 +01:00
David Baker
e07b304914
Merge pull request #532 from matrix-org/rav/eslint_es6
...
Add es6 to eslint environments
2017-09-07 10:33:52 +01:00
Richard van der Hoff
17364e72ec
Add es6 to eslint environments
2017-09-07 10:29:27 +01:00
David Baker
22b213ae26
v0.8.2
2017-08-24 14:45:24 +01:00
David Baker
7d5936a9e9
Prepare changelog for v0.8.2
2017-08-24 14:45:24 +01:00
David Baker
ab8f466f53
Merge pull request #530 from matrix-org/rav/fix_encrypted_calls
...
Handle m.call.* events which are decrypted asynchronously
2017-08-24 14:09:12 +01:00
David Baker
201177e7f0
Merge pull request #529 from matrix-org/dbkr/event_object_reemit
...
Re-emit events from, er, Event objects
2017-08-24 13:35:30 +01:00
Richard van der Hoff
ec5f9a2892
Handle m.call.* events which are decrypted asynchronously
...
Handle the case where received m.call.* events are not decrypted at the point
of the 'event' notification by adding an 'Event.decrypted' listener for them.
2017-08-24 13:35:02 +01:00
Richard van der Hoff
ee5b8748b5
Add MatrixEvent.isDecryptionFailure()
2017-08-24 13:35:02 +01:00
David Baker
8d04f8b8b5
Re-emit events from, er, Event objects
...
We do create Events in more places, but this is probably the only
place that matters since the only event is 'decrypted' which won't
fire for, eg. events we send.
2017-08-24 11:29:48 +01:00
David Baker
033babfbfc
Groups: Sync Stream, Accept Invite & Leave ( #528 )
...
* WIP support for reading groups from sync stream
Only does invites currently
* More support for parsing groups in the sync stream
* Fix jsdoc
2017-08-24 10:24:24 +01:00
David Baker
15b77861ea
v0.8.1
2017-08-23 15:51:31 +01:00
David Baker
c4721850ce
Prepare changelog for v0.8.1
2017-08-23 15:51:31 +01:00
David Baker
b325aad5c9
v0.8.1-rc.1
2017-08-22 18:40:29 +01:00
David Baker
92e616f18e
Prepare changelog for v0.8.1-rc.1
2017-08-22 18:40:29 +01:00
David Baker
f7fee29c76
Merge pull request #527 from matrix-org/rav/fix_interactive_auth_error_handling
...
Fix error handling in interactive-auth
2017-08-21 16:43:19 +01:00
Richard van der Hoff
eccea7411f
Fix error handling in interactive-auth
...
Now that we are using bluebird, `defer.reject` is not implicitly bound, so we
need to call it properly rather than just passing it into the catch handler.
This fixes an error:
promise.js:711 Uncaught TypeError: Cannot read property 'promise' of undefined
2017-08-21 16:31:42 +01:00
Michael Telatynski
01f93e0970
consume trailing slash when creating Matrix Client in HS and IS urls
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2017-08-19 11:00:46 +01:00
Richard van der Hoff
2d82a7bc2e
Merge pull request #524 from matrix-org/rav/async_crypto/1
...
Make lots of OlmDevice asynchronous
2017-08-17 13:16:57 +01:00
Richard van der Hoff
ca91fba071
Crypto test: Bump the timeout when waiting for Ali to claim keys
...
This failed a test, so let's just bump up the timeout a bit more.
2017-08-16 21:02:52 +01:00
Richard van der Hoff
9f2fce4d87
Try harder to wait for megolm decryption
...
Ok, this *really* ought to fix the racy test.
2017-08-16 19:01:47 +01:00
David Baker
e1942267c5
Add API to invite & remove users from groups ( #525 )
...
* Add API invite & remove users from groups
* lint
2017-08-16 14:45:15 +01:00
Richard van der Hoff
12212409c7
Hopefully, fix racy megolm test
...
I couldn't repro the failure locally, but this looks like it should fix the
test failures.
2017-08-15 19:09:50 +01:00
Richard van der Hoff
e5565c6bdb
review comments
2017-08-15 18:34:04 +01:00
Richard van der Hoff
f00558d840
Merge remote-tracking branch 'origin/develop' into rav/async_crypto/1
2017-08-15 18:31:02 +01:00
Richard van der Hoff
da0dc5ed11
Merge pull request #523 from matrix-org/rav/fix_decryption_race
...
Make crypto.decryptMessage return decryption results
2017-08-15 18:07:33 +01:00
Luke Barnard
b417492fad
v0.8.0
2017-08-15 17:11:05 +01:00
Luke Barnard
d3ee532624
Prepare changelog for v0.8.0
2017-08-15 17:11:05 +01:00
Richard van der Hoff
e8be38ce5a
Add delays to tests to wait for things to decrypt
...
Prepare for some refactoring which will add an extra tick to decryption by
adding some `awaitDecryption` calls in the integration tests.
2017-08-14 18:39:45 +01:00
Richard van der Hoff
38c9a05a0c
Make Event.attemptDecryption return useful promises
...
Even if a decryption attempt is in progress, return a promise which blocks
until the attempt is complete.
2017-08-14 18:38:29 +01:00
Richard van der Hoff
110bd332f4
Make OlmDevice.exportInboundGroupSession async
2017-08-10 15:01:56 +01:00
Richard van der Hoff
8a0f73bf81
Make some OlmDevice megolm methods async
...
* OlmDevice.hasInboundSessionKeys
* OlmDevice.getInboundGroupSessionKey
The latter means that MegolmDecryption.shareKeysWithDevice takes longer before
it sends out the keyshare, so means the unit test needed an update
2017-08-10 15:01:56 +01:00
Richard van der Hoff
337c9cbea3
Make OlmDevice.decryptGroupMessage async
2017-08-10 15:01:56 +01:00
Richard van der Hoff
cfd61096d9
Make OlmDevice.importInboundGroupSession async
2017-08-10 15:01:56 +01:00
Richard van der Hoff
2894e253a2
Make OlmDevice.addInboundGroupSession async
2017-08-10 15:01:56 +01:00
Richard van der Hoff
e52985e082
Olm session creation async
2017-08-10 15:01:56 +01:00
Richard van der Hoff
7d2bc12bb7
Make OlmDevice key generation async
...
* OlmDevice.generateOneTimeKeys becomes async
* Stash maxOneTimeKeys at init so that maxNumberOfOneTimeKeys can remain sync
2017-08-10 15:01:56 +01:00
Richard van der Hoff
a5f397b26d
OlmDevice.oneTimeKeys async
...
* OlmDevice.getOneTimeKeys
* OlmDevice.markKeysAsPublished
2017-08-10 15:01:56 +01:00
Richard van der Hoff
5b93d5210e
Make OlmDevice.sign async
2017-08-10 15:01:56 +01:00
Richard van der Hoff
e943a6e09c
Make OlmDevice olmSession methods asynchronous
...
* OlmDevice.encryptMessage
* OlmDevice.decryptMessage
* OlmDevice.matchesSession
2017-08-10 15:01:56 +01:00
Richard van der Hoff
8f527a6212
make session tracking methods in OlmDevice async
...
* OlmDevice.getSessionIdsForDevice
* OlmDevice.getSessionIdForDevice
* OlmDevice.getSessionInfoForDevice
2017-08-10 15:01:56 +01:00
Richard van der Hoff
f2f8ad6b65
Make OlmDevice initialisation asynchronous
...
Add an asynchronous `init` method to OlmDevice which initialises the OlmAccount.
2017-08-10 15:01:56 +01:00
Richard van der Hoff
c870930bc0
Add delays to tests to wait for things to decrypt
...
Prepare for some refactoring which will add an extra tick to decryption by
adding some `awaitDecryption` calls in the integration tests.
2017-08-10 15:01:56 +01:00
Richard van der Hoff
b26b1caa86
fix jsdoc
2017-08-10 14:56:42 +01:00
Richard van der Hoff
6613ee6b0d
Make crypto.decryptMessage return decryption results
...
... instead of having it call event.setClearData.
The main advantage of this is that it fixes a race condition, wherein apps
could see `event.isDecrypting()` to be true, but in fact the event had been
decrypted (and there was no `Event.decrypted` event on its way).
We're also fixing another race, wherein if the first attempt to decrypt failed,
a call to `attemptDecryption` would race against the first call and a second
attempt to decrypt would never happen.
This also gives a cleaner interface to MatrixEvent, at the expense of making
the `megolm` unit test a bit more hoop-jumpy.
2017-08-10 13:05:35 +01:00
Richard van der Hoff
9550bca099
Megolm: remove redundant requestKeysOnFail
...
We now *always* requestKeysOnFail, so this was dead code which we can remove.
2017-08-10 13:00:27 +01:00
Richard van der Hoff
92a75aaa08
Merge pull request #521 from matrix-org/rav/async_crypto/olmlib
...
Make bits of `olmlib` asynchronous
2017-08-10 11:07:42 +01:00
Richard van der Hoff
906bf88450
Merge remote-tracking branch 'origin/develop' into rav/async_crypto/olmlib
2017-08-09 18:11:48 +01:00
Richard van der Hoff
d7157843f4
Merge pull request #520 from matrix-org/rav/async_crypto/devicelist
...
Make some of DeviceList asynchronous
2017-08-09 18:02:53 +01:00
Richard van der Hoff
d317c1ff08
Merge pull request #519 from matrix-org/rav/async_crypto/algorithms
...
Make methods in crypto/algorithms async
2017-08-09 18:02:30 +01:00
Richard van der Hoff
ef889963d9
Rewrite olmlib.ensureOlmSessionsForDevices as async
...
This is non-functional. It just looks a lot prettier.
2017-08-09 10:46:19 +01:00
Richard van der Hoff
a2d7b221ee
Make olmlib.verifySignature async
2017-08-09 10:46:18 +01:00
Richard van der Hoff
aff32afefa
Make olmlib.encryptMessageForDevice async
2017-08-09 10:46:18 +01:00
Richard van der Hoff
0943e0c60f
Make some of DeviceList asynchronous
...
* DeviceList._updateStoredDeviceKeysForUser
* DeviceList._processQueryResponseForUser
* DeviceList._storeDeviceKeys
2017-08-08 18:28:53 +01:00
Richard van der Hoff
18f75ec61c
make algorithm.hasKeysForKeyRequest async
2017-08-08 18:26:31 +01:00
Richard van der Hoff
d821082843
Prepare megolm.js for async
...
Make internal methods of megolm.js ready for asynchronous olmdevice
2017-08-08 18:25:16 +01:00
Richard van der Hoff
366a88cc5c
make olm._decryptMessage asynchronous
2017-08-08 18:22:55 +01:00
David Baker
951df61aa0
Merge pull request #518 from matrix-org/rav/no_plain_messages_in_e2e_room
...
Avoid sending unencrypted messages in e2e room
2017-08-08 12:48:49 +01:00
Richard van der Hoff
3e79575602
Avoid sending unencrypted messages in e2e room
...
Reshuffle the logic for determining whether to encrypt a message so that it can
run independently of whether our app actually supports e2e - and then throw an
error if it looks like we should be encrypting but don't support it.
This seems a preferable situation to just falling back to plain text if we get
a dodgy build.
2017-08-08 12:29:26 +01:00
David Baker
92e24777c0
Merge pull request #517 from matrix-org/rav/test_robustness
...
Make tests wait for syncs to happen
2017-08-08 11:27:13 +01:00
Richard van der Hoff
ab8d06bb86
Make tests wait for syncs to happen
...
Add lots of calls to `syncPromise` to cope with the fact that sync responses
are now handled asynchronously, which makes them prone to races otherwise.
Also a quick sanity-check in crypto to make one of the test failures less
cryptic.
2017-08-08 10:58:19 +01:00
Richard van der Hoff
8563dd5860
Merge pull request #510 from matrix-org/rav/async_crypto/crypto_methods
...
Make a load of methods in the 'Crypto' module asynchronous
2017-08-07 17:14:07 +01:00
Richard van der Hoff
1f6153fa82
Make Crypto.setRoomEncryption asynchronous
2017-08-07 17:13:09 +01:00
Richard van der Hoff
23d66b9746
Make Crypto.setDeviceVerification async
2017-08-07 17:13:09 +01:00
Richard van der Hoff
25ccd6bc6d
Make Crypto._processReceivedRoomKeyRequests async
...
This is slightly complicated by the fact that it's initiated from a synchronous
process which we don't want to make async (processing the /sync response) and
we want to avoid racing two copies of the processor.
2017-08-07 17:13:09 +01:00
Richard van der Hoff
14ad32bcd2
Make Crypto.importRoomKeys async
2017-08-07 17:13:09 +01:00
Richard van der Hoff
9ab9b9d75a
Make crypto._signObject async
2017-08-07 17:13:09 +01:00
Richard van der Hoff
b7a3c4557f
Make crypto.getOlmSessionsForUser async
...
This is snever used anywhere (it's mosdly for debug), so this is trivial
2017-08-07 17:13:08 +01:00
David Baker
bdb90b4b33
Merge pull request #515 from matrix-org/luke/fix-null-rawDisplayName
...
Set `rawDisplayName` to `userId` if membership has `displayname=null`
2017-07-27 16:23:31 +01:00
Luke Barnard
85d0935e97
Set rawDisplayName to userId if membership has displayname=null
...
This mirrors the behaviour of `name` such that the default is always `userId` but if the membership event has a `displayname`, we use that.
2017-07-27 16:15:32 +01:00
Richard van der Hoff
86ad75d27b
Merge pull request #508 from matrix-org/rav/async_crypto_event_handling
...
Refactor handling of crypto events for async
2017-07-26 09:07:59 +01:00
Richard van der Hoff
b40473aa3b
Fix broken event-emitter test
...
We need to wait for two syncs, not just one, here.
2017-07-26 07:27:08 +01:00
Richard van der Hoff
3bd5ffc5cd
Fix broken crypto test
...
Now that sync takes a bit longer to send out Event events, the encrypted events
have already been decrypted by the time the test sees them - so we no longer
need to await their decryption.
2017-07-26 07:20:02 +01:00
Richard van der Hoff
10aafd3738
Merge branch 'develop' into rav/async_crypto_event_handling
2017-07-26 07:11:48 +01:00
Richard van der Hoff
c055765bfe
Merge pull request #509 from rav/async_crypto/async_decryption
2017-07-26 07:09:12 +01:00
Richard van der Hoff
d8f486fc0d
Verbose logging to see what's up with indexeddb ( #514 )
...
In an attempt to see why our tests sometimes time out, add a load of logging to
confirm exactly where it is happening.
2017-07-25 11:38:27 +01:00
Luke Barnard
06eea71a37
Add rawDisplayName to RoomMember ( #513 )
...
* Add rawDisplayName to RoomMember
This will at first be the `userId`, but when the members membership event is set, `rawDisplayName` will be assigned to the raw `displayname` of the membership event. This deliberately avoids disambiguation so that clients can disambiguate themselves (via a tooltip or otherwise).
* Clarify docs
2017-07-24 17:35:53 +01:00
Richard van der Hoff
3effb9ec29
Merge pull request #511 from matrix-org/rav/async_to_bluebird
...
Transform `async` functions to bluebird promises
2017-07-24 10:26:26 +01:00
David Baker
6603a2300b
Merge pull request #512 from matrix-org/dbkr/groupview_edit
...
Add more group APIs
2017-07-24 10:00:06 +01:00
David Baker
ed029fe348
More useful doc
2017-07-24 09:55:04 +01:00
Richard van der Hoff
b497bc5eb9
Fix broken test: wait for sync to complete
2017-07-21 16:04:53 +01:00
Richard van der Hoff
8a4a1dfadf
Transform async functions to bluebird promises
...
Now that we use transform-runtime instead of regenerator-runtime, we need to
use the async-to-bluebird transform to make sure that `async` functions get
transformed into bluebird promises.
2017-07-21 15:59:30 +01:00
Richard van der Hoff
8bbf14acbf
Let event decryption be asynchronous
...
Once everything moves to indexeddb, it's going to require callbacks and the
like, so let's make the decrypt API asynchronous in preparation.
2017-07-21 14:41:22 +01:00
Richard van der Hoff
86f2c86440
Add MatrixEvent.attemptDecryption
...
... and use it from both MatrixClient and the megolm re-decryption code.
This will help us avoid races when decryption is asynchronous.
2017-07-21 14:41:22 +01:00
Richard van der Hoff
cfb29f1339
Refactor handling of crypto events for async
...
We're going to need to handle m.room.crypto events asynchronously, so
restructure the way we do that.
2017-07-21 14:41:01 +01:00
Richard van der Hoff
63a28d8e34
Fix lint in /sync
2017-07-21 14:41:01 +01:00
Richard van der Hoff
d37cbb10a5
Merge pull request #507 from matrix-org/rav/fix_racy_cancellation_test
...
Retrying test: wait for localEchoUpdated event
2017-07-21 13:19:55 +01:00
David Baker
055590c0c6
Add more group APIs
2017-07-21 11:13:27 +01:00
David Baker
6aaac45468
Merge pull request #504 from matrix-org/dbkr/fix_member_events_timeline_reset_2
...
Fix member events breaking on timeline reset, 2
2017-07-20 14:25:41 +01:00
David Baker
34adaae5af
Add helpfully named variable for old timeline
2017-07-20 14:17:14 +01:00
Richard van der Hoff
9c6f004f7f
Retrying test: wait for localEchoUpdated event
...
We need to wait for the js-sdk to have an opportunity to process the 400 from
the /send/ request before checking the event state
2017-07-20 13:12:21 +01:00
David Baker
ff685e33d5
clarify comment
2017-07-20 11:00:50 +01:00
David Baker
2999603b28
more commentage
2017-07-20 10:43:47 +01:00
Richard van der Hoff
32d8f4b084
Fix jsdoc failure on async code ( #506 )
...
We need jsdoc 3.5 to support the async/await syntax.
2017-07-20 09:45:37 +01:00
Richard van der Hoff
0fb0c1b71b
Use babel transform-runtime instead of regenerator-runtime ( #505 )
...
Attempting to use the regnerator-runtime ourselves led to a fight with riot-web
about whether `global.regeneratorRuntime` could be defined. By using the
transform-runtime plugin, references to `global.regeneratorRuntime` which are
created by the transform-regenerator plugin are turned into references to an
imported module, which works much better.
(The full tragic tale went as follows:
- riot-web uses transform-runtime, which adds an import of
`regenerator-runtime` to index.js
- `regenerator-runtime`:
- loads `regenerator-runtime/runtime`, which defines
`global.regeneratorRuntime`
- then clears the global property and returns the regeneratorRuntime object
as the exported value from the module
- later, the js-sdk tried to import `regenerator-runtime/runtime`, which then
did nothing because the module had already been loaded once.
For added fun, this only manifested itself when riot-web and js-sdk shared an
instance of the `regenerator-runtime` package, which happens on proper builds,
but not a normal development setup.)
2017-07-20 09:18:37 +01:00
Richard van der Hoff
2ac34dbab0
Merge pull request #503 from matrix-org/rav/async_crypto/public_api
...
Make bits of the js-sdk api asynchronous
2017-07-19 21:14:40 +01:00
Richard van der Hoff
986fb12543
Fix some typos in comments
2017-07-19 21:13:06 +01:00
krombel
e686eb750f
use device_one_time_keys_count transmitted by /sync ( #493 )
...
Where it is available, use the one_time_keys_count returned by /sync instead of polling the server for it.
This was added to synapse in matrix-org/synapse#2237 .
2017-07-19 16:27:05 +01:00
David Baker
8ac15068ee
more comments
2017-07-19 16:24:42 +01:00
David Baker
5e4cd6cf11
Add hopefully clearer comments
2017-07-19 16:20:40 +01:00
David Baker
39d694de8c
No longer need RoomState
2017-07-19 14:58:18 +01:00
David Baker
342f5c01e0
Update tests for new resetLiveTimeline interface
2017-07-19 14:54:18 +01:00
David Baker
f91293c6c5
Set the start state of the new timeline correctly
2017-07-19 14:52:27 +01:00
David Baker
1ce4977a70
get state events before we nuke the roomstate
2017-07-19 12:00:04 +01:00
David Baker
f4b25b59e5
Lint
2017-07-19 11:56:58 +01:00
David Baker
b33a47e253
Fix member events breaking on timeline reset, 2
...
Re-use the same RoomState from the old live timeline so we re-use
all the same member objects etc, so all the listeners stay attached
2017-07-19 11:49:20 +01:00
Richard van der Hoff
ccd4d4263d
Changelog: breaking e2e changes
2017-07-18 23:35:33 +01:00
Richard van der Hoff
2ff9a36eed
Make a number of the crypto APIs asynchronous
...
Make the following return Promises:
* `MatrixClient.getStoredDevicesForUser`
* `MatrixClient.getStoredDevice`
* `MatrixClient.setDeviceVerified`
* `MatrixClient.setDeviceBlocked`
* `MatrixClient.setDeviceKnown`
* `MatrixClient.getEventSenderDeviceInfo`
* `MatrixClient.isEventSenderVerified`
* `MatrixClient.importRoomKeys`
Remove `listDeviceKeys` altogether: it's been deprecated for ages, and since
applications are going to have to be changed anyway, they might as well use its
replacement (`getStoredDevices`).
2017-07-18 23:35:33 +01:00
Richard van der Hoff
d1e91cd702
Add MatrixClient.initCrypto
...
initialising the crypto layer needs to become asynchronous. Rather than making
`sdk.createClient` asynchronous, which would break every single app in the
world, add `initCrypto`, which will only break those attempting to do e2e (and
in a way which will fall back to only supporting unencrypted events).
2017-07-18 23:35:33 +01:00
Richard van der Hoff
e2599071c5
Merge pull request #499 from matrix-org/rav/omfg_when_will_it_end
...
Yet more js-sdk test deflakification
2017-07-17 11:57:05 +01:00
Richard van der Hoff
fc38b89aee
Merge pull request #497 from matrix-org/rav/yet_another_flakey_test
...
Fix racy 'matrixclient retrying' test
2017-07-17 11:56:39 +01:00
Richard van der Hoff
5688286a79
Merge pull request #495 from matrix-org/rav/fix_key_requests_race
...
Fix spamming of key-share-requests
2017-07-17 11:56:05 +01:00
David Baker
7eb10ab7ac
Merge pull request #500 from matrix-org/rav/upload_progress
...
Add progress handler to `uploadContent`
2017-07-14 17:18:41 +01:00
Richard van der Hoff
34b31865c5
Add progress handler to uploadContent
...
bluebird doesn't support promise progression (or rather, it does, but it's
heavily deprecated and doesn't use the same API as q), so replace the
(undocumented) promise progression on uploadFile with a callback.
2017-07-14 16:51:43 +01:00
Richard van der Hoff
f1c5b632cc
Deflake the matrixclient syncing tests ( #498 )
...
All of these tests were vulnerable to a race wherein we would flush the /sync
request, but the client had not yet processed the results before we checked
them. We can solve all of this by waiting for the client to emit a "sync"
event.
2017-07-14 16:09:28 +01:00
Richard van der Hoff
04ca0ac2b5
Give the megolm tests longer to complete
...
All that crypto stuff takes a while, so give it longer than 100ms.
2017-07-14 15:22:08 +01:00
Richard van der Hoff
8b2fdf3a75
Deflake megolm unit test
...
Waiting for 1ms isn't actually good enough. wait for the actual thing we are
actually waiting for.
2017-07-14 15:22:08 +01:00
Richard van der Hoff
adca75b7d8
Deflake matrix-client-timeline tests
...
These guys do a flush("/sync"), without waiting for it to complete, and then in
the afterEach, check that the sync has been flushed, which it may not have
been. So we should make sure we wait for the flush.
2017-07-14 15:22:08 +01:00
Richard van der Hoff
504fa2a1d3
Fix racy 'matrixclient retrying' test
...
when a message send fails, the promise returned by `sendMessage` is
rejected. Until we switched to bluebird, the rejection was happily being
swallowed, but with bluebird, there's a better chance of the unhandled
rejection being caught by the runtime and mocha and failing the test.
2017-07-13 18:18:21 +01:00
Richard van der Hoff
266a062a5d
Fix spamming of key-share-requests
...
Fixes a race in the memory-backed crypto store which meant that we would spam
out multiple key-share-requests for the same session.
(This didn't happen very often in practice, because normally we use the
indexeddb-backed store, which is race-free. Or at least, doesn't have this
race.)
2017-07-13 13:29:56 +01:00
Richard van der Hoff
652a9452c2
Merge pull request #490 from matrix-org/rav/bluebird
...
Switch matrix-js-sdk to bluebird
2017-07-12 23:34:40 +01:00
Richard van der Hoff
503b6ea6c8
Correct incorrect Promise() invocation
...
you're supposed to call Promise() as a constructor rather than a static
function.
2017-07-12 23:33:55 +01:00
Richard van der Hoff
547501ba81
Replace promise.inspect()
...
Bluebird promises don't have an `inspect()` method, but do have an
`isFulfilled()` and a `value()` method, so use them instead.
2017-07-12 23:33:55 +01:00
Richard van der Hoff
cfffbc4a09
replace q method calls with bluebird ones
...
```
find src spec -name '*.js' |
xargs perl -i -pe 's/q\.(all|defer|reject|delay|try)\(/Promise.$1(/'
```
2017-07-12 23:33:55 +01:00
Richard van der Hoff
b58d84fba1
q.Promise -> Promise
...
```
find src spec -name '*.js' |
xargs perl -i -pe 's/q\.Promise/Promise/'
```
2017-07-12 23:32:28 +01:00
Richard van der Hoff
a5d3dd942e
q(...) -> Promise.resolve
...
```
find src spec -name '*.js' |
xargs perl -i -pe 's/\bq(\([^(]*\))/Promise.resolve$1/'
```
2017-07-12 23:32:28 +01:00
Richard van der Hoff
b96062b6de
replace imports of q with bluebird
...
```
find src spec -name '*.js' |
xargs perl -i -pe 'if (/require\(.q.\)/) { $_ = "import Promise from '\''bluebird'\'';\n"; }'
find src spec -name '*.js' |
xargs perl -i -pe 'if (/import q/) { $_ = "import Promise from '\''bluebird'\'';\n"; }'
```
2017-07-12 23:32:28 +01:00
Richard van der Hoff
04b71c11e1
Merge pull request #492 from matrix-org/rav/even_more_flakey_tests
...
Fix some more flakey tests
2017-07-12 18:17:16 +01:00
Richard van der Hoff
651baefb1d
Remove redundant expectations
...
Apparently we weren't hitting these expected requests, so let's get rid of them.
2017-07-12 17:25:59 +01:00
Richard van der Hoff
ff7e845615
remove redundant flushAllExpected
...
Turned out this flush was completely redundant
2017-07-12 17:23:11 +01:00
Richard van der Hoff
f0612a1407
Fix some more flakey tests
...
switch a bunch of `flush()`es to `flushAllExpected()`s
2017-07-12 16:28:21 +01:00
Richard van der Hoff
83bd24adf8
More test deflakifying ( #491 )
...
Call `flushAllExpected()` from some more places. In a couple of places, we were
apparently calling `flush()` redundantly, so remove it altogether.
2017-07-12 14:05:39 +01:00
Richard van der Hoff
b5a8e6bbdf
Merge pull request #489 from t3chguy/t3chguy/test-crossplatform
...
make the npm test script windows-friendly
2017-07-12 13:49:43 +01:00
Michael Telatynski
9798fcf839
make the npm test script windows-friendly
2017-07-11 23:08:28 +01:00
David Baker
15556b6797
Merge pull request #488 from matrix-org/rav/deflakify_tests
...
Fix a bunch of races in the tests
2017-07-11 13:22:27 +01:00
Richard van der Hoff
0ca4d728d8
Fix a bunch of races in the tests
...
Once we switch to bluebird, suddenly a load of timing issues come out of the
woodwork. Basically, we need to try harder when flushing requests. Bump to
matrix-mock-request 1.1.0, which provides `flushAllExpected`, and waits for
requests to arrive when given a `numToFlush`; then use `flushAllExpected` in
various places to make the tests more resilient.
2017-07-11 12:09:21 +01:00
David Baker
b2c7804032
Merge pull request #487 from matrix-org/rav/fix_bad_all_usage
...
Fix early return in MatrixClient.setGuestAccess
2017-07-11 11:21:45 +01:00
David Baker
e091dc0294
Merge pull request #486 from matrix-org/rav/kill_failTest
...
Remove testUtils.failTest
2017-07-11 11:21:14 +01:00
Richard van der Hoff
3bfb4595cf
Remove redundant calls to done
...
These tests which return a promise already don't need to call `done`.
2017-07-10 17:40:23 +01:00
Richard van der Hoff
8955d8de23
remove utils.failTest
...
this is no longer used, so kill it
2017-07-10 17:25:56 +01:00
Richard van der Hoff
1372b298bb
kill off more utils.failTest refs
...
manual replacement of some more complicated utils.failTest usages with q.all()
invocations.
2017-07-10 17:25:48 +01:00
Richard van der Hoff
9558845e6e
Fix early return in MatrixClient.setGuestAccess
...
(as well as a similar bug in the test suite)
Turns out that `q.all(a, b)` === `q.all([a])`, rather than `q.all([a,b])`: it
only waits for the *first* promise - which means that `client.setGuestAccess`
would swallow any errors returned from the API.
2017-07-10 17:14:52 +01:00
Richard van der Hoff
5ab0930de8
utils.failTest -> nodeify
...
Automated replacement of utils.failTest with nodeify
This was done with the perl incantation:
```
find spec -name '*.js' |
xargs perl -i -pe 's/catch\((testUtils|utils).failTest\).done\(done\)/nodeify(done)/'
```
more auto
2017-07-10 16:37:31 +01:00
David Baker
3294f4858a
Merge pull request #485 from matrix-org/rav/test_watch
...
Add test:watch script
2017-07-07 14:25:36 +01:00
Richard van der Hoff
eea9a3ba59
Add test:watch script
...
... to run the tests in a loop.
2017-07-07 14:19:41 +01:00
Richard van der Hoff
753974d663
Merge pull request #484 from matrix-org/rav/enable_async
...
Make it possible to use async/await
2017-07-07 13:47:59 +01:00
David Baker
527cd0a6e5
Implement 'joined_groups' API ( #477 )
...
* Add group summary api
* Add doc for group summary API
and remove callback param as it's deprecated
* API for /joined_groups
* Create group API
* Make doc marginally more helpful
2017-07-06 22:02:17 +01:00
Richard van der Hoff
24f70387d2
Make it possible to use async/await
...
Enables the babel plugin that transpiles async/await to generator functions,
and load the regenerator runtime so that generator functions work.
2017-07-06 18:52:37 +01:00
Richard van der Hoff
adc2070ac1
Merge pull request #483 from matrix-org/rav/remove_new_device_support
...
Remove m.new_device support
2017-07-06 17:10:37 +01:00
Richard van der Hoff
a8642682d0
Remove m.new_device support
...
We now rely on the server to track new devices, and tell us about them when
users add them, rather than forcing devices to announce themselves (see
https://github.com/vector-im/riot-web/issues/2305 for the whole backstory
there).
The necessary support for that has now been in all the clients and the server
for several months (since March or so). I now want to get rid of the
localstorage store, which this code is relying on, so now seems like a good
time to get rid of it. Yay.
2017-07-06 16:05:40 +01:00
Kegsay
d66e6db480
Merge pull request #478 from krombel/access_token_header
...
Use access-token in header
2017-07-06 13:44:31 +01:00
Krombel
dc66bbc3dc
pass useAuthorizationHeader from constructor; add docs
2017-07-06 13:47:54 +02:00
Krombel
6e7f5feea5
remove fallback to query-params and set Authorization-Header based on construcor-option
2017-07-05 17:04:40 +02:00
Richard van der Hoff
f21ea6c065
Extend timeout in megolm test
...
Use the default timeout of 100ms when waiting for the /send request, instead of
clamping it to 20ms.
2017-07-05 15:08:50 +01:00
Richard van der Hoff
6af56b56bc
Merge pull request #482 from matrix-org/rav/sanity_check_protocols
...
Sanity-check response from /thirdparty/protocols
2017-07-05 11:09:20 +01:00
Richard van der Hoff
598d40b0b7
Sanity-check response from /thirdparty/protocols
...
Check that /thirdparty/protocols gives us an object (rather than a string, for
instance). I saw a test explode, apparently because it gave us a string. Which
is odd, but in general we ought to be sanity-checking the things coming back
from the server.
2017-07-05 10:51:08 +01:00
Richard van der Hoff
6ae714f51f
Merge pull request #479 from matrix-org/rav/error_parsing
...
Avoid parsing plain-text errors as JSON
2017-07-04 17:11:47 +01:00
Richard van der Hoff
b0661bb586
Update to matrix-mock-request 1.0
...
-- to pick up on the json parsing differences
2017-07-04 16:35:33 +01:00
Richard van der Hoff
b6a165f1f8
Merge branch 'develop' into rav/error_parsing
2017-07-04 16:03:33 +01:00
Richard van der Hoff
8fe4a36b68
Merge pull request #481 from matrix-org/rav/use_external_mock_request
...
Use external mock-request
2017-07-04 16:01:21 +01:00
Richard van der Hoff
0d24f2d4c1
Use external mock-request
...
mock-request is now factored out to matrix-mock-request; use it
2017-07-04 15:45:22 +01:00
Krombel
dd0ff3eeb5
intercept first authedRequest to determine if accessToken can be send by header (clearer structure)
2017-07-04 16:16:10 +02:00
Krombel
07868f701a
Merge remote-tracking branch 'upstream/develop' into access_token_header
2017-07-04 15:28:17 +02:00
Richard van der Hoff
f4f0e4b60f
Merge pull request #480 from matrix-org/rav/fix_test_races
...
Fix some races in the tests
2017-07-04 14:04:24 +01:00
Richard van der Hoff
ae950a2ff4
Fix some races in the tests
...
There is a common pattern in the tests which is, when we want to mock a /sync,
to flush it, and then, in the next tick of the promise loop, to wait for the
syncing event. However, this is racy: there is no guarantee that the syncing
event will not happen before the next tick of the promise loop.
Instead, we should set the expectation of the syncing event, then do the flush.
(Technically we only need to wait for the syncing event, but by waiting for
both we'll catch any errors thrown by the flush, and make sure we don't have
any outstanding flushes before proceeding).
Add a utility method to TestClient to do the above, and use it where we have a
TestClient.
(Also fixes a couple of other minor buglets in the tests).
2017-07-04 13:48:26 +01:00
Richard van der Hoff
5f6e4bdfe9
Avoid parsing plain-text errors as JSON
...
It's somewhat unhelpful to spam over the actual error from the reverse-proxy or
whatever with a SyntaxError.
2017-07-03 19:30:23 +01:00
Krombel
c6d2d4ccda
readd failover if server does not handle access-token via header
2017-07-01 14:30:37 +02:00
Krombel
59160a5d42
Implement failover when server does not allow setting the Authorized-header (CORS)
2017-07-01 12:16:46 +02:00
Krombel
5da6423fd6
Added failover if server does not recognize the auth header
2017-06-27 13:29:08 +02:00
Krombel
d36b8721ca
Allow Authorization-Header in tests
2017-06-23 15:49:07 +02:00
Krombel
539abffe0e
Merge remote-tracking branch 'upstream/develop' into access_token_header
2017-06-23 15:16:58 +02:00
Krombel
9b24e66441
Merge branch 'develop' into access_token_header
2017-06-23 15:16:41 +02:00
Richard van der Hoff
cc16cb9281
Merge pull request #475 from matrix-org/rav/fallback_to_memorystore
...
Fall back to MemoryCryptoStore if indexeddb fails
2017-06-22 16:05:30 +01:00
Richard van der Hoff
45fe4846f2
Fall back to MemoryCryptoStore if indexeddb fails
...
If we get an error when connecting to th indexeddb, fall back to a
MemoryCryptoStore.
This takes a bit of reorganising, because we don't get the error until we try
to connect to the database.
2017-06-22 15:22:55 +01:00
David Baker
3ca2779d9c
Merge pull request #474 from matrix-org/rav/fix_braindead_firefox
...
Fix load failure in firefox when indexedDB is disabled
2017-06-22 15:22:21 +01:00
Richard van der Hoff
967341b127
fix build error
...
browser-index isn't transpiled, so can't use var there.
2017-06-22 15:16:23 +01:00
Richard van der Hoff
4e7f9fb805
Fix load failure in firefox when indexedDB is disabled
2017-06-22 15:05:02 +01:00
David Baker
f3eb661aad
Merge branch 'master' into develop
2017-06-22 11:51:24 +01:00
David Baker
1abf8e23a4
v0.7.13
2017-06-22 11:48:30 +01:00
David Baker
9f1f476f43
Prepare changelog for v0.7.13
2017-06-22 11:48:29 +01:00
David Baker
1a9d61c92a
Merge pull request #473 from matrix-org/rav/no_require_indexeddb
...
Fix failure on Tor browser
2017-06-22 11:22:36 +01:00
David Baker
6ad465e3c0
Merge pull request #472 from matrix-org/rav/indexeddb_fixes
...
Fix issues with firefox private browsing
2017-06-22 11:15:03 +01:00
Richard van der Hoff
8ef947722f
Fail gracefully on browsers without indexeddb
...
If we don't have indexeddb at all, don't try to make an indexeddb crypto store.
2017-06-22 07:49:28 +01:00
Richard van der Hoff
6e6b5c95a3
indexeddb worker: make clearDatabase work without having connected
...
... so that we can clear the database during login from a temporary client.
2017-06-21 21:13:41 +01:00
Richard van der Hoff
fa593a7a37
Treat errors when deleting indexeddb as non-fatal
...
If we get an error when vaping the indexeddb, carry on regardless
2017-06-21 18:06:21 +01:00
Richard van der Hoff
7fcccad0ae
Fix another round of test failures
...
'blocked' is *not* a fatal situation when opening or deleting databases.
2017-06-21 11:26:02 +01:00
David Baker
e8ce94ade2
Merge pull request #471 from matrix-org/rav/fix_test_race
...
Fix a race in a test
2017-06-21 09:28:16 +01:00
Richard van der Hoff
6055f038ee
Fix a race in a test
...
startClient was written in such a way that it would leave a flush() running,
which could sometimes interfere with the rest of the test (or even subsequent
tests), causing sporadic test failures. Make sure that the flush completes
before we move on.
Fix a test which turned out to be relying on that behaviour (there was a flush
which ended up being a no-op, thus effectively inserting a pause allowing the
sync promise to complete.
Fix a beforeEach handler which was relying on startClient resolving to
undefined.
2017-06-21 07:57:38 +01:00
Richard van der Hoff
6a1f40eeab
Make sure we shut down the crypto module properly
...
listening to the sync STOPPED event doesn't cut it, because the app might (and
does, in the case of react-sdk) do a removeAllListeners.
2017-06-20 23:51:25 +01:00
Richard van der Hoff
ca01589e50
Fix another round of test failures
...
'blocked' is *not* a fatal situation when opening or deleting databases.
2017-06-20 17:36:35 +01:00
David Baker
cca891644d
Merge pull request #470 from matrix-org/rav/fix_error_on_shutdown
...
Avoid throwing an unhandled error when the indexeddb is deleted
2017-06-20 15:46:55 +01:00
Richard van der Hoff
cd19578d80
Avoid throwing an unhandled error when the indexeddb is deleted
...
Hopefully this will fix the vector-web test failures (the
OutgoingRoomRequestManager throws an exception because the indexeddb is being
deleted just as it's getting started).
2017-06-20 15:36:05 +01:00
Richard van der Hoff
c96f7e5a13
Merge pull request #469 from matrix-org/rav/fix_jsdoc_build
...
fix jsdoc
2017-06-20 14:01:14 +01:00
Richard van der Hoff
d7f92b4f72
fix jsdoc
2017-06-20 13:51:08 +01:00
Richard van der Hoff
70a5208fcc
Run gendoc as part of the travis build
...
... so that I don't get surprised by it not working when it lands on develop
2017-06-20 13:33:04 +01:00
Richard van der Hoff
8c9150db66
Merge pull request #468 from matrix-org/rav/handle_forwarded_room_key_2
...
Handle m.forwarded_room_key events
2017-06-20 13:18:44 +01:00
Richard van der Hoff
1f86dbd12f
Add support for forwarding room keys to megolm
...
when we receive a m.forwarded_room_key, add it to the crypto store, but
remember who forwarded it to us, so we can decide whether to trust them
separately.
2017-06-20 12:39:36 +01:00
Richard van der Hoff
cfa871c076
event.js: Add support for forwardingCurve25519KeyChain
2017-06-20 11:51:30 +01:00
Richard van der Hoff
f355661522
fix a lint error
2017-06-20 11:51:30 +01:00
Richard van der Hoff
be3fb0f917
Make a start on a unit test for megolm alg impl
...
not much here yet, but it's a start at least.
2017-06-20 11:51:30 +01:00
Richard van der Hoff
e2f4c0ffd1
Rename megolm integration tests
...
I'm going to introduce some separate unit tests, so let's give this a different
filename to reduce confusion.
2017-06-20 11:51:11 +01:00
Richard van der Hoff
210a53a3a5
Refactor internal OlmDevice methods
...
Rearrange the way _getInboundGroupSession and _saveInboundGroupSession work, so
that we can add more things to the storage without growing the parameter list
forever.
2017-06-20 11:51:11 +01:00
Richard van der Hoff
5049919855
Replace keysProved and keysClaimed
...
These terms were somewhat confusing (and, in the case of megolm, misleading),
so replace them with explicit senderCurve25519Key and claimedEd25519Key fields.
2017-06-20 11:51:11 +01:00
Richard van der Hoff
ce187786cb
Merge remote-tracking branch 'origin/develop' into room_key_sharing
2017-06-20 11:28:53 +01:00
Richard van der Hoff
e6b35a9237
Run the crypto tests under travis ( #467 )
...
The crypto tests haven't been running since things got rearranged to expect
Olm in a global (41864d4 ). Reinstate them.
2017-06-20 10:44:03 +01:00
Richard van der Hoff
82e5e9cf4a
Merge branch 'develop' into room_key_sharing
2017-06-19 17:38:35 +01:00
David Baker
d7e1910076
Merge pull request #466 from matrix-org/rav/improve_indexeddb_errors
...
Improve error reporting from indexeddbstore.clearDatabase
2017-06-19 16:00:38 +01:00
Richard van der Hoff
009c28ae50
Improve error reporting from indexeddbstore.clearDatabase
...
- to help understand when it gets stuck in tests
2017-06-19 15:51:55 +01:00
David Baker
db66023102
v0.7.12
2017-06-19 11:58:56 +01:00
David Baker
4d8dc1a0c4
Prepare changelog for v0.7.12
2017-06-19 11:58:55 +01:00
Krombel
e0a5edeb04
implement usage of Authorization-Header instead of query-param for access_token
2017-06-16 12:33:42 +02:00
David Baker
ffd9a01e2f
v0.7.12-rc.1
2017-06-15 17:13:26 +01:00
David Baker
25a8c79951
Prepare changelog for v0.7.12-rc.1
2017-06-15 17:13:25 +01:00
Matthew Hodgson
c8674ff104
Merge pull request #462 from t3chguy/t3chguy/voip/force_turn
...
allow setting iceTransportPolicy to relay through forceTURN option
2017-06-12 21:43:50 +01:00
Michael Telatynski
a40b10f53c
allow setting iceTransportPolicy to relay through forceTURN option
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2017-06-12 20:23:57 +01:00
David Baker
79fa944402
v0.7.11
2017-06-12 15:17:53 +01:00
David Baker
ed3cdeec74
Prepare changelog for v0.7.11
2017-06-12 15:17:53 +01:00
David Baker
05d50d457c
Merge remote-tracking branch 'origin/develop' into release-v0.7.11
2017-06-12 15:16:18 +01:00
David Baker
2531db84a6
Merge pull request #460 from matrix-org/rav/send_message_logging
...
Add a bunch of logging around sending messages
2017-06-12 13:37:50 +01:00
Richard van der Hoff
96c1126fe5
Add a bunch of logging around sending messages
...
In an attempt to diagnose https://github.com/vector-im/riot-web/issues/4278 ,
add some debug to make the rageshakes more useful.
2017-06-12 13:32:10 +01:00
David Baker
bb5038b8b2
v0.7.11-rc.1
2017-06-09 20:23:30 +01:00
David Baker
0c65162349
Prepare changelog for v0.7.11-rc.1
2017-06-09 20:23:29 +01:00
David Baker
17cc12844d
Merge pull request #458 from matrix-org/rav/resolve_timeline_window_quickly
...
Make TimelineWindow.load resolve quicker if we have the events
2017-06-09 20:06:28 +01:00
Richard van der Hoff
6cfcf92a28
Make TimelineWindow.load resolve quicker if we have the events
...
If we have the events in memory, let TimelineWindow.load() return
a resolved promise, so that the UI can show the view straight away instead
of showing the spinner.
2017-06-09 14:59:11 +01:00
Luke Barnard
6ed9a85dca
Add API for POST /user_directory/search ( #457 )
...
* Add API for POST /user_directory/search
This takes a JSON body of the form:
```json
{
"term": "search term",
"limit": 42,
}
```
where "term" is the term to match against user IDs, display names and domains and "limit" is the maximum number of results to return (which is defaulted server-side).
The response body looks like
```json
{
"results ": [
{ "user_id": "@someid:mydomain.com", "display_name": "Some Name", "avatar_url": "mx://..." },
...
],
"limited": false
}
```
where "limited" indicates whether the "limit" was used to truncate the list.
2017-06-07 15:34:07 +01:00
Richard van der Hoff
0371265fea
Send a cancellation for room key requests ( #456 )
...
* Send a cancellation for room key requests
When we receive a room key, cancel any pending requests we have open for that
key.
2017-06-07 14:00:47 +01:00
Richard van der Hoff
de257b34c0
Merge pull request #454 from matrix-org/rav/key_share/incoming
...
Implement sharing of megolm keys
2017-06-07 13:17:43 +01:00
Richard van der Hoff
4b6575d94a
Fix jsdocs
2017-06-07 11:02:27 +01:00
Richard van der Hoff
2c54d76085
Implement sharing of megolm keys
2017-06-06 14:46:54 +01:00
Richard van der Hoff
70f39ed760
Fix lint failure
2017-06-06 14:46:24 +01:00
Richard van der Hoff
1c6652483b
Merge pull request #449 from matrix-org/rav/handle_room_key_requests
...
Process received room key requests
2017-06-06 14:30:56 +01:00
Richard van der Hoff
ab7e0a9266
Merge branch 'room_key_sharing' into rav/handle_room_key_requests
2017-06-06 14:30:34 +01:00
Richard van der Hoff
ff323d00af
Merge pull request #448 from matrix-org/rav/send_room_key_requests
...
Send m.room_key_request events when we fail to decrypt an event
2017-06-06 14:25:40 +01:00
Richard van der Hoff
ea2a04135f
Send a room key request on decryption failure
...
When we are missing the keys to decrypt an event, send out a request for those
keys to our other devices and to the original sender.
2017-06-06 14:24:19 +01:00
Richard van der Hoff
6d88c76464
Storage layer for management of outgoing room key requests
2017-06-06 14:24:19 +01:00
Luke Barnard
9b188ca87d
Use single room object for duration of peek ( #453 )
...
Use single room object for duration of peek
Instead of getting the room by ID every time the room is polled for events, which could cause issues if the state of the room is modified from under the peeking logic (if the user joined the room or registered etc.)
2017-06-06 12:15:30 +01:00
Richard van der Hoff
1664312c80
Address review comments
...
Avoid gut-wrenching properties on IncomingRoomKeyRequest.
2017-06-05 16:07:38 +01:00
David Baker
38baa42ebb
Merge pull request #451 from matrix-org/dbkr/stop_peeking
...
Stop peeking when a matrix client is stopped
2017-06-05 14:16:35 +01:00
David Baker
654322e896
Stop peeking when a matrix client is stopped
...
Otherwise we get very confused when the peek poll returns after
the client is stopped.
2017-06-05 14:04:41 +01:00
Richard van der Hoff
3f70f532b7
Update README.md
...
lack of olm is a warning, not an exception
2017-06-05 09:24:59 +01:00
Richard van der Hoff
6ba214a259
Merge pull request #450 from arxcode/develop
...
Update README: Clarify how to install libolm
2017-06-05 09:22:34 +01:00
arxcode
caf73f387f
Update README: Clarify how to install libolm
2017-06-04 23:24:11 +02:00
Matthew Hodgson
9a81ca9fab
v0.7.10
2017-06-02 01:02:01 +01:00
Matthew Hodgson
0edf19a871
Prepare changelog for v0.7.10
2017-06-02 01:02:01 +01:00
Matthew Hodgson
6989f6c835
switch to using new media constraints to allow device selection to work
2017-06-01 21:57:58 +01:00
Richard van der Hoff
2daa39520a
Room key request cancellation handling
2017-06-01 18:30:32 +01:00
Richard van der Hoff
c8eca50f43
Processing of received room key requests
...
Doesn't actually do any of the crypto magic yet.
2017-06-01 18:30:26 +01:00
Richard van der Hoff
de844f1a32
Merge pull request #447 from matrix-org/rav/fix_indexeddb_deletion
...
indexeddb-crypto-store: fix db deletion
2017-06-01 17:34:37 +01:00
Richard van der Hoff
97951e1c1a
Merge pull request #446 from matrix-org/rav/load_olm_from_global
...
Load Olm from the global rather than requiring it.
2017-06-01 15:41:22 +01:00
Richard van der Hoff
2edbed8528
indexeddb-crypto-store: fix db deletion
...
Add an `onversionchange` listener to close the db, so that we can delete it
without blocking.
2017-06-01 15:37:27 +01:00
Richard van der Hoff
24937910c7
Merge remote-tracking branch 'origin/develop' into rav/load_olm_from_global
2017-06-01 15:31:27 +01:00
Richard van der Hoff
5cd441fb48
Add a warning to the changelog
2017-06-01 15:30:00 +01:00
Richard van der Hoff
06b956bd75
disable e2e test when there is no e2e
2017-06-01 13:16:10 +01:00
Richard van der Hoff
41864d46c3
Load Olm from the global rather than requiring it.
...
This means that we can avoid confusing everybody in the world about how to
webpack js-sdk apps.
2017-06-01 13:09:48 +01:00
Matthew Hodgson
f6622e0bcd
unbreak riot-web release process
2017-06-01 02:41:47 +01:00
Matthew Hodgson
0f30d21fa2
v0.7.9
2017-06-01 01:41:06 +01:00
Matthew Hodgson
4257c8c9f5
Prepare changelog for v0.7.9
2017-06-01 01:41:06 +01:00
Richard van der Hoff
331859d383
Merge pull request #445 from matrix-org/rav/indexeddb_crypto_store
...
Initial framework for indexeddb-backed crypto store
2017-05-31 18:06:45 +01:00
Richard van der Hoff
ef03b708a8
Add MatrixClient.clearStores
...
- to clear both sets of storage on logout
2017-05-31 17:22:07 +01:00
Richard van der Hoff
716d098361
Address Kegan's review comments
...
jsdoc mostly.
2017-05-31 16:05:00 +01:00
Richard van der Hoff
d887057660
Merge pull request #444 from matrix-org/rav/factor_out_reemit
...
Factor out reEmit to a common module
2017-05-31 14:22:34 +01:00
Richard van der Hoff
7efbfebb4d
Factor out reEmit to a common module
...
and rewrite it to use modern JS while we're at it
2017-05-31 11:01:48 +01:00
Richard van der Hoff
4c7afe5af0
Initial framework for indexeddb-backed crypto store
...
Doesn't do anything useful yet - just demonstrates a framework for how I hope
it will fit into the sdk.
2017-05-30 23:25:07 +01:00
Richard van der Hoff
676515cf27
Merge pull request #443 from matrix-org/rav/es6ify_algorithm_base
...
crypto/algorithms/base.js: Convert to es6
2017-05-23 16:36:42 +01:00
Richard van der Hoff
0eb5b0fdfa
Merge pull request #435 from t3chguy/maySendRedactionForEvent
...
maySendRedactionForEvent for userId
2017-05-23 15:45:46 +01:00
Richard van der Hoff
2feba4787f
Merge pull request #441 from matrix-org/rav/get_userid
...
MatrixClient: add getUserId()
2017-05-23 15:44:34 +01:00
Michael Telatynski
516dc1043e
prevent powerLevels being undef
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2017-05-23 14:53:11 +01:00
Richard van der Hoff
b26c1c57dc
crypto/algorithms/base.js: Convert to es6
...
Convert base to an es6 module with es6 classes, for clarity and to help with
jsdoccing.
Complications are:
* jsdoc gets confused by `export class`, so the exports are separated.
* turns out that extending Error is a bit difficult, so instanceof doesn't work
on derived Error classes. This only really affects us in one place (app-side
code shouldn't be doing instanceofs anyway), so just use `name` instead.
2017-05-23 14:32:13 +01:00
Richard van der Hoff
0945ba9e90
Merge pull request #442 from matrix-org/rav/custom_babel_for_jsdoc
...
Run jsdoc on a custom babeling of the source
2017-05-23 14:28:41 +01:00
Michael Telatynski
69ed6f283d
fix based on rich's feedback
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2017-05-23 12:55:05 +01:00
Richard van der Hoff
9eef850d0c
Run jsdoc on a custom babeling of the source
...
jsdoc can't read our raw source, because of our dangling commas in function
calls. On the other hand, running on /lib means that a lot of the useful
information about exports is lost and you end up having to jump through hoops
to get jsdoc to generate the right thing.
This uses a separate run of babel (with all the presets turned off) to generate
source which is almost identical to the input, but lacks trailing commas.
(https://babeljs.io/blog/2015/10/31/setting-up-babel-6 says 'Babel 6 ships
without any default transforms, so when you run Babel on a file it will just
print it back out to you without changing anything.' - however, that is,
empirically, not entirely true.)
2017-05-23 12:26:17 +01:00
Richard van der Hoff
cf1574d690
MatrixClient: add getUserId()
...
... I'm amazed we got this far without it.
2017-05-23 10:37:26 +01:00
David Baker
d6913e41a0
Merge branch 'master' into develop
2017-05-22 11:33:20 +01:00
David Baker
3c81c295c7
v0.7.8
2017-05-22 11:31:48 +01:00
David Baker
56dfa0c755
Prepare changelog for v0.7.8
2017-05-22 11:31:47 +01:00
Richard van der Hoff
43989be768
Merge pull request #439 from kscz/add_getstoreddeviceforuser
...
Add in a public api getStoredDevice allowing clients to get a specific device
2017-05-22 09:36:38 +01:00
Kit Sczudlo
822380ac38
Add in a public api getStoredDevice allowing clients to get a specific device
...
Signed-off-by: Kit Sczudlo <kit@kitscz.com >
2017-05-21 00:30:40 -07:00
David Baker
8c37d9ac9a
v0.7.8-rc.1
2017-05-19 10:34:31 +01:00
David Baker
e40b8461f7
Prepare changelog for v0.7.8-rc.1
2017-05-19 10:34:30 +01:00
David Baker
a3f45b466a
Merge pull request #438 from matrix-org/rav/release_signing
...
Attempt to rework the release-tarball-signing stuff
2017-05-19 10:03:36 +01:00
Richard van der Hoff
672ad68c64
release.sh: download the tarball from git to verify it
2017-05-18 18:58:50 +01:00
David Baker
4ccec13739
Fix build: move uglifyjs dep to uglify-js
...
uglifyjs have gained a hyphen for some reason, and replaced th
old one with a stub package.
2017-05-17 11:21:20 +01:00
Michael Telatynski
09529a1aa8
lets please the ESLint gods
...
`--max-warnings 115` :')
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2017-05-16 14:16:42 +01:00
Michael Telatynski
d182fd6bb7
can't redact queued/not_sent
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2017-05-16 14:12:29 +01:00
Michael Telatynski
36bf123e2b
maySendRedactionForEvent for userId
...
done using a private helper so kick/ban etc perms can be done
easily at a later stage
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2017-05-16 14:04:55 +01:00
Matthew Hodgson
92cfbf655f
Merge pull request #427 from t3chguy/electron_media_select
...
ability to specify webrtc audio/video inputs for the lib to request
2017-05-15 02:10:01 +01:00
Matthew Hodgson
fbef701179
Merge pull request #434 from t3chguy/t3chguy/screen_share_firefox
...
make screen sharing call FF friendly :D
2017-05-15 00:16:33 +01:00
Michael Telatynski
0415b9cf4c
make screen sharing call FF friendly :D
...
FF is uber nice that it lets us select the display
does not seem to allow the composite ALL displays though
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2017-05-14 23:48:26 +01:00
Luke Barnard
cb9a9e8d50
Implement API for username availability ( #432 )
...
Requires synapse with https://github.com/matrix-org/synapse/pull/2183 , https://github.com/matrix-org/synapse/pull/2209 and https://github.com/matrix-org/synapse/pull/2213
2017-05-11 09:14:45 +01:00
Richard van der Hoff
6021c1c6b1
Merge pull request #431 from matrix-org/rav/fix_device_list_yet_again
...
Fix race in device list updates
2017-05-05 13:29:53 +01:00
Richard van der Hoff
655be2fa2e
Fix race in device list updates
...
Don't consider device lists up-to-date when we have another request for the
relevant user in the queue.
Fixes https://github.com/vector-im/riot-web/issues/3796 .
2017-05-05 12:34:00 +01:00
Michael Telatynski
98491a63a7
ability to specify webrtc audio/video inputs for the lib to request
2017-04-27 16:06:34 +01:00
David Baker
acd7f15c83
Merge pull request #424 from matrix-org/rob/nocam
...
WebRTC: Support recvonly for video for those without a webcam
2017-04-26 18:23:52 +01:00
Richard van der Hoff
5020d4e99f
Rework device list tracking logic ( #425 )
...
Yet another attempt at fixing
https://github.com/vector-im/riot-web/issues/2305 .
This now implements the algorithm described at
http://matrix.org/speculator/spec/HEAD/client_server/unstable.html#tracking-the-device-list-for-a-user :
* We now keep a flag to tell us which users' device lists we are tracking. That
makes it much easier to figure out whether we should care about device-update
notifications from /sync (thereby fixing
https://github.com/vector-im/riot-web/issues/3588 ).
* We use the same flag to indicate whether the device list for a particular
user is out of date. Previously we did this implicitly by only updating the
stored sync token when the list had been updated, but that was somewhat
complicated, and in any case didn't help in cases where we initiated the key
download due to a user joining an encrypted room.
Also fixes https://github.com/vector-im/riot-web/issues/3310 .
2017-04-25 17:56:01 +01:00
David Baker
9693c30209
Merge branch 'master' into develop
2017-04-25 10:51:08 +01:00
David Baker
2b6f8adc64
v0.7.7
2017-04-25 10:49:28 +01:00
David Baker
822f5927e5
Prepare changelog for v0.7.7
2017-04-25 10:49:26 +01:00
David Baker
0f6e9d7b9d
v0.7.7-rc.1
2017-04-21 18:15:49 +01:00
David Baker
99f3e3f09e
Prepare changelog for v0.7.7-rc.1
2017-04-21 18:15:48 +01:00
David Baker
aa81c96a98
Automatically complete dummy auth
...
Dummy auth flows, bu definition, do not require a response from
the user, and so should just be completed automatically by
interactive-auth.
2017-04-21 18:06:57 +01:00
Richard van der Hoff
9d532b6c72
Merge pull request #422 from t3chguy/develop
...
Update istanbul to remove minimatch DoS Warning
2017-04-21 12:12:32 +01:00
Luke Barnard
4c63906b8f
Implement API for setting RM ( #419 )
...
* Implement API for setting RM
This is now stored on the server with similar treatment to RRs. The server will only store the specified eventId as the current read marker for a room if the event is ahead in the stream when compared to the existing RM. The exception is when the RM has never been set for this room for this user, in which case the event ID will be stored as the RM without any comparison.
This API also allows for an optional RR event ID to be sent in the same request. This is because it might be the common case for some clients to update the RM at the same time as updating the RR.
See design: https://docs.google.com/document/d/1UWqdS-e1sdwkLDUY0wA4gZyIkRp-ekjsLZ8k6g_Zvso/edit
See server-side PRs: https://github.com/matrix-org/synapse/pull/2120 , https://github.com/matrix-org/synapse/pull/2128
2017-04-20 09:43:33 +01:00
Robert Swain
dd2a870227
webrtc/call: Unmute remote audio element when setting
2017-04-20 06:41:29 +02:00
Robert Swain
88948c3cfd
webrtc/call: Always offer to receive audio/video for video call
...
This allows people without (or denying access to) a webcam to make a
video call and receive audio and video from the peer.
2017-04-20 06:35:03 +02:00
Robert Swain
b33dcfe6ff
webrtc/call: Fall back to recvonly if camera/mic access is denied
...
Users of MatrixCall will need to present some sensible UX for this.
2017-04-20 06:32:52 +02:00
Robert Swain
2c15bdae04
Merge pull request #423 from matrix-org/rob/more-distinct-callid
...
webrtc/call: Make it much less likely that callIds collide locally
2017-04-19 17:34:15 +02:00
Robert Swain
2f45633312
webrtc/call: Make it much less likely that callIds collide locally
...
Previously if two calls were constructed within 1ms they could have the
same id.
2017-04-19 16:51:23 +02:00
Michael Telatynski
fdd42fbc6d
Update dependencies to remove minimatch DoS Warning
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2017-04-19 12:50:21 +01:00
Richard van der Hoff
54a6f5d425
Merge pull request #420 from matrix-org/dbkr/fix_dummy_auth
...
Automatically complete dummy auth
2017-04-13 14:23:33 +01:00
David Baker
68d9662fe5
Automatically complete dummy auth
...
Dummy auth flows, bu definition, do not require a response from
the user, and so should just be completed automatically by
interactive-auth.
2017-04-12 18:36:23 +01:00
David Baker
4f0987da01
Merge branch 'master' into develop
2017-04-12 09:58:26 +01:00
David Baker
625697e097
v0.7.6
2017-04-12 09:56:46 +01:00
David Baker
92b14f20d2
Prepare changelog for v0.7.6
2017-04-12 09:56:45 +01:00
Richard van der Hoff
dd069647d1
Merge pull request #418 from matrix-org/dbkr/release_script_dont_leave_me_in_gh_pages
...
Don't leave the gh-pages branch checked out
2017-04-10 16:36:25 +01:00
David Baker
4523ae7d29
Checkout release branch *before* exiting script
2017-04-10 16:15:06 +01:00
David Baker
19e5eda773
Don't leave the gh-pages branch checked out
...
After a pre-release, check out the release branch again rather
than leaving the working copy on the gh-pages branch
2017-04-10 15:52:37 +01:00
David Baker
070d58ac0e
v0.7.6-rc.2
2017-04-10 14:52:10 +01:00
David Baker
2d70f69857
Prepare changelog for v0.7.6-rc.2
2017-04-10 14:52:09 +01:00
David Baker
7a3acfa6a7
Merge remote-tracking branch 'origin/develop' into release-v0.7.6
2017-04-10 14:50:16 +01:00
David Baker
8ac0d12d1e
Merge pull request #416 from matrix-org/dbkr/feature_detect_webworker
...
Add feature detection for webworkers
2017-04-10 11:28:40 +01:00
David Baker
86164103f0
Allow webworker API to be passed in
...
So it can be used from Node with one of the compatible APIs
2017-04-10 10:02:06 +01:00
David Baker
b9c71ef03f
Add feature detection for webworkers
...
Only use web worker store if we have web workers available
2017-04-07 17:45:45 +01:00
David Baker
7ffff761d5
Merge remote-tracking branch 'origin/develop' into release-v0.7.6
2017-04-07 17:01:25 +01:00
Richard van der Hoff
7d4366473d
Merge pull request #415 from matrix-org/dbkr/fix_release_script
...
Fix release script
2017-04-07 17:00:12 +01:00
David Baker
e63c660162
Fix release script
...
Publish to npm before switching to the doc branch: previously we
published from master, but since we now now longer merge
pre-releases to master, publish from the release branch (just
not the doc branch because that won't work).
2017-04-07 16:55:38 +01:00
David Baker
1762f9d68e
v0.7.6-rc.1
2017-04-07 16:44:21 +01:00
David Baker
76287eed2c
Prepare changelog for v0.7.6-rc.1
2017-04-07 16:44:20 +01:00
David Baker
5a764bbaa2
Merge pull request #414 from matrix-org/dbkr/indexeddb_save_after_first_sync
...
Make indexeddb save after the first sync
2017-04-07 16:26:03 +01:00
David Baker
ce9e69c9e0
Merge remote-tracking branch 'origin/develop' into dbkr/indexeddb_save_after_first_sync
2017-04-07 16:21:54 +01:00
David Baker
3a74e1f154
Merge remote-tracking branch 'origin/dbkr/indexeddb_webworker_dont_transfer_sync' into dbkr/indexeddb_save_after_first_sync
2017-04-07 16:21:21 +01:00
David Baker
6df4a36da9
Merge pull request #413 from matrix-org/dbkr/indexeddb_webworker_dont_transfer_sync
...
Make indexeddb startup faster
2017-04-07 16:20:44 +01:00
David Baker
4e38b51958
Merge remote-tracking branch 'origin/develop' into dbkr/indexeddb_webworker_dont_transfer_sync
2017-04-07 15:12:54 +01:00
David Baker
b6c036af25
Merge pull request #412 from matrix-org/dbkr/indexeddb_webworker
...
Add ability to do indexeddb sync work in webworker
2017-04-07 15:12:22 +01:00
David Baker
dd789a8dcc
Merge branch 'dbkr/indexeddb_webworker_dont_transfer_sync' into dbkr/indexeddb_save_after_first_sync
2017-04-07 15:10:17 +01:00
David Baker
ca83b858c0
lint
2017-04-07 15:09:42 +01:00
David Baker
0f29952a1c
Smush connect() and init() together
2017-04-07 15:06:38 +01:00
David Baker
e2d7b465ae
Merge branch 'dbkr/indexeddb_webworker' into dbkr/indexeddb_webworker_dont_transfer_sync
2017-04-07 15:01:42 +01:00
David Baker
8985dc2f7e
Update import in example
2017-04-07 14:42:26 +01:00
David Baker
cf1731792c
Add separate import file for indxexeddb worker
...
And removing it from the main one
2017-04-07 14:41:12 +01:00
David Baker
4c200cdd49
lint
2017-04-07 14:26:43 +01:00
David Baker
5c8eacddde
Remove old comment
2017-04-07 12:01:31 +01:00
David Baker
2668177210
Oops, moved the variable
2017-04-07 11:58:16 +01:00
David Baker
62be08f063
Make sure worker setup doesn't race
2017-04-07 11:55:13 +01:00
David Baker
ab2a67a012
Don't try to send Error objects
2017-04-07 11:42:18 +01:00
David Baker
3ceeee7298
Typos
2017-04-07 11:40:21 +01:00
David Baker
2d7576f29b
Doc usage of the webworker class
2017-04-07 11:37:31 +01:00
David Baker
6e25a17afb
Typos
2017-04-07 11:26:52 +01:00
David Baker
0715682a8b
Name IndexedDBStoreWorker consistently
2017-04-07 11:22:07 +01:00
David Baker
cfff30c314
Use once to clean up listener
2017-04-07 11:10:57 +01:00
David Baker
b53318ecb7
Make indexeddb save after the first sync
...
Save the sync data to indexeddb after the first catch-up
Fixes https://github.com/vector-im/riot-web/issues/3527
2017-04-06 18:48:54 +01:00
David Baker
039a3e258b
Make indexeddb startup faster
...
Don't needlessly transfer data from the worker to the main script
only to immediately transfer it right back again.
2017-04-06 18:09:12 +01:00
David Baker
18806e5524
lint
2017-04-06 16:58:13 +01:00
David Baker
0594a8d03a
Don't set the sync token when loading indexeddb
...
Setting the sync token here marks the memory store part as being
synced up to that point, but it isn't because the sync data hasn't
yet been injected into it.
The sync token will be set in the normal way when the cached sync
response is processed, at which point it will be accurate because
the cached sync data will actually have been processed by the sync
code and saved to the memory store.
2017-04-06 16:41:49 +01:00
David Baker
5a575d61b6
Comment really inefficient bit
2017-04-06 16:33:52 +01:00
David Baker
42c3cf2545
Use correct variable name
...
From https://github.com/matrix-org/matrix-js-sdk/pull/401
2017-04-06 16:09:28 +01:00
David Baker
bf6490739d
Fix tests
...
Make setSyncData return promises in a few places and fix all the
places the tests assume that /sync being flushed == the sync
result being processed.
2017-04-06 15:20:50 +01:00
David Baker
9815c0a866
Remove debug exception catching
2017-04-06 11:47:55 +01:00
David Baker
f5f05a9a91
Add ability to do indexeddb sync work in webworker
2017-04-06 11:09:11 +01:00
David Baker
b392656d60
Merge pull request #409 from matrix-org/dbkr/indexeddb_worker_localsplit
...
Move more functionality to the indexeddb backend
2017-04-06 10:58:37 +01:00
David Baker
6737d091fd
Merge pull request #410 from matrix-org/luke/fix-indicate-error-when-reconnecting
...
Indicate syncState ERROR after many failed /syncs
2017-04-05 16:07:53 +01:00
Luke Barnard
9f924c3510
Respond to code review
...
- failedSyncCount -> this._failedSyncCount
- Reset at a point which is more obviously after a successful sync, and add comments to clarify the recursive syncage.
- Sync state will now flip from RECONNECTING to ERROR after FAILED_SYNC_ERROR_THRESHOLD syncs
2017-04-05 09:40:06 +01:00
Luke Barnard
2ea66d2e81
Indicate syncState ERROR after many failed /syncs
...
when a /sync leads to an error, increase a counter and use the counter to decide which state to be in when starting keepAlives. If the count is above a certain threshold (arbitrary 3 chosen here), switch from RECONNECTING to ERROR to show that the server is facing difficulties that aren't affeting is ability to return on /versions.
2017-04-04 18:12:20 +01:00
David Baker
d18c238938
Dangling comma
2017-04-04 16:35:39 +01:00
David Baker
8c92e221a3
long line
2017-04-04 16:29:05 +01:00
David Baker
bafe9c06d4
Move more functionality to the indexeddb backend
...
Now the backend drives the sync accumulator as well. Also moves
the backend out to a separate file.
2017-04-04 16:25:58 +01:00
David Baker
cad6ec854e
Merge pull request #407 from matrix-org/dbkr/indexeddb_refactor_2
...
Further reorganising of indexeddb sync code
2017-04-04 13:13:18 +01:00
David Baker
47a0398b62
Remove other two lines
2017-04-04 10:43:57 +01:00
David Baker
11f5ae3c20
Merge remote-tracking branch 'origin/dbkr/indexeddb_hide_internals' into dbkr/indexeddb_refactor_2
2017-04-04 10:39:23 +01:00
David Baker
61cf853eb5
Merge pull request #406 from matrix-org/dbkr/indexeddb_hide_internals
...
Change interface of IndexedDBStore: hide internals
2017-04-04 10:38:43 +01:00
David Baker
f72884ac19
Spelling
2017-04-04 10:36:31 +01:00
David Baker
b72b38b0a3
Add missed methods to stub/memory store
...
and fix tests
2017-04-03 17:45:58 +01:00
David Baker
6a2465329a
Add jsdoc
2017-04-03 17:12:30 +01:00
David Baker
4cb80588e9
Merge branch 'dbkr/indexeddb_hide_internals' into dbkr/indexeddb_refactor_2
2017-04-03 16:41:02 +01:00
David Baker
753f11e0e9
Stray jsdoc line that didn't get removed
2017-04-03 15:39:08 +01:00
David Baker
c0bd2c8945
Further reorganising of indexeddb sync code
...
* Make sync communicate with the sync accumulator via the store
* Consequently get rid of getSyncAccumulator as it's now
unnecessary.
* Make the bit that gets the saved sync response async, because
we'll need it to be when it's coming over postMessage from a
webworker.
2017-03-31 18:18:53 +01:00
David Baker
aebbe4f254
Change interface of IndexedDBStore: hide internals
...
Hide the IndexedDBBackend and SyncAccumulator objects and have
indexeddbstore instaniate them itself, rather than making the app
instantiate them. Pass the approipriate options through. This
gives us much more flexibility to move things around under the
hood.
2017-03-31 14:53:13 +01:00
David Baker
68948dbaeb
Merge pull request #405 from matrix-org/dbkr/fix_notifs_on_refresh
...
Don't be SYNCING until updating from the server
2017-03-28 15:16:01 +01:00
David Baker
a38917f920
Don't be SYNCING until updating from the server
...
Syncing should probably mean the stream is up to date and
streaming messages in real-time from the server, which is not the
case if we've only loaded the cached response. Stay PREPARED until
we actually get the latest from the server.
2017-03-28 14:57:11 +01:00
Kegsay
f52e198b17
Merge pull request #403 from matrix-org/kegan/dont-log-store-data
...
Don't log the entire /sync response
2017-03-24 15:09:14 +00:00
Kegan Dougal
dec734346b
Don't log the entire /sync response
...
The console will maintain a strong ref to this object, which may exacerbate
memory leaks.
2017-03-24 14:15:35 +00:00
David Baker
a73f10edd4
Merge pull request #402 from matrix-org/rob/webrtc-srcobject
...
webrtc/call: Assign MediaStream to video element srcObject
2017-03-24 14:14:22 +00:00
Robert Swain
59a7232016
webrtc/call: Wrap long line
2017-03-24 15:00:49 +01:00
Robert Swain
d9e6aed9da
webrtc/call: Assign MediaStream to video element srcObject
...
video.src = URL.createObjectURL(stream) is on the way out. Firefox will
complain with errors about not being able to play media of type
"text/html" for example.
2017-03-24 14:53:43 +01:00
David Baker
e4f52dd1c7
Merge pull request #400 from matrix-org/dbkr/fix_requests_null_deref
...
Fix undefined reference in http-api
2017-03-23 15:45:35 +00:00
David Baker
2c1e3416e3
Fix undefined reference in http-api
...
Put the check for 'onprogress' within the check to see if req is
defined, because sometimes it isn't, apparently.
2017-03-23 15:38:15 +00:00
Richard van der Hoff
62090ef119
Merge pull request #382 from fred-wang/master
...
Add copyright header to event-timeline.js
2017-03-22 17:31:34 +00:00
Richard van der Hoff
52ef8a635f
Merge pull request #397 from williamboman/docs/user-global-account-data-event
...
client: fix docs for user-scoped account_data events
2017-03-22 17:10:52 +00:00
William Boman
bf26ccd0a5
client: fix docs for user-scoped account_data events
...
Signed-off-by: William Boman <william@redwill.se >
2017-03-22 18:02:24 +01:00
Richard van der Hoff
5a55b98650
Merge remote-tracking branch 'origin/master' into develop
2017-03-22 16:55:09 +00:00
David Baker
547333c946
Merge pull request #399 from matrix-org/rav/contributing
...
Add a CONTRIBUTING for js-sdk
2017-03-22 16:46:21 +00:00
Kegsay
1ed105cb79
Merge pull request #395 from matrix-org/kegan/memleaks
...
Fix leaking room state objects on limited sync responses
2017-03-22 16:38:42 +00:00
Richard van der Hoff
2ce2928170
Add a CONTRIBUTING for js-sdk
...
... inspired by synapse's.
2017-03-22 16:36:58 +00:00
Kegan Dougal
14727d75ac
Review comments
2017-03-22 15:13:21 +00:00
Kegan Dougal
ccbc0b79b8
Add getter/setter for the callback on the MatrixClient instance rather than a startClient opt for ease of gluing code in
2017-03-22 14:29:59 +00:00
Kegan Dougal
5bee0004b2
Revert test as nothing has changed
2017-03-22 13:51:00 +00:00
Kegan Dougal
86fd42dcb5
linting
2017-03-22 12:01:58 +00:00
Kegan Dougal
1e05e0d6f8
Review comments
2017-03-22 11:56:10 +00:00
David Baker
821e0ed6ce
Merge pull request #396 from matrix-org/dbkr/ui_auth_bg_requests
...
Extend 'ignoreFailure' to be 'background'
2017-03-22 11:56:07 +00:00
David Baker
66ce31f6d6
Add docs.
2017-03-21 18:40:00 +00:00
David Baker
cf486aedbd
Extend 'ignoreFailure' to be 'background'
...
This allows us to also use it to decide whether or not to show
the app as busy in the UI. We pass this flag up into the
makeRequest callback so it can use it as such.
2017-03-21 18:37:08 +00:00
David Baker
1b0f22c4ae
Merge pull request #388 from matrix-org/dbkr/x_show_msisdn
...
Add x_show_msisdn parameter to register calls
2017-03-21 13:41:34 +00:00
Kegan Dougal
55acf21aa6
Linting
2017-03-20 12:06:37 +00:00
Kegan Dougal
dc8a2670ab
Unbreak tests
2017-03-20 12:05:22 +00:00
Kegan Dougal
b666ec1f4d
Fix memory leak on limited room responses
2017-03-20 11:46:50 +00:00
Kegan Dougal
999fc07683
Explain the memory hack
2017-03-20 11:34:50 +00:00
Kegan Dougal
37a186696a
Remove spurious changes
2017-03-20 11:27:59 +00:00
Kegan Dougal
107ef27f69
Remove spurious changes
2017-03-20 11:26:59 +00:00
Kegan Dougal
0c1c10a0e0
WIP memleak fixes (341->295MB)
2017-03-16 18:02:17 +00:00
Richard van der Hoff
89de1f9a01
Merge pull request #394 from matrix-org/luke/redact-keep-sender-ts
...
Update event redaction to keep sender and origin_server_ts
2017-03-16 16:31:34 +00:00
Luke Barnard
602e91da40
Update event redaction to keep sender and origin_server_ts
...
Required for fixing https://github.com/matrix-org/matrix-js-sdk/issues/387
2017-03-16 16:29:55 +00:00
Kegsay
dec4e67135
Merge pull request #393 from matrix-org/kegan/sync-accumulator-limited
...
Handle 'limited' timeline responses in the SyncAccumulator
2017-03-16 13:52:41 +00:00
Kegan Dougal
c30670000d
Handle 'limited' timeline responses in the SyncAccumulator
...
Fixes vector-im/riot-web#3375
2017-03-16 13:20:27 +00:00
David Baker
9d8e81d79c
Merge pull request #391 from matrix-org/dbkr/msisdn_better_error_message
...
Give a better error message if the HS doesn't support msisdn registeration
2017-03-16 12:44:58 +00:00
David Baker
421a35c201
Stray brace
2017-03-16 12:33:24 +00:00
David Baker
fcfc7b6cec
Better doc & throw consistently
2017-03-16 12:02:06 +00:00
Luke Barnard
2f5da3851b
Use XHR onprogress to debounce http._request timeout ( #392 )
...
Instead of just using a timeout to reject ongoing requests, reset the timeout when progress is observed (at least when requests are done from browsers).
This is to fix https://github.com/vector-im/riot-web/issues/2737
2017-03-16 09:50:24 +00:00
David Baker
6c2e8eba1c
Do no-auth-flow error handling more properly
2017-03-15 16:42:57 +00:00
David Baker
c9c3937f4b
Move exception throw into _chooseFlow
2017-03-15 14:33:31 +00:00
David Baker
7777cbf6da
Lint
2017-03-15 14:21:34 +00:00
David Baker
a8a7d327ff
Give a better error message
...
if the HS doesn't support msisdn registeration
2017-03-15 14:14:04 +00:00
David Baker
571fcbe98d
Merge remote-tracking branch 'origin/develop' into dbkr/x_show_msisdn
2017-03-15 11:28:24 +00:00
David Baker
8b4b0e0d39
Save the completed flows ( #389 )
...
Otherwise we get very confused and go back to the start when given
a response with no flows etc.
Only copy data if none of the 3 fields are defined, since that's
more the situation we actually want to handle.
2017-03-15 11:15:35 +00:00
David Baker
c8868a393b
Add x_show_msisdn parameter to rregister calls
...
Request the msisdn stages in the rtegister UI auth, as commented
2017-03-13 17:51:59 +00:00
Matthew Hodgson
49be37dcf9
remove incredibly verbose start/complete sync logging
2017-03-11 15:06:29 +00:00
David Baker
2cd5fe2fec
Support msisdn registration and signin ( #384 )
...
* Functionality for msisdn signin
* Add methods to request tokens from synapse to do msisdn
verification
* Extend interactive-auth to work with m.email.identity (which
is significant since email auth is quite a chunk more complex).
* Oops, fix merge
* Fix lint
* Add submitMsisdnToken
* Support the bind_msisdn param to register
Change the bind_email flag to an object with keys 'email' and
'msisdn', backwards compatibly.
2017-03-09 10:56:50 +00:00
David Baker
b52a674c1a
Merge pull request #383 from matrix-org/dbkr/fix_teamserver
...
Add getEmailSid
2017-03-06 17:57:06 +00:00
David Baker
8f790d406f
Fix lint (add jsdoc)
2017-03-06 09:27:29 +00:00
David Baker
7e2a256229
Add getEmailSid
...
Other places sometimes need to re-use the email sid to send proof
of ownership of a email address to somewhere else.
2017-03-03 17:40:26 +00:00
David Baker
c7a0a560d8
Merge pull request #380 from matrix-org/dbkr/register_ui_auth
...
Add m.login.email.identity support to UI auth
2017-03-03 13:37:35 +00:00
David Baker
1d591034ff
Doc sid param
2017-03-03 10:15:09 +00:00
Frédéric Wang
f5ceaffc5c
Add copyright header to event-timeline.js
2017-03-02 21:27:51 +01:00
David Baker
3c246a97e8
More docs
2017-03-02 14:15:43 +00:00
David Baker
ca395541b6
Backwards compat
2017-03-02 14:09:08 +00:00
David Baker
30d9dec438
Doc error objects pass to stage update
2017-03-02 14:07:25 +00:00
David Baker
ff3606478c
Merge pull request #381 from matrix-org/rob/maybe-fix-glare
...
src/client.js: Fix incorrect roomId reference in VoIP glare code
2017-03-02 13:12:29 +00:00
Robert Swain
72caf1886d
src/client.js: Fix incorrect roomId reference in VoIP glare code
...
MatrixCall has a roomId property, but not a room_id property.
2017-03-02 13:36:49 +01:00
David Baker
bdae9521cb
Copy session ID too
2017-03-01 17:35:18 +00:00
David Baker
cb7fb6c7be
Keep data from response in any case
...
Fix up flows if they're absent
2017-03-01 17:10:08 +00:00
David Baker
a33e4477af
Comment the ignoring of failures
2017-03-01 16:35:37 +00:00
David Baker
d435192e22
Remove unnecesary check
2017-03-01 16:33:55 +00:00
David Baker
9480447637
Comment stageState
2017-03-01 16:09:43 +00:00
David Baker
7dbe852606
Comment why we choose flows
2017-03-01 16:07:31 +00:00
David Baker
d7216f44f5
PR feedback: Move requestEmailToken...
...
...to the UI component (in react-sdk)
2017-03-01 16:02:50 +00:00
Luke Barnard
fdf09d46af
Emit send_event_error when UnknownDeviceError occurs during VoIP operations ( #378 )
2017-03-01 09:13:57 +00:00
David Baker
32360e7473
Lint
2017-02-28 14:13:50 +00:00
David Baker
90482377b7
Fix linting
2017-02-28 14:08:41 +00:00
David Baker
08a3aea1c7
Fix tests
2017-02-28 13:44:44 +00:00
David Baker
6eebd1e957
Ignore failures when polling for auth completion
2017-02-27 17:23:02 +00:00
David Baker
033bd9bbdc
Support polling
...
for out-of-band auth completion
2017-02-24 17:22:57 +00:00
David Baker
af634d3a7d
Add m.login.email.identity support to UI auth
...
Extends the interactive-auth to support m.login.email.identity
This also includes the ability to resume a UI auth session given
the approirpiate information (ie. to resume the auth flow having
click a link in a verification email).
2017-02-24 11:18:21 +00:00
David Baker
d42ce3935b
Merge pull request #379 from aviraldg/develop
...
add .editorconfig
2017-02-21 18:18:51 +00:00
Aviral Dasgupta
7a239c81f7
add .editorconfig
...
Signed-off-by: Aviral Dasgupta <me@aviraldg.com >
2017-02-21 23:40:00 +05:30
David Baker
2b96cd7059
Merge pull request #377 from matrix-org/kegan/indexeddb-account-data
...
Store account data in the same way as room data
2017-02-21 11:57:35 +00:00
Kegan Dougal
36b8b2c679
Unbreak tests. Add UT for account data
2017-02-21 11:51:45 +00:00
Kegan Dougal
69b3be2419
Store account data in the same way as room data
...
Previously, we treated the `MatrixEvents` that were in `this.accountData` in
`MatrixInMemoryStore` as the ground truth and saved those to disk and restored
them back upon load. This did not consider that there are **no emitted events**
when they are restored. Riot-Web was listening for a specific account data
event in order to dynamically update the theme. When the page was reloaded, we
dutifully put the right event in `MatrixInMemoryStore`, but failed to emit an
event to tell Riot-Web this. This led to vector-im/riot-web#3247
This patch fixes it by treating the `/sync` response as the ground truth and
ignoring `this.accountData` entirely. This means that upon load, we will be
injecting an `account_data` key into the initial `/sync` response. This will
cause it to be added to `this.accountData` in the store AND cause the event to
be emitted.
2017-02-21 11:39:34 +00:00
Richard van der Hoff
bbe74e6987
Merge pull request #376 from matrix-org/rav/delay_otk_generation
...
Upload one-time keys on /sync rather than a timer
2017-02-21 08:46:59 +00:00
Richard van der Hoff
98d606fca4
Upload one-time keys on /sync rather than a timer
...
Delay the upload of one-time keys until we have received a sync *without any
to-device messages*. Doing so means that we can try to avoid throwing away our
private keys just before we receive the to-device messages which use them.
Once we've decided to go ahead and upload them, we keep uploading them in
batches of 5 until we get to the desired 50 keys on the server. We then
periodically check that there are still enough on the server.
2017-02-20 16:26:24 +00:00
David Baker
5c4472492a
Un-hardcode home directory in jenkins.sh
2017-02-17 19:28:47 +00:00
David Baker
a5c726eef9
Merge pull request #374 from matrix-org/kegan/sync-frequency
...
Increase the WRITE_DELAY on database syncing
2017-02-17 16:54:51 +00:00
Kegan Dougal
d23d5b50a3
Increase the WRITE_DELAY on database syncing
2017-02-17 16:49:49 +00:00
David Baker
37e507707d
Merge pull request #373 from matrix-org/kegan/delete-all-data-promise
...
Make deleteAllData() return a Promise
2017-02-17 15:11:09 +00:00
David Baker
44d889b99a
Merge pull request #372 from matrix-org/dbkr/room_name_no_banned
...
Don't include banned users in the room name
2017-02-17 15:10:25 +00:00
Kegan Dougal
491092d040
Make deleteAllDate() return a Promise
...
It's required for the 'clear cache' button since we only want to refresh the
page after the transaction has gone through.
2017-02-17 15:03:50 +00:00
David Baker
b296a1dabe
Don't include banned users in the room name
2017-02-17 11:28:28 +00:00
Kegsay
63b8d45ef2
Merge pull request #363 from matrix-org/kegan/indexeddb
...
Support IndexedDB as a backing store
2017-02-17 11:17:57 +00:00
Kegan Dougal
8220fad855
Informative logging given it won't be spammy
2017-02-17 11:14:02 +00:00
Kegan Dougal
5aa146f0a6
Add function to UTs
2017-02-17 10:41:04 +00:00
Kegan Dougal
f8d2661426
Add deleteAllData to the store API
2017-02-17 10:39:30 +00:00
Kegan Dougal
25b8027bd6
Pass in an optional database name to allow for more than one
2017-02-17 10:22:19 +00:00
Kegan Dougal
c93c8a79b7
Add startup() to store API
2017-02-17 10:14:12 +00:00
Kegan Dougal
29336e260c
Merge branch 'develop' into kegan/indexeddb
2017-02-17 09:41:16 +00:00
Richard van der Hoff
29942e5109
Merge pull request #370 from matrix-org/rav/sync_catchup
...
Poll /sync with a short timeout while catching up
2017-02-16 16:31:45 +00:00
Richard van der Hoff
926fee8493
fix typo
2017-02-16 16:16:13 +00:00
Kegan Dougal
eedaacd256
Merge branch 'develop' into kegan/indexeddb
2017-02-16 16:10:56 +00:00
Kegan Dougal
e926aa1bf8
Explain limits on maxTimelineEntries
2017-02-16 15:49:13 +00:00
Richard van der Hoff
597f981fec
Poll /sync with a short timeout while catching up
...
On first connect, or after a disconnection, poll /sync with timeout=0 until
we get no to_device messages back. This will allow us to figure out whether we
have more to_device messages queued up for us on the server, which in turn will
help us fix a bug with clearing out one-time-keys too quickly.
2017-02-16 15:21:24 +00:00
Richard van der Hoff
777fdfbcfa
Correct/improve comments about sync states
2017-02-16 14:03:41 +00:00
Kegan Dougal
aafb587085
Don't break causality when rolling back state
...
We need to use the *previous* state when rolling back or else
causality breaks. Consider the messages:
- m.room.member : Alice
- Alice: 1
- Alice: 2
- m.room.member : Alice -> Bob
- Bob: 3
- Bob: 4
If we roll back 4 messages (to Alice: 2), we want the rolled
back m.room.member value to be "Alice" and NOT Bob. This
means we need to look at the previous state of the m.room.member
event and not the current state.
2017-02-16 12:35:34 +00:00
Kegan Dougal
1eb2576dbe
More copyyright headers on touched files
2017-02-16 11:31:33 +00:00
Kegan Dougal
9a9646d012
Review comments
2017-02-16 11:28:51 +00:00
Richard van der Hoff
8ecb05a094
Merge pull request #368 from matrix-org/rav/fix_coverage
...
Make test coverage work again
2017-02-15 20:40:09 +00:00
Richard van der Hoff
8c8ca0584f
fix package.json
2017-02-15 19:37:40 +00:00
Kegan Dougal
b02ba08abc
Remove debug comments
2017-02-15 16:53:31 +00:00
Richard van der Hoff
75d213f6b3
Make test coverage work again
...
* don't try to run npm under istanbul
* use _mocha instead of mocha because
https://github.com/gotwarlost/istanbul/issues/44#issuecomment-16093330
Also:
* write a text report for better travis
* On jenkins, clear out old coverage reports so that we don't pick up last
time's.
2017-02-15 16:52:19 +00:00
Kegan Dougal
9fdeb7a8e3
Add tests for the SyncAccumulator
2017-02-15 16:21:06 +00:00
David Baker
635b3dbccb
Merge pull request #367 from matrix-org/dbkr/event_sender_docs
...
Add docs to event
2017-02-15 15:01:40 +00:00
David Baker
e42af06609
spelling
2017-02-15 14:53:58 +00:00
David Baker
0416816329
Add docs to event
...
to say that sender won't always be set
2017-02-15 14:27:38 +00:00
David Baker
7f8f216263
Merge pull request #366 from matrix-org/rav/update_synctoken_more_often
...
Keep the device-sync token more up-to-date
2017-02-15 13:10:32 +00:00
Kegan Dougal
69ebcf08fc
Bugfix where, upon refresh, it was impossible to write to the db (clone errors)
2017-02-14 17:28:56 +00:00
Kegan Dougal
cbdb007b26
Persist receipt data
2017-02-14 16:51:27 +00:00
Kegan Dougal
a28c03a2f9
Remove TODO checks and change copyright
...
Manually tested and it appears that Synapse will indeed send
down the complete state upon rejoining a room. \o/
2017-02-14 15:42:53 +00:00
David Baker
94a8915f6c
Merge pull request #365 from matrix-org/rav/fix_devicelist_race_1
...
Fix race conditions in device list download
2017-02-14 10:46:48 +00:00
Richard van der Hoff
be7192082a
Keep the device-sync token more up-to-date
...
Update the sync token whenever the device list is in sync. Fixes
https://github.com/vector-im/riot-web/issues/3127 .
2017-02-13 18:56:49 +00:00
Richard van der Hoff
54297cacd1
Fix race when downloading initial device change list
...
Fixes a problem if the user initiates a device query before the /changes
response comes back.
2017-02-13 18:33:02 +00:00
Richard van der Hoff
82f5997e61
Fix race condition in device list query
...
Fix a race where device list queries completing out-of-order could lead to us
thinking that we were more in-sync than we actually were.
2017-02-13 18:33:02 +00:00
David Baker
4d2bc88305
Merge pull request #364 from matrix-org/dbkr/fix_unban
...
Fix the unban method
2017-02-13 18:06:35 +00:00
David Baker
cd8dfa331a
Fix the unban method
...
Which didn't work because of
https://github.com/matrix-org/synapse/issues/1860
2017-02-13 18:00:28 +00:00
Richard van der Hoff
45d22c6196
Merge pull request #362 from matrix-org/rav/no_freeze_on_device_download
...
Spread out device verification work
2017-02-13 11:54:59 +00:00
Richard van der Hoff
eeed11e283
Fix integ tests
...
Two tweaks:
* `httpBackend.flush()` now returns a value, so we can't pass its result
straight into `done()`.
* In one of the megolm tests, we need to wait for the device query to finish
before marking the relevant device as known. One easy way to do this is
actually to try sending the message first - that will block until the device
query completes.
2017-02-13 11:41:13 +00:00
Richard van der Hoff
476333b3fc
Fix comment typo
2017-02-13 11:28:19 +00:00
Kegan Dougal
c7fdbd1c64
Persist notification counts and treat them as clobbers
2017-02-10 17:15:17 +00:00
Kegan Dougal
0b9bc2a7a7
Remove old (de)serialize stuff. Inline more things
2017-02-10 16:51:55 +00:00
Kegan Dougal
6949b6666e
Revert non-functional changes to other files
2017-02-10 16:13:13 +00:00
Kegan Dougal
a380b6803a
Merge branch 'develop' into kegan/indexeddb
2017-02-10 16:11:05 +00:00
Kegan Dougal
6696c712d3
Bug fixes with the accumualtor
...
- Only take invite_state as there is a Room attached to invite objects
which then fail to be persisted.
- Store empty string state keys!
2017-02-10 15:19:50 +00:00
Kegan Dougal
0d4833d6e3
Make it all work!
2017-02-10 14:27:56 +00:00
Richard van der Hoff
207bce61ad
Spread out device verification work
...
Avoid a big freeze when we process the results of a device query, by splitting
the work up by user.
2017-02-10 13:37:41 +00:00
Richard van der Hoff
0f1d367b80
Merge pull request #361 from matrix-org/rav/moar_uisi_logging
...
Clean up/improve e2e logging
2017-02-10 10:51:19 +00:00
Richard van der Hoff
bf2e6a33c2
Minor post-review tweaks
2017-02-10 10:37:46 +00:00
Richard van der Hoff
b66fed9ae9
Clean up/improve e2e logging
...
In an attempt to make the rageshake logs a bit more useful, try to make the
logging a bit saner. Firstly, make sure we log every decryption failure, and
log it exactly once, rather than in several places. Also record when we receive
megolm keys. Also add some more explicit logging in the sync loop.
2017-02-09 17:36:22 +00:00
Richard van der Hoff
4897287fda
Merge pull request #360 from matrix-org/rav/fix_decrypt_after_keys_arrive
...
Fix decryption of events whose key arrives later
2017-02-09 17:33:45 +00:00
Kegan Dougal
cc1daa5a54
Fix tests due to API breakage
2017-02-09 17:32:23 +00:00
Kegan Dougal
6e7b9472be
Add a save() method to the store interface
...
Originally I just piggy-backed off setSyncToken() but this was]
non-obvious that depending on the store it might do writes to the
database. This was exacerbated by the fact that the save needs to
be done at the "right time" (after sync data is accumulated and
after the sync response has been processed) and setSyncToken was
being called too early.
A save() method fixes both these things.
2017-02-09 17:25:40 +00:00
Richard van der Hoff
e13ed6436e
Fix decryption of events whose key arrives later
...
Re-fixes https://github.com/vector-im/riot-web/issues/2273 .
And test it this time.
2017-02-09 16:12:43 +00:00
Kegan Dougal
db24690d9b
Fix broken tests
2017-02-09 13:37:47 +00:00
Kegan Dougal
3a39fd23c4
Add glue code to hook up the sync accumulator
...
The user of the SDK is responsible for DIing the main components:
let store = new IndexedDBStore(
new IndexedDBStoreBackend(window.indexedDB),
new SyncAccumulator(),
});
await store.startup();
let client = matrix.createClient({store: store});
2017-02-09 12:49:10 +00:00
Richard van der Hoff
d471277031
Merge pull request #359 from matrix-org/rav/remove_redundant_invalidate
...
Invalidate device lists when encryption is enabled in a room
2017-02-09 12:36:02 +00:00
Kegan Dougal
ef57b88343
Remember next_batch tokens in the accumulator. Glue it in to SyncApi
2017-02-09 11:05:16 +00:00
Kegan Dougal
1e3fcdc109
Implement getJSON()
2017-02-09 10:50:31 +00:00
Kegan Dougal
606b9718a3
Implement timeline accumulation
...
Including pruning based on maxTimelineEntries
2017-02-09 10:14:10 +00:00
Kegan Dougal
ab6e30da28
Merge branch 'develop' into kegan/indexeddb
2017-02-09 09:57:36 +00:00
Richard van der Hoff
0baea5c1a6
Invalidate device lists when encryption is enabled in a room
...
Fixes https://github.com/vector-im/riot-web/issues/2672
2017-02-08 23:23:46 +00:00
Richard van der Hoff
bd07310e15
Remove redundant invalidation of our own device list
...
89ced198 added some code which flagged our own device list as in need of an
update. However, 8d502743 then added code such that we invalidate *all* members
of e2e rooms on the first initialsync - which should include ourselves. We can
therefore remove the redundant special-case, which mostly serves to simplify
the tests.
2017-02-08 23:04:23 +00:00
Richard van der Hoff
bf227508ce
matrix-client-crypto.spec: check no outstanding http expectations
2017-02-08 18:17:43 +00:00
Richard van der Hoff
1c1ba58579
Don't force device list download on every message in olm room
...
we only really hit this in the tests, but it's a bit silly to download the
complete device list on every message.
2017-02-08 18:10:01 +00:00
Richard van der Hoff
a73f898bb9
try to make mock-request logging saner
2017-02-08 17:26:45 +00:00
Richard van der Hoff
ee8a52d0c0
Merge pull request #358 from matrix-org/rav/mocha
...
Switch from jasmine to mocha + expect + lolex
2017-02-08 16:50:11 +00:00
Richard van der Hoff
d5e87a537c
Tell eslint we are using mocha rather than jasmine
2017-02-08 16:41:43 +00:00
Richard van der Hoff
18d3786676
Remove jasmine-node
2017-02-08 15:48:53 +00:00
Richard van der Hoff
c906dbad75
jenkins.sh: clean out old reports
2017-02-08 15:14:17 +00:00
Kegan Dougal
db20fc7831
Accumulate current room state
2017-02-08 15:08:38 +00:00
Richard van der Hoff
bd226d94d8
Switch from jasmine to mocha + expect + lolex
...
Much of this transformation has been done automatically:
* add expect import to each file
* replace `not.to` with `toNot`
* replace `to[Not]Be{Undefined,Null}` with equivalents
* replace `jasmine.createSpy(...)` with `except.createSpy`, and `andCallFake`
with `andCall`
Also:
* replace `jasmine.createSpyObj` with manual alternatives
* replace `jasmine.Clock` with `lolex`
2017-02-08 14:32:37 +00:00
Richard van der Hoff
8a487ca1bc
Merge branch 'rav/source_map_support' into develop
2017-02-08 11:35:27 +00:00
David Baker
7b43a34860
Merge pull request #357 from matrix-org/rav/search_no_undefined_keys
...
searchMessageText: avoid setting keys=undefined
2017-02-08 10:58:44 +00:00
David Baker
6a60585123
Merge pull request #355 from matrix-org/rav/realtime_callbacks_this
...
realtime-callbacks: pass `global` as `this`
2017-02-08 10:57:06 +00:00
David Baker
0f7ab32777
Merge pull request #354 from matrix-org/rav/fix_tests_without_olm
...
Make the tests work without olm
2017-02-08 10:55:41 +00:00
Richard van der Hoff
ffeaf2dec0
searchMessageText: avoid setting keys=undefined
...
This doesn't make any difference to the JSON, but it upsets `expect`.
2017-02-08 09:20:23 +00:00
Richard van der Hoff
3277820381
realtime-callbacks: pass global as this
...
We had a test for this, but apparently it wasn't testing it right...
2017-02-08 07:34:30 +00:00
Richard van der Hoff
80d0aadbd0
Install source-map-support in each test
...
This makes exception traces use the source map, which is much more helpful when
debugging.
2017-02-07 22:57:09 +00:00
Richard van der Hoff
d744cecbfa
Make the tests work without olm
...
Olm is an optional dependency, so the tests should work without it.
2017-02-07 22:56:56 +00:00
David Baker
d453813db4
Merge pull request #353 from matrix-org/rav/refactor_e2e_tests
...
Tests: Factor out TestClient and use it in crypto tests
2017-02-06 16:45:52 +00:00
Kegan Dougal
c06ebd1e4a
Implement /sync accumulation for everything but room timelines/state
2017-02-06 16:45:25 +00:00
David Baker
10af2d0560
Merge pull request #352 from matrix-org/rav/device_list_lint
...
Fix some lint
2017-02-06 16:18:48 +00:00
Richard van der Hoff
42f2dafb40
Tests: Factor out TestClient and use it in crypto tests
2017-02-06 10:50:51 +00:00
Richard van der Hoff
6ca7661510
Fix some lint
2017-02-06 10:33:50 +00:00
David Baker
4388cc207f
Merge pull request #351 from matrix-org/rav/sign_source_tarball
...
Make a sig for source tarballs when releasing
2017-02-06 11:32:45 +01:00
David Baker
07f14538e3
Merge pull request #350 from matrix-org/rav/no_merge_prerel
...
When doing a pre-release, don't bother merging to master and develop.
2017-02-06 11:28:46 +01:00
Richard van der Hoff
3d9173a877
Make a sig for source tarballs when releasing
...
When we are doing a signed release, also create a sig for the 'archive' tarball
which github creates for us.
Fixes https://github.com/vector-im/riot-web/issues/3024 .
2017-02-04 11:10:40 +00:00
Richard van der Hoff
cb88f53587
When doing a pre-release, don't bother merging to master and develop.
...
This assumes that we'll eventually do a proper release (or merge the prerel
manually), and saves twiddling the package.json on downstream projects for each
prerelease.
2017-02-04 11:07:14 +00:00
Richard van der Hoff
d76e8be4ff
Merge branch 'release-v0.7.5'
2017-02-04 10:22:04 +00:00
Richard van der Hoff
e8c6002d08
v0.7.5
2017-02-04 10:15:09 +00:00
Richard van der Hoff
d9033812a2
Prepare changelog for v0.7.5
2017-02-04 10:15:02 +00:00
Richard van der Hoff
2e6b93f886
v0.7.5-rc.3
2017-02-03 15:24:28 +00:00
Richard van der Hoff
afc4e145b6
Prepare changelog for v0.7.5-rc.3
2017-02-03 15:24:21 +00:00
Richard van der Hoff
cee243a2a2
prep changelog
2017-02-03 15:21:15 +00:00
Richard van der Hoff
5fd74109ff
Fix device list update
...
s/flushNewDeviceRequests/refreshOutdatedDeviceLists/ - this got fixed on one PR
and apparenlty I failed to merge the changes correctly
2017-02-03 14:29:50 +00:00
Richard van der Hoff
a3cc8eb1f6
Include DeviceInfo in deviceVerificationChanged events
...
... to help the UI update itself
2017-02-03 14:27:08 +00:00
David Baker
bd4de4832c
v0.7.5-rc.2
2017-02-03 13:01:15 +00:00
David Baker
9e74c934a1
Prepare changelog for v0.7.5-rc.2
2017-02-03 13:01:14 +00:00
David Baker
a056d4916a
Prepare changelog for v0.7.5-rc.2
2017-02-03 13:00:26 +00:00
David Baker
31630859a2
Prepare changelog for v0.7.5-rc.2
2017-02-03 12:57:45 +00:00
David Baker
8cb41f6797
Merge remote-tracking branch 'origin/develop' into release-v0.7.5
2017-02-03 12:54:32 +00:00
Richard van der Hoff
c3a8aeca42
Merge pull request #348 from matrix-org/rav/device_list_stream
...
Use the device change notifications interface
2017-02-03 12:49:33 +00:00
Richard van der Hoff
eaa95fb1e5
Merge pull request #347 from matrix-org/rav/rewrite_device_query_logic
...
Rewrite the device key query logic
2017-02-03 12:49:11 +00:00
David Baker
8e6bca34d7
v0.7.5-rc.1
2017-02-03 12:05:50 +00:00
David Baker
1cdffa2c81
Prepare changelog for v0.7.5-rc.1
2017-02-03 12:05:50 +00:00
Kegan Dougal
0e4eebbb39
Add bare bones SyncAccumulator class with comments
2017-02-03 11:42:04 +00:00
Richard van der Hoff
8441589ce6
Merge pull request #336 from matrix-org/matthew/blacklist-unverified
...
Support for blacklisting unverified devices, both per-room and globally
2017-02-03 10:26:59 +00:00
David Baker
b52ba89cec
Merge pull request #349 from matrix-org/matthew/track-event-error2
...
track errors when events can't be sent
2017-02-03 09:35:24 +00:00
Matthew Hodgson
b99e1205c4
track errors when events can't send
2017-02-03 00:44:12 +00:00
Richard van der Hoff
8d502743a5
Refresh device list on startup
...
On initialsync, call the /keys/changes api to see which users have updated
their devices. (On failure, invalidate all of them).
2017-02-03 00:33:56 +00:00
Richard van der Hoff
732a764ec6
Refactor crypto initialsync handling
...
Pass a store into the Crypto object so that it doesn't need to make assumptions
about the EventEmitter, and use the new metadata on sync events to distinguish
between initialsyncs and normal syncs
2017-02-03 00:33:54 +00:00
Richard van der Hoff
9975786bac
Store the token corresponding to the last device update in localstorage
...
... so that we can, in future, use it when restarting the client.
2017-02-03 00:32:24 +00:00
Richard van der Hoff
89ef4aa6e7
Handle device change notifications from /sync
...
When we get a notification from /sync that a user has updated their device
list, mark the list outdated, and then fire off a device query.
2017-02-03 00:32:16 +00:00
Richard van der Hoff
7e82ac3620
Merge branch 'develop' into rav/rewrite_device_query_logic
2017-02-03 00:12:46 +00:00
Richard van der Hoff
c3440c506c
Address review comments
...
Update some comments, and s/flushNewDeviceRequests/refreshOutdatedDeviceLists/.
2017-02-03 00:10:13 +00:00
Richard van der Hoff
f16ef93cc3
package.json: Add .babelrc to files
...
... in the hope that this will mean it gets included when `npm install`ing
matrix-js-sdk into riot-web, and hence stopping babel picking up riot-web's
.babelrc.
2017-02-02 22:14:24 +00:00
Matthew Hodgson
b6f3fc5466
Merge branch 'develop' into matthew/blacklist-unverified
2017-02-02 22:02:22 +00:00
Richard van der Hoff
6690f59410
Merge pull request #346 from matrix-org/rav/factor_out_devicelist
...
Factor out device list management
2017-02-02 19:40:27 +00:00
Richard van der Hoff
65e08b9633
Fix copyright
2017-02-02 19:39:40 +00:00
Matthew Hodgson
2e916e63f5
Merge pull request #335 from matrix-org/matthew/warn-unknown-devices
...
Support for warning users when unknown devices show up
2017-02-02 18:08:39 +00:00
Kegan Dougal
f531b9fb21
Linting
2017-02-02 17:47:35 +00:00
Kegan Dougal
9581e48bcb
Load/Store account data events
2017-02-02 17:41:49 +00:00
Kegan Dougal
ad9d58ebc2
Persist User objects. Back out everything else.
...
We can reasonable persist User and account data objects. Other
objects get into horrible circular loops. We'll rethink how this
is being done.
2017-02-02 17:25:20 +00:00
Kegan Dougal
896fc5a3f0
Periodically update the database
...
Triggered by /sync responses, rather than timers, but with a minimum
delay time (1m).
2017-02-02 14:54:07 +00:00
Richard van der Hoff
94addb6315
Rewrite the device key query logic
...
Only permit one query per user at a time.
2017-02-02 13:49:43 +00:00
Kegan Dougal
2c6d4c5a5c
Implement deserialize() on all parts of the object graph
2017-02-02 12:38:03 +00:00
Richard van der Hoff
f81d6b6157
Factor out device list management
...
crypto/index.js was getting huge, so move the device list update management out
to a separate file.
This shouldn't have any effect on functionality.
2017-02-02 10:18:30 +00:00
Kegan Dougal
ef17214ae2
Add remaining load functions
2017-02-02 10:18:09 +00:00
Matthew Hodgson
5d544c773d
Merge branch 'develop' into matthew/warn-unknown-devices
2017-02-01 22:35:25 +00:00
Kegan Dougal
721b9df35d
Add deserialize() static functions for User and MatrixEvent
...
The intent here is to make it possible to repopulate User objects from an
IndexedDB object store, which stores things according to the structured-clone
algorithm. We can't just `Object.assign` everything because it would assign
JSON objects to fields which should be classes (eg `MatrixEvent`).
2017-02-01 10:35:55 +00:00
David Baker
526fbfa8f1
Merge pull request #345 from matrix-org/rav/browserify_sourcemaps
...
Enable sourcemaps in browserified distro
2017-02-01 10:14:58 +00:00
Kegan Dougal
0317830b12
Check for a deserialize() function
2017-02-01 09:49:55 +00:00
Kegan Dougal
dfd8c56838
Factor out upsert. Check for serialize() function on inserted objects
2017-02-01 09:42:20 +00:00
Richard van der Hoff
b7e33b237b
Update browserify
...
... to a more recent release, for compatibility with sourceify.
2017-02-01 00:50:22 +00:00
Kegan Dougal
025cb8bd91
Repopulate as User objects, not JSON objects
2017-01-31 17:33:12 +00:00
Kegan Dougal
fa89f2be77
Start loading content from IndexedDB. Add idealised usage example.
2017-01-31 16:53:26 +00:00
Kegan Dougal
bf008a1bee
Fix build and add stub store connect()
2017-01-31 16:33:43 +00:00
Kegan Dougal
8656ad584b
Introduce the concept of IndexedDBStoreBackend
...
So IndexedDBStore can meet the Store interface and we don't need to mess
with the guts of MatrixInMemoryStore.
2017-01-31 16:08:05 +00:00
Kegan Dougal
e316a9a5b3
Merge branch 'develop' into kegan/indexeddb
2017-01-31 15:04:43 +00:00
Richard van der Hoff
7e3a146240
Enable sourcemaps in browserified distro
...
* use sourceify to read the sourcemaps written by babel
* use {browserify, watchify} -d to write sourcemap
* use exorcist to write the sourcemap to a separate file
* add some uglifyjs incantations to read and write sourcefiles
* simples
2017-01-30 19:00:51 +00:00
Richard van der Hoff
2395d2856b
Merge pull request #344 from matrix-org/rav/allow_e2e_options
...
Record all e2e room settings in localstorage
2017-01-30 16:26:23 +00:00
David Baker
34ae473e6f
Merge pull request #340 from matrix-org/rav/allow_olm_with_browserify
...
Make Olm work with browserified js-sdk
2017-01-30 15:05:22 +00:00
Richard van der Hoff
656c54ead9
Record all e2e room settings in localstorage
...
I can't quite remember what the logic behind only recording the algorithm in
localstorage was, but the upshot is that if you try to set any e2e config
options (such as the megolm rotation periods) via the room state, then the
state gets rejected and you can't send any events.
2017-01-30 11:40:09 +00:00
Richard van der Hoff
c6e21c9c5c
Make Olm work with browserified js-sdk
...
We want to avoid distributing olm as part of the js-sdk, so we exclude it from
the browserified build. Previously this meant that you couldn't use olm this
way.
We can do better though: if the web page includes olm.js via a separate script
tag, that will set global.Olm, which we can get browserify to shim in.
2017-01-28 15:35:55 +00:00
Richard van der Hoff
e71e32122c
Merge pull request #339 from matrix-org/rav/no_require_browserify
...
Make browserify a dev dependency
2017-01-26 17:20:47 +00:00
Kegan Dougal
522105a858
First cut
2017-01-26 16:57:59 +00:00
Richard van der Hoff
e3b008e19a
Make browserify a dev dependency
2017-01-26 16:40:19 +00:00
Kegan Dougal
776cfed2b3
Merge branch 'develop' into kegan/indexeddb
2017-01-26 14:29:30 +00:00
Richard van der Hoff
85cf2a3692
Fix lint
2017-01-26 13:29:56 +00:00
Richard van der Hoff
c9b700ef6a
Merge branch 'matthew/warn-unknown-devices' into matthew/blacklist-unverified
2017-01-26 13:25:10 +00:00
Richard van der Hoff
34fde7d16d
Store device 'known' status in session store
2017-01-26 13:15:50 +00:00
Matthew Hodgson
5911c4d2db
don't automatically mark devices as known; require the app to do it
2017-01-25 23:53:51 +01:00
Matthew Hodgson
dfae72e9af
Merge branch 'matthew/warn-unknown-devices' of git+ssh://github.com/matrix-org/matrix-js-sdk into matthew/warn-unknown-devices
2017-01-25 23:35:23 +01:00
Richard van der Hoff
085493d580
Fix tests
2017-01-25 14:59:14 +00:00
Richard van der Hoff
5245c7f2ab
Merge remote-tracking branch 'origin/develop' into matthew/warn-unknown-devices
2017-01-25 11:03:23 +00:00
Richard van der Hoff
4ccd649358
Address my own review comments
2017-01-25 11:02:49 +00:00
Richard van der Hoff
32f42d59b1
Merge pull request #338 from matrix-org/dbkr/brace_style_allow_single_line
...
Allow single line brace-style
2017-01-23 14:54:18 +00:00
David Baker
ca618f2bf2
Allow single line brace-style
...
As we sometimes use (x) => {foo = x;}, especially for react
components, but probably no reason not to allow it generally.
2017-01-23 14:18:09 +00:00
Richard van der Hoff
a0ae0b3922
Merge pull request #333 from matrix-org/dbkr/comma_dangle_function
...
Turn on comma-dangle for function calls
2017-01-23 10:44:56 +00:00
David Baker
a09329949a
Make comma dangle an error
...
& put max warnings back down
2017-01-23 10:18:22 +00:00
David Baker
b67e360302
Run the test code through babel
...
Needs it now we use dangling commas on functio calls because
node doesn't like that
2017-01-23 10:08:59 +00:00
Matthew Hodgson
3d30ad843f
make it work
2017-01-22 01:29:33 +01:00
Matthew Hodgson
d37935dd78
actually consider _crypto.getGlobalBlacklistUnverifiedDevices
2017-01-21 17:51:48 +00:00
Matthew Hodgson
512d5882c9
track whether we blacklist unverified devices per-room & globally
2017-01-21 17:38:35 +00:00
Matthew Hodgson
247deacbb7
some incoherent jottings on the warning semantics
2017-01-21 17:36:26 +00:00
Matthew Hodgson
e79926db6c
fix lint
2017-01-21 05:26:01 +00:00
Matthew Hodgson
34a0bd4c38
oops, unbreak it
2017-01-21 05:13:12 +00:00
Matthew Hodgson
fb820fa9a7
experimental support for warning users when unknown devices show up in a room.
...
hopefully a step towards fixing https://github.com/vector-im/riot-web/issues/2143
2017-01-21 05:10:51 +00:00
David Baker
423175f539
eslint --fix for dangley commas on function calls
2017-01-20 16:12:02 +00:00
David Baker
007848c42e
Turn on comma-dangle for function calls
...
Our code style mandates this, but it's not the default.
Also use the babel-eslint parser because the standard one doesn't
support dangling commas on functions.
2017-01-20 12:42:57 +00:00
Richard van der Hoff
49e6fd3c60
Merge pull request #331 from matrix-org/dbkr/prefer_const
...
Add prefer-const
2017-01-19 18:28:13 +00:00
David Baker
80129e7483
Fix last prefer-const, decrease max warnings
...
and make prefer-const an error
2017-01-19 18:24:28 +00:00
David Baker
dc74a2326f
Fix some more consts
2017-01-19 18:11:09 +00:00
David Baker
fc0117869d
Update max warnings
2017-01-19 17:44:48 +00:00
David Baker
7bca05af64
eslint ---fix for prefer-const
2017-01-19 17:42:10 +00:00
David Baker
9b354ba99e
Merge remote-tracking branch 'origin/develop' into dbkr/prefer_const
2017-01-19 17:05:54 +00:00
Richard van der Hoff
194fad7445
Stop linting on npm install
...
It's annoying to run the linter on npm install, because it slows down the
react-sdk and riot-web builds.
The fact that `npm install` runs `prepublish` is going to be changed in npm 4
(see https://github.com/npm/npm/pull/14290 ), but for now this is the best bet.
2017-01-19 11:13:51 +00:00
Richard van der Hoff
18001dc539
jenkins.sh: stop if npm i fails
...
(There is no point going on)
2017-01-19 10:50:28 +00:00
Richard van der Hoff
78031f2c04
Merge pull request #326 from matrix-org/rav/megolm_export
...
Support for importing and exporting megolm sessions
2017-01-19 03:04:35 +00:00
Richard van der Hoff
07261fa5d9
Bump to Olm 2.2.1
2017-01-19 02:53:49 +00:00
David Baker
aa4ffc7bda
Add prefer-const
...
Our code style says we prefer consts, so add it to the linter.
2017-01-18 15:53:08 +00:00
David Baker
cee7f7a280
Merge pull request #329 from matrix-org/kegan/eslint2
...
Fix linting on all tests
2017-01-17 09:55:37 +00:00
David Baker
c7f173bbb2
v0.7.4
2017-01-16 13:12:18 +00:00
David Baker
118bd75a68
Prepare changelog for v0.7.4
2017-01-16 13:12:18 +00:00
David Baker
9a593f147f
Fix non-screensharing calls
2017-01-16 13:12:18 +00:00
David Baker
dfcbdeb002
v0.7.4-rc.1
2017-01-16 13:12:18 +00:00
David Baker
df20365a6d
Prepare changelog for v0.7.4-rc.1
2017-01-16 13:12:18 +00:00
David Baker
9c6973a46a
v0.7.4
2017-01-16 13:03:35 +00:00
David Baker
b439be8fb5
Prepare changelog for v0.7.4
2017-01-16 13:03:34 +00:00
David Baker
edaf84a78f
Fix non-screensharing calls
2017-01-16 12:28:52 +00:00
Kegan Dougal
056ed3b3c4
Reduce max warnings
2017-01-16 10:31:00 +00:00
Kegan Dougal
317898d41c
Fix linting on all tests
...
Manually.
2017-01-16 10:28:51 +00:00
Richard van der Hoff
c8b26eeac4
Support for importing megolm session keys
2017-01-14 00:45:03 +00:00
Richard van der Hoff
766d8f0ba4
Support for exporting megolm session data
2017-01-14 00:45:03 +00:00
Kegan Dougal
e159e504fa
Use ev.target.result for consistency
2017-01-13 17:57:41 +00:00
Kegan Dougal
8bcb048f53
Very rough WIP of an IndexedDBStore
2017-01-13 16:22:59 +00:00
David Baker
0fa9f7c609
Merge pull request #325 from matrix-org/kegan/fix-eslint
...
Fix ESLint warnings and errors
2017-01-13 15:07:09 +00:00
David Baker
c24b580165
Merge pull request #324 from matrix-org/kegan/rm-webstorage
...
BREAKING CHANGE: Remove WebStorageStore
2017-01-13 14:58:53 +00:00
Kegan Dougal
cc39ede920
Reduce max warnings and fix lint errors
2017-01-13 14:36:48 +00:00
Kegan Dougal
7a4ef7b257
Merge branch 'kegan/rm-webstorage' into kegan/fix-eslint
2017-01-13 14:35:01 +00:00
Kegan Dougal
8c52870e07
Dummy commit
2017-01-13 12:03:44 +00:00
Kegan Dougal
922dd6cf9c
Merge branch 'kegan/rm-webstorage' into kegan/fix-eslint
2017-01-13 11:57:48 +00:00
Kegan Dougal
9633532dd4
Bump to node 6 to fix 'SyntaxError: Block-scoped declarations (let, const, function, class) not yet supported outside strict mode'
2017-01-13 11:57:33 +00:00
Kegan Dougal
5abf6b9f20
Manually patch up files which were formatted wrong
...
`eslint --fix` expands `if` statements incorrectly (wrong indentation).
2017-01-13 11:50:00 +00:00
Kegan Dougal
478550ec93
Not sure how this ever worked, but fix it since it wasn't working
2017-01-13 11:03:00 +00:00
David Baker
bb7c9b2227
v0.7.4-rc.1
2017-01-13 10:57:51 +00:00
David Baker
8538d7881a
Prepare changelog for v0.7.4-rc.1
2017-01-13 10:57:50 +00:00
Kegan Dougal
5f28bc4468
Fix errors (line limits)
2017-01-13 10:55:17 +00:00
Kegan Dougal
7ed65407e6
Pass through eslint --fix
2017-01-13 10:49:32 +00:00
Kegan Dougal
97e421306b
Remove UTs
2017-01-13 10:47:20 +00:00
Kegan Dougal
1ce9e7c6bb
BREAKING CHANGE: Remove WebStorageStore
...
This will be replaced with an IndexedDB style solution. Maintaining 2 different
persistent stores is not my idea of fun.
2017-01-13 10:44:20 +00:00
David Baker
df4ae597a5
Include eslint config files in distribution
...
Otherwise linting will fail if you try to run it
2017-01-12 16:54:49 +00:00
David Baker
8c512bce9e
Use less ancient version of node
...
ESLint errors with old node (at least without --harmony) so use
a more sensible version
2017-01-12 16:20:49 +00:00
David Baker
4775010452
Be quiet npm
...
we don't need the commands you're running in the xml file
2017-01-12 16:07:44 +00:00
David Baker
03f4b15c61
Merge pull request #321 from matrix-org/dbkr/dont_polyfill
...
Remove babel-polyfill
2017-01-12 15:56:57 +00:00
David Baker
d8c23c0dcb
Merge pull request #320 from matrix-org/dbkr/build_process_es6
...
Update build process for ES6
2017-01-12 15:50:35 +00:00
David Baker
4ab261b89f
Add eslint:recommends
...
Turn off / tweak some options from it. Fix a double-definition.
Add an eslint config to the spec directory to tell it about the
jasmine magic globals.
2017-01-12 15:05:42 +00:00
David Baker
e057956ede
Add google eslint rules as a base
...
Remove some we don't care about. Set some other ones we do care
about but don't currently adhere to to warn. Set the max warnings
threshold to the current number of warnings, so we don't introduce
more of them. Fix a bunch of legit lint errors and add exceptions
to various places in the test code that does funny things with
'this'.
2017-01-12 14:35:58 +00:00
David Baker
543b9cf0ce
Run lint on prepublish, not build
...
and make everything errors, so now you can do local builds with
lint failures, but CI will fail and you can't release.
2017-01-12 12:57:24 +00:00
David Baker
591b56d794
it's build now, not compile
2017-01-12 12:55:50 +00:00
David Baker
7f8375d864
Lint spec as well as src
2017-01-12 12:51:59 +00:00
David Baker
31af4bbeb5
Fix jsdoc errors in spec/
2017-01-12 12:51:22 +00:00
David Baker
0a11404be2
Fix legitimate JSDoc errors
2017-01-12 11:46:07 +00:00
David Baker
ff723980ac
Add exceptions to eslintrc for JSDoc
...
To allow things we've been OK about previously
2017-01-12 11:26:17 +00:00
David Baker
0dfd60ad5e
Merge compile target into build
2017-01-11 19:02:25 +00:00
David Baker
18f57a2100
Remove babel-polyfill
...
react-sdk's tests are failing because babel-polyfill is being
pulled in twice.
As per https://babeljs.io/docs/usage/polyfill/ babel-polyfill is
"intended to be used in an application rather than a library/tool".
From a library, we're limited to things that don't modify globals,
since the js env is not ours to start screwing around with.
2017-01-11 18:52:49 +00:00
David Baker
9b5cb3a631
Update build process for ES6
...
* Make npm run build run npm compile (it needs the output)
* Switch to ESlint so we can actually use ES6 without the linter
crying.
2017-01-11 18:11:47 +00:00
David Baker
09e4e4709f
Merge pull request #319 from matrix-org/dbkr/babel_is_not_a_package
...
'babel' is not a babel package anymore
2017-01-11 17:35:57 +00:00
David Baker
00895f00e6
Empty commit to force rebuild
2017-01-11 17:30:15 +00:00
David Baker
c57be7b966
'babel' is not a babel package anymore
...
and so is just redundant as you have babel-cli which is what you
actually want.
2017-01-11 17:17:19 +00:00
Kegsay
51d94e63f4
Merge pull request #318 from matrix-org/kegan/es6
...
Add Babel for ES6 support
2017-01-11 11:47:19 +00:00
Kegan Dougal
6daeec838f
Add start script
2017-01-11 11:25:24 +00:00
Kegan Dougal
53f23939c1
Review comments
2017-01-11 10:59:33 +00:00
Kegan Dougal
0bbec9e182
Appease linters
2017-01-11 10:40:20 +00:00
Kegan Dougal
101970dcd9
Merge branch 'develop' into kegan/es6
2017-01-11 10:35:01 +00:00
Kegan Dougal
6644151d19
Add babel-polyfill to include more ES6 goodies
2017-01-11 10:32:52 +00:00
Kegan Dougal
548ffdced1
es2015 not env
2017-01-11 10:27:51 +00:00
Kegan Dougal
cba4b24b23
Add /lib to ignore as with react SDK
2017-01-11 10:24:31 +00:00
Kegan Dougal
3e922c2d41
Add babel dep and config
2017-01-11 10:19:46 +00:00
Kegan Dougal
ae6a409cc2
Move /lib to /src
2017-01-11 10:09:04 +00:00
David Baker
94d79edbd0
Merge pull request #317 from matrix-org/dbkr/move_screen_sharing_error
...
Move screen sharing check/error
2017-01-11 10:08:12 +00:00
David Baker
4dc331d629
Move screen sharing check/error
...
Because the https check only applies in the browser
2017-01-10 18:36:54 +00:00
David Baker
18131735d7
Cheekily fix screen sharing with audio
2017-01-10 14:24:09 +00:00
Richard van der Hoff
2a51e7a665
Merge pull request #316 from matrix-org/kegan/release-script-dies-if-uncommitted-changes
...
release.sh: Bail early if there are uncommitted changes
2017-01-04 14:05:23 +00:00
Kegan Dougal
df7ac77113
Review comments
2017-01-04 13:57:51 +00:00
Kegan Dougal
1b222249c4
Reset ret before reusing it
2017-01-04 11:56:01 +00:00
Kegan Dougal
126967cb90
release.sh: Bail early if there are uncommitted changes
2017-01-04 11:47:33 +00:00
Kegan Dougal
2afa381cae
Merge branch 'master' into develop
2017-01-04 11:34:24 +00:00
Kegan Dougal
05cbc217a0
Add more docs to explain how to do releases
2017-01-04 11:27:34 +00:00
Kegan Dougal
54eec40d20
v0.7.3
2017-01-04 11:25:43 +00:00
Kegan Dougal
3ab34f911b
Prepare changelog for v0.7.3
2017-01-04 11:25:42 +00:00
Kegan Dougal
d6e4d0a417
Remove RELEASING.md
...
vdh says it is out of date and is misleading and should be removed, so removing it.
2017-01-04 11:16:59 +00:00
Kegan Dougal
fac40f5183
Styling and ES5 only
2017-01-04 11:10:24 +00:00
Kegsay
ce684a6628
Merge pull request #310 from Deadid/develop
...
User presence list feature
2017-01-04 10:38:09 +00:00
Richard van der Hoff
14fac241f7
bump to olm 2.1.0
2016-12-23 14:36:22 +00:00
Sergiy Makhov
335579e250
Changed paramater type to string array. Removed bad doc
2016-12-23 08:51:41 +02:00
Kegsay
c8565be3a5
Merge pull request #313 from matrix-org/kegan/timeouts-for-everyone
...
Allow clients the ability to set a default local timeout
2016-12-22 17:17:25 +00:00
Kegan Dougal
76e76269cf
Review comments
2016-12-22 17:09:41 +00:00
Kegan Dougal
3c43e2718d
More JSDoc
2016-12-22 17:07:52 +00:00
Kegan Dougal
f2676772c8
Allow clients the ability to set a default local timeout
...
Will be used to fix matrix-org/matrix-appservice-irc#328
2016-12-22 16:54:42 +00:00
David Baker
c9bf4270fc
Merge pull request #312 from matrix-org/dbkr/delete_threepid
...
Add API to delete threepid
2016-12-22 15:06:54 +00:00
David Baker
41ddb7660b
Add doc details
2016-12-22 15:01:20 +00:00
Luke Barnard
b3e93ffadf
Add getDate function to MatrixEvent ( #311 )
...
* Add `getDate` function to MatrixEvent
`getDate` can be used to get the timestamp of the event as a `Date` instance.
Adds handleRemoteEcho function to be called on change of internal event of MatrixEvent, so that the internal `_date` can be updated when a remote echo replaces a local one.
2016-12-22 14:07:26 +00:00
David Baker
582576b1c3
Add API to delete threepid
...
Uses https://github.com/matrix-org/synapse/pull/1714
2016-12-21 18:48:42 +00:00
David Baker
456135a6ec
get latest changes after updating changelog
2016-12-16 17:39:24 +00:00
Luke Barnard
c7357952ec
v0.7.2
2016-12-15 17:37:22 +00:00
Luke Barnard
b796246d9d
Prepare changelog for v0.7.2
2016-12-15 17:37:22 +00:00
Sergiy Makhov
598e48e39b
User presence list feature
2016-12-15 13:22:25 +02:00
Richard van der Hoff
2e3c349c5e
Merge pull request #309 from matrix-org/rav/fix_olm_import
...
Bump to Olm 2.0
2016-12-14 18:59:13 +00:00
Richard van der Hoff
7f4ff352e8
Merge pull request #307 from matrix-org/rav/check_payload_length
...
Sanity check payload length before encrypting
2016-12-14 14:34:02 +00:00
Richard van der Hoff
b11bff5a5b
Bump to Olm 2.0
...
... since the code requires it. Also update the tests.
2016-12-14 14:15:31 +00:00
Richard van der Hoff
223bd459f6
Merge pull request #308 from matrix-org/rav/remove_dead_ohai
...
Remove dead _sendPingToDevice function
2016-12-14 13:56:12 +00:00
Richard van der Hoff
ed1673c66c
Remove dead _sendPingToDevice function
...
This is no longer used; remove it.
2016-12-14 12:38:33 +00:00
Richard van der Hoff
0fda43b603
Sanity check payload length before encrypting
...
... to give better error messages.
2016-12-14 11:54:35 +00:00
David Baker
d3b63c592e
Set GIT_COMITTER_EMAIL
...
so the release tag verifies correctly
2016-12-12 15:37:09 +00:00
Luke Barnard
a32af7d77c
Merge pull request #306 from matrix-org/luke/feature-AS-room-publication
...
Add setRoomDirectoryVisibilityAppService
2016-12-12 14:20:43 +00:00
Luke Barnard
742d942baa
Add setRoomDirectoryVisibilityAppService
...
This is for setting the publicity of a room that is bridged to a 3rd party network. This change reflects the second bullet point of https://github.com/matrix-org/synapse/pull/1676#issue-193810881 .
2016-12-12 13:52:44 +00:00
David Baker
73e86bfc5d
Don't depend on having a build_dir
...
to get latest changes
2016-12-09 20:17:25 +00:00
David Baker
0a4c41c958
Merge branch 'master' into develop
2016-12-09 19:30:15 +00:00
David Baker
79a699f0be
v0.7.1
2016-12-09 19:29:13 +00:00
David Baker
4a2e6a826b
Prepare changelog for v0.7.1
2016-12-09 19:29:12 +00:00
David Baker
95f56f95ec
Merge pull request #305 from matrix-org/dbkr/signed_releases
...
Update release script to do signed releases
2016-12-09 19:22:01 +00:00
David Baker
67e75fb7af
Invoke changelog_head from outside the pushd
...
so we know the relative path is right
2016-12-09 19:19:40 +00:00
David Baker
ebda89d1ae
Add changelog_head.py
2016-12-09 17:34:11 +00:00
David Baker
5ce5299651
Update release script to do signed releases
...
if a signing ID is set in release_config.yaml
Also set the release text to the relevant changelog entry
2016-12-09 17:04:19 +00:00
David Baker
41bd518182
Merge pull request #304 from matrix-org/rav/await_pending_downloads
...
e2e: Wait for pending device lists
2016-12-08 18:41:53 +00:00
Richard van der Hoff
739e94302d
fix test fail
2016-12-08 18:06:22 +00:00
Richard van der Hoff
e54541aecf
e2e: Wait for pending device lists
...
When we send a megolm message, wait for any existing key download to complete.
2016-12-08 16:37:29 +00:00
Richard van der Hoff
338c707579
Merge pull request #303 from matrix-org/rav/new_session_after_blacklist
...
Start a new megolm session when devices are blacklisted
2016-12-08 16:08:27 +00:00
Richard van der Hoff
301ab01911
Start a new megolm session when devices are blacklisted
...
If we have shared the session with a device which is subsequently blacklisted,
we need to start a new session for the next message.
Rather than doing this proactively (which would be subject to false-positives
and require slightly awkward tracking of who we had shared the session with),
we check the list of who we have shared the session with on each send, and
start a new session if any of them are blocked.
Fixes https://github.com/vector-im/riot-web/issues/2146 .
2016-12-08 13:39:58 +00:00
Richard van der Hoff
99089c0f5f
Merge pull request #302 from matrix-org/rav/send_to_our_devices
...
E2E: Download our own devicelist on startup
2016-12-07 11:43:24 +00:00
Richard van der Hoff
ec124847d7
Test for self-keyshare
...
Make sure that we share keys with our own devices.
2016-12-07 11:14:36 +00:00
Richard van der Hoff
89ced19874
E2E: Download our own devicelist on startup
...
Make sure we get a list of our own devices when starting a new client.
Fixes https://github.com/vector-im/riot-web/issues/2676 .
2016-12-06 17:09:21 +00:00
David Baker
f997b4a1d5
v0.7.1-rc.1
2016-12-05 17:43:39 +00:00
David Baker
def99728e7
Prepare changelog for v0.7.1-rc.1
2016-12-05 17:43:39 +00:00
David Baker
fab234dccb
Merge pull request #300 from matrix-org/rav/handle_no_session_store
...
Avoid NPE when no sessionStore is given
2016-11-30 11:06:17 +00:00
Richard van der Hoff
0c0572948e
Avoid NPE when no sessionStore is given
...
Fix the check on opts.sessionStore to check for undefined as well; fixes
"TypeError: Cannot read property 'getEndToEndAccount' of undefined"
2016-11-30 10:48:40 +00:00
David Baker
a4e281265f
Merge pull request #299 from matrix-org/rav/improve_decryption_errors
...
Improve decryption error messages
2016-11-24 14:55:48 +00:00
Richard van der Hoff
ce71de0d78
Improve decryption error messages
...
Attempt to make the decryption errors less obscure
2016-11-24 14:51:35 +00:00
Matthew Hodgson
c5afcaeaf7
Merge branch 'release-v0.7.0'
2016-11-19 01:56:11 +02:00
Matthew Hodgson
889bfce65d
v0.7.0
2016-11-19 01:52:52 +02:00
Matthew Hodgson
1f33d76e87
Prepare changelog for v0.7.0
2016-11-19 01:52:51 +02:00
Matthew Hodgson
d8de23228f
actually speak valid git in release.sh
2016-11-19 01:51:19 +02:00
Matthew Hodgson
579218aafc
correctly crash out if jq or hub are missing
2016-11-19 01:25:36 +02:00
Richard van der Hoff
aefdacc566
Merge pull request #297 from matrix-org/rav/better_new_device_handling
...
Avoid a packetstorm of device queries on startup
2016-11-17 17:42:51 +00:00
Richard van der Hoff
d619495136
Merge pull request #295 from matrix-org/rav/handle_errors_on_key_share
...
E2E: Check devices to share keys with on each send
2016-11-17 17:40:20 +00:00
Richard van der Hoff
036d1da013
Avoid a packetstorm of device queries on startup
...
Two main changes here:
* when we get an m.new_device event for a device we know about, ignore it
* Batch up the m.new_device events received during initialsync and spam out
all the queries at once.
2016-11-17 16:23:24 +00:00
Richard van der Hoff
4ba8e7e072
Merge pull request #296 from matrix-org/rav/unknown_keyshare_mitigations
...
Apply unknown-keyshare mitigations
2016-11-17 14:54:41 +00:00
Richard van der Hoff
f6830992ea
Apply unknown-keyshare mitigations
...
Now that the mobile clients have been updated to send the right fields, enforce
their correctness on the recipient side.
2016-11-16 22:39:08 +00:00
Richard van der Hoff
769a0cb76f
Check devices to share keys with on each send
...
Instead of trying to maintain a list of devices we need to share with, just
check all the devices for all the users on each send.
This should fix https://github.com/vector-im/vector-web/issues/2568 , and
generally mean we're less likely to get out of sync.
2016-11-16 22:24:11 +00:00
Richard van der Hoff
766e837775
Factor out ensureOlmSessionsForDevices
...
... and move to olmlib
2016-11-16 21:21:57 +00:00
Richard van der Hoff
749f53a22b
Merge pull request #294 from matrix-org/rav/distinguish_users_with_no_devices
...
distinguish unknown users from deviceless users
2016-11-16 20:43:04 +00:00
Richard van der Hoff
851b33aac2
distinguish unknown users from deviceless users
...
Fixes https://github.com/vector-im/vector-web/issues/2275
2016-11-16 18:05:41 +00:00
David Baker
fc958a3922
lint
2016-11-16 16:33:08 +00:00
David Baker
2c31b72c52
Merge pull request #293 from arxcode/develop
...
Allows to start client with initialSyncLimit = 0
2016-11-16 14:43:20 +00:00
Richard van der Hoff
8decb02027
Merge pull request #289 from matrix-org/luke/api-change-tlw-public-unpagination
...
Make timeline-window _unpaginate public and rename to unpaginate
2016-11-16 14:29:15 +00:00
Alexander
a0fd87c032
Allows to start client with initialSyncLimit = 0 (see http://bit.ly/2f49Kbs )
2016-11-16 09:26:16 -05:00
Luke Barnard
c0d862c9f0
Correct jsdoc for unpaginate
2016-11-16 11:06:56 +00:00
David Baker
8143abc9e7
Merge pull request #286 from fred-wang/fix-sync-stop
...
Send a STOPPED sync updated after call to stopClient
2016-11-16 10:02:28 +00:00
Richard van der Hoff
af95dcaef6
Merge pull request #292 from matrix-org/rav/fix_megolm_keys
...
Fix bug in verifying megolm event senders
2016-11-16 09:47:44 +00:00
Richard van der Hoff
5b4aedd4be
Fix bug in verifying megolm event senders
...
1a03e534bd introduced a bug which mixed up the keys_proved and the
keys_claimed. Switch them around again so that megolm messages are correctly
tied back to the sending device.
2016-11-16 09:22:31 +00:00
Luke Barnard
d8c0b16d7e
Make timeline-window _unpaginate public and remove _
2016-11-15 13:27:42 +00:00
Richard van der Hoff
909b56d48e
Merge pull request #288 from matrix-org/rav/decrypt_after_keys_arrive
...
Handle decryption of events after they arrive
2016-11-15 11:11:10 +00:00
Richard van der Hoff
a5d857945a
Retry decryption after receiving keys
...
m.room_keys may arrive after the messages themselves, so allow events to be
decrypted after the event (haha).
2016-11-14 15:13:02 +00:00
Richard van der Hoff
1a03e534bd
Refactor decryption
...
Create the MatrixEvent wrapper before decryption, and then pass that into the
decryptors, which should update it.
Also remove the workaround that sends m.new_device messages when we get an
unknown session; it's just a bandaid which is obscuring more meaningful
problems.
2016-11-14 15:13:02 +00:00
Richard van der Hoff
e623b539c4
persist DecryptionAlgorithm instances
...
It's useful to be able to keep state between events in the DecryptionAlgorithm,
so store them in a map.
2016-11-14 15:13:02 +00:00
Kegsay
2ff6f5f958
Merge pull request #287 from fred-wang/fix-example
...
Fix examples.
2016-11-14 12:49:06 +00:00
Matthew Hodgson
1532188d95
fix typo
2016-11-13 13:24:51 +00:00
Frédéric Wang
04093692c9
Use native Array.isArray when available.
2016-11-13 13:24:35 +00:00
Matthew Hodgson
a96389a3e4
Merge pull request #283 from matrix-org/revert-282-is-array
...
Revert "Use native Array.isArray when available."
2016-11-13 13:23:54 +00:00
Matthew Hodgson
00e7c84a93
Revert "Use native Array.isArray when available."
2016-11-13 13:23:41 +00:00
Matthew Hodgson
e0c924870d
Merge pull request #282 from fred-wang/is-array
...
Use native Array.isArray when available.
2016-11-13 13:20:54 +00:00
Frédéric Wang
1a27ad22a7
Use native Array.isArray when available.
2016-11-13 13:47:31 +01:00
Frédéric Wang
7029083266
Send a STOPPED sync updated after call to stopClient
2016-11-12 21:58:58 +01:00
Frédéric Wang
a5f0ec7c7d
Fix examples.
2016-11-12 17:39:48 +01:00
Mark Haines
e7dcc06855
Merge pull request #278 from matrix-org/markjh/travis
...
Add a travis.yml
2016-11-11 13:58:52 +00:00
Richard van der Hoff
867ac49b50
Merge pull request #277 from matrix-org/markjh/encrypted_voip
...
Encrypt all events, including 'm.call.*'
2016-11-11 11:06:54 +00:00
Mark Haines
bfffbea4a0
Merge remote-tracking branch 'origin/develop' into markjh/encrypted_voip
2016-11-11 10:20:40 +00:00
Mark Haines
f8b1c124df
Add a travis.yml
2016-11-11 10:04:48 +00:00
Richard van der Hoff
bc9e290c11
Merge pull request #276 from matrix-org/rav/ignore_key_reshares
...
Ignore reshares of known megolm sessions
2016-11-10 19:56:01 +00:00
Mark Haines
777ef83378
Merge remote-tracking branch 'origin/develop' into markjh/encrypted_voip
2016-11-10 19:44:42 +00:00
Mark Haines
24283dcbd5
Encrypt all events, including 'm.call.*'
2016-11-10 19:42:16 +00:00
Richard van der Hoff
2113c83679
Ignore reshares of known megolm sessions
...
If we get a second key for a known megolm session, ignore it.
Fixes https://github.com/vector-im/vector-web/issues/2326 , one hopes.
2016-11-10 19:28:08 +00:00
Richard van der Hoff
77508f38bb
event jsdoc
...
Add a comment on the event event
2016-11-08 16:53:07 +00:00
Richard van der Hoff
6c3eb19b74
Merge pull request #274 from matrix-org/rav/log_on_unknown_session
...
Log to the console on unknown session
2016-11-07 22:46:37 +00:00
Richard van der Hoff
e173d822e8
Log to the console on unknown session
...
This might help diagnose Erik/Matthew's comms breakdown.
2016-11-07 18:57:09 +00:00
David Baker
e2d3ace476
Merge branch 'master' into develop
2016-11-04 10:01:03 +00:00
David Baker
6f79a3107b
v0.6.4
2016-11-04 10:00:09 +00:00
David Baker
e6a3b2aa28
Change version back so npm can change it back again
2016-11-04 09:59:49 +00:00
David Baker
e5dcfdf115
There is now one change
2016-11-04 09:57:37 +00:00
David Baker
47e12fcc3e
Use env var for dist version
...
Don't pass it as an arg because that really confuses npm scripts
that aren;t expecting an arg (npm it just blindly appends it).
2016-11-04 09:42:08 +00:00
David Baker
d51b2884da
v0.6.4
2016-11-04 09:20:17 +00:00
David Baker
28e9c10ded
Prepare changelog for v0.6.4
2016-11-04 09:20:17 +00:00
David Baker
e27bf04ced
Merge pull request #273 from matrix-org/paul/wrap-request
...
Make it easier for SDK users to wrap prevailing the 'request' function
2016-11-03 13:57:14 +00:00
Paul "LeoNerd" Evans
65f1b3c976
Document the return type of getRequest()
2016-11-02 18:04:00 +00:00
Paul "LeoNerd" Evans
4529578cd6
Make a handy shortcut for SDK users to provide request wrapping functions in a neat stack
2016-11-02 18:02:02 +00:00
Paul "LeoNerd" Evans
6769c96942
Add a method for querying the js-sdk's current 'request' function in case people want to wrap it
2016-11-02 17:55:23 +00:00
David Baker
dcb987732c
Add version arg to the dist script
...
as per comment
2016-11-02 11:36:53 +00:00
David Baker
4f4eba16d6
v0.6.4-rc.2
2016-11-02 11:01:09 +00:00
David Baker
9da913f5a6
Prepare changelog for v0.6.4-rc.2
2016-11-02 11:01:09 +00:00
David Baker
a15aa0f7a4
Merge branch 'release-v0.6.4'
2016-11-02 10:30:05 +00:00
David Baker
efa1eee6e2
v0.6.4-rc.1
2016-11-02 10:26:53 +00:00
David Baker
55179f0a1a
Prepare changelog for v0.6.4-rc.1
2016-11-02 10:26:53 +00:00
David Baker
01593d1a69
Set the release branch variable
...
when using the current branch, otherwise we'll try to check out
the wrong thing
2016-11-02 10:25:47 +00:00
Richard van der Hoff
40e22cfa86
Merge pull request #272 from matrix-org/dbkr/release_script_fixes
...
More fixes to the release script
2016-11-02 10:05:41 +00:00
David Baker
97aeaec8d2
More fixes to the release script
...
* Don't create a new release branch if the current branch starts
with 'release'
* This is definitely a bash script at this point
* Fix update_changelog test
* Tabs
2016-11-02 09:56:00 +00:00
David Baker
0b9f85d97b
Merge pull request #271 from matrix-org/dbkr/build_process
...
Update the release process to use github releases
2016-11-01 17:43:06 +00:00
David Baker
d266486581
Check we have the various scripts
...
Rather than trying to use them and failing at annoying points
2016-11-01 16:48:16 +00:00
David Baker
c47d2fc750
too many ses(es)
2016-11-01 15:38:20 +00:00
David Baker
66c4c8882f
Right repo
2016-11-01 15:37:39 +00:00
David Baker
72d7dd7690
/dist not dist
2016-11-01 15:36:37 +00:00
David Baker
fff354669c
Update README to point to where releases now live
2016-11-01 14:53:26 +00:00
David Baker
07ae4b0be6
Add 'dist' script to js-sdk
...
(which just runs npm build, but the presence of the dist script
will inform the release process to run it and upload release
assets)
2016-11-01 14:36:56 +00:00
David Baker
cc51805c39
Use github release in release.sh
...
Adds the 'dist' target for building assets for distribution,
which the release script will run, uploading resulting files
as release assets.
2016-11-01 14:34:48 +00:00
David Baker
c61ac2a845
Delete aaaaaaall of dist/
...
and gitignore dist since we now just use it for build output.
2016-10-31 18:31:24 +00:00
David Baker
6d67de06a2
Build bundled files straight to dist
...
Rather than to version specific directories beneath dist, since
we're now not keeping every built version in the source tree.
Also:
* build the minified version at the same time,
* Include rimraf so we can rm -r dist (npm has re-ordered the
deps)
* Exclude olm from the bundled file
2016-10-31 18:25:34 +00:00
Richard van der Hoff
ec1273893f
Merge pull request #270 from matrix-org/dbkr/no_pack_world
...
Don't package the world when we release
2016-10-31 18:09:29 +00:00
David Baker
1e26077d58
Include browser-index.js
2016-10-31 18:06:37 +00:00
David Baker
ad67f002e3
Remove comment about syncing with .npmignore
...
Given there is no longer a .npmignore
2016-10-31 18:04:26 +00:00
David Baker
572df32dca
Don't package the world when we release
...
Include files explicitly rather than excluding them with .npmignore
As https://github.com/vector-im/vector-web/pull/2516
2016-10-31 17:29:34 +00:00
David Baker
6b8181c06f
Merge pull request #269 from matrix-org/luke/feature-initial-sync-filter
...
Add ability to set a filter prior to the first /sync
2016-10-26 11:37:55 +01:00
lukebarnard
5900542cfb
Add ability to set a filter prior to initial sync.
...
Useful for only syncing with a subset of joined rooms or only retrieving certain relevant types of events.
2016-10-25 20:05:25 +01:00
Richard van der Hoff
a28b825c4d
Merge pull request #236 from pik/get-room-tags
...
Add getRoomTags method to client
2016-10-21 14:26:52 +01:00
Richard van der Hoff
d105854619
Merge pull request #243 from matrix-org/rav/sign_one_time_keys
...
Sign one-time keys, and verify their signatures
2016-10-21 14:24:07 +01:00
Richard van der Hoff
a4f192bc88
Sign one-time keys, and verify their signatures
...
We have decided that signing one-time keys is the lesser of two evils;
accordingly, use a new key algorithm type (`signed_curve25519`), sign the
one-time keys that we upload to the server, and verify the signatures on those
we download.
This will mean that develop won't be able to talk to master, but hey, we're in
beta.
2016-10-21 12:24:19 +01:00
Richard van der Hoff
db925d7fde
Merge branch 'master' into develop
2016-10-21 12:07:16 +01:00
Mark Haines
16b4865035
Merge pull request #241 from matrix-org/markjh/check_for_duplicate_message_ids
...
Check for duplicate message indexes for group messages
2016-10-21 09:55:38 +01:00
Mark Haines
20b310484b
Document the format of the keys
2016-10-21 09:54:57 +01:00
Richard van der Hoff
611a191b0e
Merge pull request #240 from matrix-org/rav/rotate_megolm_sessions
...
Rotate megolm sessions
2016-10-20 21:06:28 +01:00
Mark Haines
8b856b9d15
Wrap the longer lines
2016-10-20 18:02:48 +01:00
Mark Haines
3f7df0d15c
Fiddle linebreaks
2016-10-20 17:59:15 +01:00
Mark Haines
e0917d3c47
Check for duplicate message indexes for group messages
2016-10-20 17:49:37 +01:00
Richard van der Hoff
19c257703c
Rotate megolm sessions
...
In order to mitigate backward-secrecy concerns, make sure that we rotate the
outbound megolm session at regular intervals (every week/100 msgs by default).
2016-10-20 15:42:06 +01:00
pik
62b6262534
Add getRoomTags method
...
Signed-off-by: pik <alexander.maznev@gmail.com >
2016-10-19 10:10:33 -05:00
Richard van der Hoff
55bd3ac302
Add CONTRIBUTING.rst
2016-10-19 11:55:09 +01:00
Richard van der Hoff
7a7f345f28
Merge pull request #239 from matrix-org/rav/fix_unknown_key
...
Check recipient and sender in Olm messages
2016-10-19 11:44:48 +01:00
Richard van der Hoff
ff2282a41a
Merge pull request #237 from matrix-org/rav/check_userid_in_device_list
...
Consistency checks for E2E device downloads
2016-10-19 11:30:07 +01:00
Richard van der Hoff
b5c7c700d5
Check recipient and sender in Olm messages
...
Embed the sender, recipient, and recipient keys in the plaintext of Olm
messages, and check those fields on receipt.
Fixes https://github.com/vector-im/vector-web/issues/2483
2016-10-19 11:24:59 +01:00
Richard van der Hoff
de6330fb80
Fix up failing test
...
Update a failing test to include user_id and device_id in the right place.
Remove one of the cases since it's somewhat redundant to
matrix-client-crypto-spec anyway.
2016-10-18 21:09:10 +01:00
Richard van der Hoff
aafb1ffdef
Consistency checks for E2E device downloads
...
Check that the user_id and device_id in device query responses match those that
we expect.
This resolves an unknown-key attack whereby Eve can re-sign Bob's keys with her
own key, thus getting Alice to send her messages which she can then forward to
Bob, making Bob think that Alice sent the messages to him.
2016-10-18 13:40:13 +01:00
David Baker
c5d738d25c
Merge pull request #235 from matrix-org/rav/delete_device_ui_auth
...
Support User-Interactive auth for delete device
2016-10-12 18:13:49 +01:00
David Baker
15d8252909
Merge pull request #234 from matrix-org/rav/interactive_auth
...
Utility to help with interactive auth
2016-10-12 18:13:36 +01:00
Richard van der Hoff
8189c58fc3
Use utils.extend instead of Object.assign
...
... because javascript is awful
2016-10-12 15:21:47 +01:00
David Baker
b3e7f4ea21
gjslint wants a space before the '='...
2016-10-12 11:42:10 +01:00
David Baker
9c9ae562ec
Merge branch 'master' into develop
2016-10-12 11:38:08 +01:00
David Baker
f93eea095e
Fail the build if the docs don't generate
2016-10-12 11:32:42 +01:00
David Baker
09255a52f7
Merge branch 'release-v0.6.3'
2016-10-12 11:27:05 +01:00
David Baker
6f9c8c3007
Apparently that jsdoc syntax is not valid
2016-10-12 11:24:14 +01:00
David Baker
2e99d5da64
0.6.3
2016-10-12 11:11:09 +01:00
David Baker
72c8586fad
Prepare changelog for v0.6.3
2016-10-12 11:07:51 +01:00
Richard van der Hoff
d98867b810
User-Interactive auth for delete device
...
Allow app to pass in an auth dict on delete device
2016-10-12 08:37:16 +01:00
Richard van der Hoff
de7061184b
Utility to help with interactive auth
2016-10-12 08:27:53 +01:00
David Baker
4e2483b41a
Merge pull request #233 from matrix-org/dbkr/register_dont_replace_params
...
Fix params getting replaced on register calls
2016-10-11 14:57:56 +01:00
David Baker
d3db4ee63d
lint bunny
2016-10-11 14:56:21 +01:00
David Baker
5d049cc5e8
Fix params getting replaced on register calls
...
The react-sdk sets guest access token to null sometimes, but we
previously added anything that was not 'undefined' to the params,
causing us to send parameters which overwrite the previous actual
parameters with the useless, {guest_access_token: null} which
caused registrations from an email link to break.
We should have no reason to send null, at least for these
particular params, so don't.
2016-10-11 14:30:06 +01:00
Richard van der Hoff
6218bad00f
Merge pull request #232 from matrix-org/dbkr/retry_immediately_from_reconnecting
...
Fix potential 30s delay on reconnect
2016-10-10 18:07:29 +01:00
David Baker
2968e9c0c7
Fix potential 30s delay on reconnect
...
After a connection glitch we would normally sync with zero timeout
so the connection comes back faster, but we didn't if the first
keepalive succeeds since we never marked the connection as failed.
This makes the behaviour more consistent.
Also get rid of the connectionLost flag which was only used in
one place anyway.
2016-10-10 17:08:28 +01:00
David Baker
e73051b230
Merge pull request #230 from matrix-org/rav/uploadContent_platform_consistency
...
uploadContent: Attempt some consistency between browser and node
2016-10-10 10:21:56 +01:00
David Baker
acad3e69dd
Merge pull request #229 from matrix-org/rav/fix_upload_error_parsing
...
Fix error handling on uploadContent
2016-10-10 10:15:44 +01:00
Richard van der Hoff
4794dfc17b
uploadContent: Attempt some consistency between browser and node
...
Previously, the API for uploadContent differed wildly depending on whether you
were on a browser with XMLHttpRequest or node.js with the HTTP system
library. This lead to great confusion, as well as making it hard to test the
browser behaviour.
The browser version expected a File, which could be sent straight to
XMLHttpRequest, whereas the node.js version expected an object with a `stream`
property. Now, we no longer recommend the `stream` property (though maintain it
for backwards compatibility) and instead expect the first argument to be the
thing to upload. To support the different ways of passing `type` and `name`,
they can now either be properties of the first argument (which will probably
suit browsers), or passed in as explicit `opts` (which will suit the node.js
users).
Even more crazily, the browser version returned the value of the `content_uri`
property of the result, while the node.js returned the raw JSON. Both flew in
the face of the convention of the js-sdk, which is to return the entire parsed
result object. Hence, add `rawResponse` and `onlyContentUri` options, which
grandfather in those behaviours.
2016-10-10 00:22:22 +01:00
Richard van der Hoff
d505ab9eeb
Fix error handling on uploadContent
...
Make sure we parse the json content of errors from uploadContent before trying
to turn them into MatrixErrors.
2016-10-10 00:22:04 +01:00
Richard van der Hoff
631eeb9bc0
Merge pull request #226 from matrix-org/rav/fix_upload
...
Fix uploadContent for node.js
2016-10-10 00:21:43 +01:00
Richard van der Hoff
892ca56808
Merge pull request #228 from pik/bug-invalid-filter
...
Fix sync breaking when an invalid filterId is in localStorage
2016-10-09 20:35:09 +01:00
pik
828c7ba451
Fix sync breaking when an invalid filterId is in localStorage
...
* if getFilter fails for a filterId, null out the localStorage id and
redirect to the createFilter path
* add spec
* fix unit/matrix-client.spec.js http response not matching synapse
2016-10-09 14:17:18 -05:00
Richard van der Hoff
a3d86c03b1
Fix uploadContent for node.js
...
9e89e71e broke uploadContent, making it set 'json=true' on the request, so that
we would try to turn raw content into JSON. It also misguidedly set a
client-side timeout of 30s.
Fix that, and add some tests to check uploadContent works.
In mock-request: distinguish between an expectation (ExpectedRequest)
and an actual request (Request). Add support for checking the headers, and the
request options in general, to Request.
2016-10-08 17:48:10 +01:00
Richard van der Hoff
74d6cb802f
Merge pull request #223 from matrix-org/dbkr/sync_dont_error_until_keepalive_fail
...
Don't emit ERROR until a keepalive poke fails
2016-10-07 16:05:14 +01:00
David Baker
1b83f66536
Merge pull request #224 from matrix-org/rav/auth_fallback_url
...
Function to get the fallback url for interactive auth
2016-10-07 15:41:12 +01:00
Richard van der Hoff
e5d5cd901a
Function to get the fallback url for interactive auth
2016-10-07 14:08:28 +01:00
David Baker
92ae4dda72
Add short delay before keepalives + 'RECONNECTING'
...
Changed my mind - it's a good idea to wait a short time before
sending a keepalive request: this will make sure we never
tightloop.
This also adds a 'RECONNECTING' state for when a sync request has
failed but there is no reason to suspect there is actually a
connectivity problem. This is necessary for the tests to be able
to advance the clock at the appropriate time, but could be nice
for clients. Add a breaking change changelog entry since
technically this is an API change that might break clients if they
were relying on 'SYNCING' always coming before 'ERROR' for some
reason.
2016-10-07 11:29:52 +01:00
David Baker
cd5a88c718
Fix tests
...
* Go back to previous behaviour of continuing to emit ERROR states if it continues to fail
* Don't set a timer if the timeout is zero
* Change test to assert the continued-error behaviour, not exactly multiple syncs failing
* Update other tests to fail the keepalive requests where appropriate
2016-10-06 20:54:57 +01:00
David Baker
1c744a66e6
Don't emit ERROR until a keepalive poke fails
...
This accomplishes the same as
https://github.com/matrix-org/matrix-js-sdk/pull/216/files , but
without the client waiting 110 seconds for a sync request to time
out. That is, don't display an error message a soon as a sync
request fails, since we should accept that sometimes long lived
HTTP connections will go away and that's fine.
Also:
* Use request rather than deprecated requestWithPrefix
* http-api: The empty string may be falsy, but it's a valid prefix
2016-10-06 18:29:05 +01:00
David Baker
57cf7e1f7d
Merge pull request #222 from matrix-org/revert-216-erikj/sync_fail_first
...
Revert "Handle the first /sync failure differently."
2016-10-06 16:28:45 +01:00
David Baker
86ea00cfee
Revert "Handle the first /sync failure differently."
2016-10-06 16:27:38 +01:00
David Baker
02f8e7da3d
0.6.2
2016-10-05 16:43:11 +01:00
David Baker
a245b735b3
Prepare changelog for v0.6.2
2016-10-05 16:39:48 +01:00
Richard van der Hoff
0f71983cb9
Merge pull request #221 from matrix-org/dbkr/check_dependencies
...
Check dependencies aren't on develop in release.sh
2016-10-05 16:38:41 +01:00
David Baker
7db6b9e490
Check dependencies aren't on develop in release.sh
2016-10-05 16:34:36 +01:00
David Baker
0021b21170
Merge pull request #220 from matrix-org/rav/fix_turnserver_leak
...
Fix checkTurnServers leak on logout
2016-10-03 11:24:25 +01:00
David Baker
3080dc018a
Merge pull request #219 from matrix-org/rav/refactor_httpapi
...
Fix leak of file upload objects
2016-10-03 11:18:02 +01:00
David Baker
f5d0ec32e5
Merge pull request #218 from matrix-org/rav/deduplicate_storage_update
...
crypto: remove duplicate code
2016-10-03 11:01:33 +01:00
Richard van der Hoff
6b3a06a8ed
Fix checkTurnServers leak on logout
...
Remember to cancel the checkTurnServers callback when we stop the client.
2016-10-02 21:17:31 +01:00
Richard van der Hoff
9e89e71e0e
Fix leak of file upload objects
...
After an upload completed, we were failing to delete the details of the upload
from the list (because the comparison was bogus), meaning we leaked an object
each time.
While we're in the area:
- make the request methods take an opts object (instead of a localTimeout
param), and deprecate the WithPrefix versions.
- make the non-xhr path for uploadContent use authedRequest instead of
rolling its own.
- make cancelUpload use the promise.abort() hack for simplicity
2016-09-30 15:29:45 +01:00
David Baker
dcedc78fc2
Merge pull request #217 from matrix-org/dbkr/join_3p_location
...
Add API for 3rd party location lookup
2016-09-30 14:32:33 +01:00
Richard van der Hoff
faff057592
crypto: remove duplicate code
...
Only call SessionStore.storeEndToEndDevicesForUser once per user, rather than
once per device.
(Probably also fixes a bug where, when a user removes all devices, the store
isn't updated)
2016-09-30 09:17:54 +01:00
David Baker
56be271b0a
I actually docced them as well
2016-09-29 17:47:51 +01:00
David Baker
fa557eb0cc
Add API for 3rd party location lookup
2016-09-29 15:50:00 +01:00
Erik Johnston
b784d1a5e7
Merge pull request #216 from matrix-org/erikj/sync_fail_first
...
Handle the first /sync failure differently.
2016-09-23 11:01:10 +01:00
Erik Johnston
f6614ac0e4
Fix tests
2016-09-23 10:08:40 +01:00
Erik Johnston
e4aea701ab
Comment
2016-09-23 09:57:06 +01:00
Erik Johnston
352f79e9fd
Handle the first /sync failure differently.
...
A /sync request may spuriously fail on occasion, without the
"connection" actually being lost. To avoid spurious "Connection Lost"
warning messages we ignore the first /sync and immediately retry, and
only if that fails do we enter an ERROR state.
2016-09-22 16:24:40 +01:00
David Baker
3a17ef983e
0.6.1
2016-09-21 17:23:15 +01:00
David Baker
91e571fb68
Prepare changelog for v0.6.1
2016-09-21 17:20:10 +01:00
Richard van der Hoff
1a3ee28d01
Log when we get an oh_hai message
2016-09-21 17:07:40 +01:00
Richard van der Hoff
669aecf4e6
E2E: Fix NPE in getEventSenderDeviceInfo
2016-09-21 15:05:27 +01:00
David Baker
ea23db6450
Merge branch 'master' into develop
2016-09-21 11:38:59 +01:00
David Baker
69e4bdd421
0.6.0
2016-09-21 11:32:26 +01:00
David Baker
86a4fd687c
Prepare changelog for v0.6.0
2016-09-21 11:29:28 +01:00
David Baker
14bc4af90c
Merge pull request #215 from matrix-org/rav/key_proofs
...
Fix the ed25519 key checking
2016-09-21 10:44:46 +01:00
Richard van der Hoff
0cd2b2c0e2
Merge pull request #214 from matrix-org/rav/event_sender_device_info
...
Add MatrixClient.getEventSenderDeviceInfo()
2016-09-21 10:21:57 +01:00
Richard van der Hoff
832559926f
Fix the ed25519 key checking
...
Finish plumbing in the Ed25519 key checks. Make sure we store the claimed key
correctly in the megolm sessions, and keep them as a separate field in
MatrixEvent rather than stuffing them into _clearEvent
2016-09-20 20:42:08 +01:00
Richard van der Hoff
59411353b1
Add 'keys' to *all* olm messages
...
(including ones which just carry megolm keys)
2016-09-20 20:39:40 +01:00
Richard van der Hoff
83bd420cd5
Return null from decryptEvent if session is unknown
...
This just makes the shape of the API a bit saner.
2016-09-20 20:39:40 +01:00
Richard van der Hoff
78a0aa5d47
Add MatrixClient.getEventSenderDeviceInfo()
...
- a function to get information about the device which sent an event
2016-09-20 20:39:16 +01:00
Richard van der Hoff
6e31319294
Handle lack of one-time keys better
...
If a device had run out of one-time keys, we would send it an empty to_device
event, which it would then fail to decrypt with a "Not included in
recipients", which is all a bit pointless.
2016-09-18 22:58:35 +01:00
Richard van der Hoff
cd0b19f93f
Crypto: improve console logs
...
Attempt to make the console logs more helpful by reducing noise and adding
helpful debug info.
2016-09-18 21:55:38 +01:00
Richard van der Hoff
4f22610499
Megolm: clarify jsdoc
...
Clarify somewhat misleading jsdoc text
2016-09-18 13:52:48 +01:00
Matthew Hodgson
9e57a9352a
Merge pull request #212 from matrix-org/rav/get_devicelist_on_join
...
Pull user device list on join
2016-09-17 19:21:17 +01:00
Richard van der Hoff
4e0d7b56d8
Merge pull request #213 from matrix-org/rav/fix_oh_hai_ping
...
Fix sending of oh_hais on bad sessions
2016-09-17 19:08:09 +01:00
Richard van der Hoff
f2e10e030d
Unknown sessions: send oh_hai to all devices if device_id is unknown
2016-09-17 19:07:03 +01:00
Richard van der Hoff
266b7afc72
Fix sending of oh_hais on bad sessions
...
Fix a bunch of bugs in the code which tried to send an oh_hai message when we
got a message with an unknown megolm session.
2016-09-17 18:30:12 +01:00
Richard van der Hoff
a15dffbb3a
Pull user device list on join
...
When a new user joins a room, make sure we download their device list if we
don't already have it.
This should fix at least one cause of
https://github.com/vector-im/vector-web/issues/2249 .
2016-09-17 17:44:15 +01:00
Matthew Hodgson
a30c816cb6
typo
2016-09-17 15:44:55 +01:00
Matthew Hodgson
e65fe483e1
Merge pull request #211 from matrix-org/dbkr/public_rooms_paginate
...
Support /publicRooms pagination
2016-09-17 01:24:40 +01:00
David Baker
0d51fad805
Make js-sdk compatible with older synapses
...
Use GET API if no params given. Revert changelog entry since it now doesn't break older synapses.
2016-09-16 23:23:25 +01:00
David Baker
17ed38ad05
Merge remote-tracking branch 'origin/develop' into dbkr/public_rooms_paginate
2016-09-16 20:14:29 +01:00
David Baker
8259f08882
Add changelog entry
...
to note we've broken publicRooms on older synapses
2016-09-16 20:11:00 +01:00
David Baker
55d6cf7ab0
Update /publicRooms to use the new pagination API
2016-09-16 20:08:21 +01:00
Matthew Hodgson
425f862cf8
Merge pull request #205 from matrix-org/markjh/megolm
...
Update the olm library version to 1.3.0
2016-09-16 17:30:26 +01:00
Mark Haines
5d6256bede
Merge pull request #209 from matrix-org/markjh/comment_upload_key
...
Comment what the logic in uploadKeys does
2016-09-16 16:34:37 +01:00
Mark Haines
ff5b923e6f
Spelling: s/cliamed/claimed/
2016-09-16 16:31:00 +01:00
Mark Haines
af7a9a68b8
Merge pull request #210 from matrix-org/markjh/echo_keys_proved
...
Include keysProved and keysClaimed in the local echo for events we send.
2016-09-16 15:45:22 +01:00
Mark Haines
905059d6da
More comments explaining the keysClaimed/keysProved properties
2016-09-16 15:42:02 +01:00
Mark Haines
3bc56cf3f8
More comments on the local echo
2016-09-16 15:36:56 +01:00
Mark Haines
1feb7fc0ba
Fix copy+paste
2016-09-16 15:32:46 +01:00
Mark Haines
c2a40572a5
Include keysProved and keysClaimed in the local echo for events we send.
2016-09-16 15:30:22 +01:00
Mark Haines
ee7d4d0521
Explain what happens to the old keys in olm
2016-09-16 14:43:22 +01:00
Mark Haines
6ab410ef6a
Comment what the logic in uploadKeys does
2016-09-16 14:38:26 +01:00
Mark Haines
8235d966d6
Merge pull request #208 from matrix-org/markjh/upload_keys
...
Check if we need to upload new one-time keys every 10 minutes
2016-09-16 14:21:03 +01:00
Mark Haines
c7b83f6ee6
More semicolons
2016-09-16 11:40:06 +01:00
Mark Haines
460f20a4ce
Merge pull request #207 from matrix-org/markjh/variable_scoping
...
Reset oneTimeKey to null on each loop iteration.
2016-09-16 11:23:58 +01:00
Mark Haines
da408f975e
Check if we need to upload new one-time keys every 10 minutes
2016-09-16 11:22:36 +01:00
Mark Haines
9a98c3991a
Reset onTimeKey to null on each loop iteration.
...
Otherwise we will use a value from a previous iteration of the loop.
2016-09-16 10:44:25 +01:00
Matthew Hodgson
6e0b2de99f
fix lint
2016-09-16 03:19:20 +01:00
Matthew Hodgson
0633d7d3f6
track raw displayname on user objects
2016-09-16 03:18:47 +01:00
Matthew Hodgson
2765720b76
unbreak NPE where megolm's decryptEvent doesn't return a result
2016-09-15 20:09:41 +01:00
Mark Haines
71f23ffce1
Merge branch 'develop' into markjh/megolm
...
Conflicts:
lib/crypto/algorithms/megolm.js
2016-09-15 17:10:02 +01:00
Mark Haines
1863af147d
Merge pull request #206 from matrix-org/markjh/ed25519
...
Add getKeysProved and getKeysClaimed methods to MatrixEvent.
2016-09-15 17:07:52 +01:00
Mark Haines
0d5d74674e
Remove spurious senderKey argument
2016-09-15 16:46:28 +01:00
Mark Haines
45ed0884df
Document return type
2016-09-15 16:42:40 +01:00
Mark Haines
45e9f59fdc
Poke jenkins
2016-09-15 16:40:02 +01:00
Mark Haines
bde6a171f6
Add getKeysProved and getKeysClaimed methods to MatrixEvent.
...
These list the keys that sender of the event must have ownership
of and the keys of that the sender claims ownership of.
All olm and megolm messages prove ownership of a curve25519 key.
All new olm and megolm message will now claim ownership of a
ed25519 key.
This allows us to detect if an attacker claims ownership of a curve25519
key they don't own when advertising their device keys, because when we
receive an event from the original user it will have a different ed25519 key
to the attackers.
2016-09-15 16:26:43 +01:00
Mark Haines
49a74755a8
Merge pull request #204 from matrix-org/markjh/oh_hai_reliability
...
Send a 'm.new_device' when we get a message for an unknown group session
2016-09-15 14:44:06 +01:00
Mark Haines
2fbef8638f
Fix grammar
2016-09-15 14:43:23 +01:00
Mark Haines
eb4166afe3
Whitespace
2016-09-15 14:36:53 +01:00
Mark Haines
b3beaacec7
Remove unnecessary dep
2016-09-15 14:26:05 +01:00
Mark Haines
355b728a57
Remove unnecessary semicolon;
2016-09-15 14:23:30 +01:00
Mark Haines
577b0e8f1b
Add a test to check the olm version
2016-09-15 14:08:25 +01:00
Mark Haines
35d99564c1
Rate limit the oh hai pings
2016-09-15 14:07:40 +01:00
Mark Haines
6f9bb38232
Include our device key in megolm messages
2016-09-15 11:56:56 +01:00
Mark Haines
d02c205910
Rename the "content" variable to avoid shadowing
2016-09-15 11:46:49 +01:00
Mark Haines
38681202dc
Add olm version to client. Add semicolons.
2016-09-14 20:03:31 +01:00
Mark Haines
0d20a0acf0
Add a test to check that we have the right version of Olm
2016-09-14 19:59:32 +01:00
Mark Haines
9277a86403
Add the accidentally deleted sessionId documentation back
2016-09-14 19:35:31 +01:00
Mark Haines
5ec8688cf6
Semicolon
2016-09-14 19:26:44 +01:00
Mark Haines
6ae82a9cb4
Fix syntax error
2016-09-14 19:20:46 +01:00
Mark Haines
72a4b92022
Send a 'm.new_device' when we get a message for an unknown group session
...
This should reduce the risk of a device getting permenantly stuck unable
to receive encrypted group messages.
2016-09-14 19:16:24 +01:00
Mark Haines
0cc68bc125
Update the olm library version to 1.3.0
2016-09-14 14:24:21 +01:00
Matthew Hodgson
6ca917f4db
Merge pull request #196 from matrix-org/matthew/filtered-timelines
...
Introduce EventTimelineSet, filtered timelines and global notif timeline.
2016-09-12 15:56:55 +01:00
Matthew Hodgson
8a848deddc
unbreak mocks in tests
2016-09-12 15:52:10 +01:00
David Baker
2ebd4b15a4
Merge pull request #203 from matrix-org/markjh/try_catch
...
Wrap the crypto event handlers in try/catch blocks
2016-09-12 14:32:46 +01:00
Mark Haines
f0274f3f26
Wrap the crypto event handlers in try/catch blocks
2016-09-12 11:44:31 +01:00
Matthew Hodgson
85b2e5d758
fix refactoring bug; emit timelineReset after updating _liveTimeline
2016-09-11 03:23:43 +01:00
Matthew Hodgson
eef03882ad
don't forget to emit timelineResets for normal room resets
2016-09-11 03:23:15 +01:00
Matthew Hodgson
f7e5d962c0
Merge branch 'develop' into matthew/filtered-timelines
2016-09-11 02:38:50 +01:00
Matthew Hodgson
87c6a40b3f
reemit timelineReset correctly from Sync
2016-09-11 02:15:29 +01:00
Matthew Hodgson
e614e17a71
correctly notify when timelineSets get reset
2016-09-10 10:44:48 +01:00
Matthew Hodgson
b4dc5e620b
oops, unbreak notif pagination
2016-09-10 01:36:12 +01:00
Matthew Hodgson
0713e65fc5
fix lint
2016-09-10 00:58:16 +01:00
Matthew Hodgson
b69f6cf70a
don't double-add events in Room.addEventsToTimeline
...
also, ignore notif events from initialSync as their time ordering is wrong
2016-09-10 00:56:37 +01:00
Matthew Hodgson
2c6409a67a
special case 'end' token
2016-09-09 18:45:15 +01:00
Matthew Hodgson
ad7db78829
only consider rooms when paginating EventTimelines with rooms
2016-09-09 18:05:43 +01:00
Matthew Hodgson
bd9e3e5794
only call setEventMetadata on unfiltered timelineSets
2016-09-09 17:42:24 +01:00
Matthew Hodgson
bd32ed5598
refactr paginateNotifTimeline out of existence
2016-09-09 16:49:39 +01:00
Matthew Hodgson
5a5257a598
fix comment
2016-09-09 16:41:29 +01:00
Matthew Hodgson
75b6ebf287
revert comment position
2016-09-09 16:35:38 +01:00
Matthew Hodgson
a9d3ae4ef8
fix tests
2016-09-09 16:34:02 +01:00
Matthew Hodgson
d480b6cf3e
remove unnecessary getUnfilteredTimelineSet()
2016-09-09 16:06:10 +01:00
Richard van der Hoff
fdb640e361
Merge pull request #202 from matrix-org/rav/decryption_warnings
...
Show warnings on to-device decryption fail
2016-09-09 14:09:05 +01:00
Richard van der Hoff
924a8533f1
Merge pull request #201 from matrix-org/rav/DisplayName
...
s/Displayname/DisplayName/
2016-09-09 14:08:36 +01:00
Richard van der Hoff
72b4f270ff
Show warnings on to-device decryption fail
...
If we can't decrypt a to-device message, show a warning about it, rather than
swallowing the error.
2016-09-09 12:37:02 +01:00
Richard van der Hoff
946539e32d
s/Displayname/DisplayName/
2016-09-09 11:32:57 +01:00
Matthew Hodgson
9882fed6d7
Merge branch 'develop' into matthew/filtered-timelines
2016-09-09 11:12:42 +01:00
Matthew Hodgson
93f45c0a94
reemit notif timeline events correctly
2016-09-09 02:28:01 +01:00
Matthew Hodgson
c6d358a6f3
doc Room.timeline event correctly
2016-09-09 02:27:51 +01:00
Matthew Hodgson
2e4c362ccd
make /notification pagination actually work
2016-09-09 02:08:39 +01:00
Matthew Hodgson
f959e1a134
incorporate PR feedback
2016-09-08 22:38:39 +01:00
Matthew Hodgson
7dfc4a404c
initial PR fixes
2016-09-08 17:51:14 +01:00
Richard van der Hoff
2af349eb72
Merge pull request #200 from matrix-org/rav/oh_hai_new_device
...
OH HAI
2016-09-08 16:20:59 +01:00
Richard van der Hoff
43f3a1e8b3
Merge pull request #199 from matrix-org/rav/share_megolm_state
...
Share the current ratchet with new members
2016-09-08 16:18:48 +01:00
Matthew Hodgson
13c186dfbe
fix lint
2016-09-08 15:29:53 +01:00
Matthew Hodgson
4d88736d13
add much-needed room.getUnfilteredTimelineSet() helper
2016-09-08 14:37:26 +01:00
Richard van der Hoff
1da633e28a
Handle new device announcements
...
When we see a new device, download its keys, and then add it to the list of
things waiting for a keyshare.
2016-09-08 14:35:13 +01:00
Richard van der Hoff
879da47f0e
Send an "oh hai" message to other e2e users
...
When we first complete an initial sync on a new device, send out an
m.new_device message for each user we share an e2e room with
2016-09-08 14:34:08 +01:00
Richard van der Hoff
cacafb461d
Share the current ratchet with new members
...
When a new member joins the room, we don't need to reset the megolm session;
instead we can just share the current state with the new user.
2016-09-08 14:20:54 +01:00
Richard van der Hoff
15e285c6b4
Merge pull request #198 from matrix-org/rav/refactor_crypto
...
Move crypto bits into a subdirectory
2016-09-08 13:35:38 +01:00
Richard van der Hoff
71c33420f6
Move crypto bits into a subdirectory
...
It was getting a bit sprawly; this should help keep things together.
2016-09-08 09:50:31 +01:00
Richard van der Hoff
e7f70bba5c
Merge pull request #197 from matrix-org/rav/refactor_crypto_event_handler
...
Refactor event handling in Crypto
2016-09-08 09:44:31 +01:00
Matthew Hodgson
e4ec2aa55f
maintain the global notification timeline set.
...
* track notifTimelineSet on MatrixClient
* stop Rooms from tracking notifTimelineSet as they don't need to
* Implement client.paginateNotifTimelineSet
* make Events store their pushActions properly
* insert live notifs directly into the notifTimelineSet in /sync, ordering by origin_server_ts.
2016-09-08 02:57:49 +01:00
Matthew Hodgson
fc495a5f1e
fix lint
2016-09-08 00:18:17 +01:00
Richard van der Hoff
6fe4dfcad0
Refactor event handling in Crypto
...
Move the event-handler registration from client.js into crypto.js
2016-09-07 23:13:22 +01:00
Matthew Hodgson
dac820f957
actually filter /messages
2016-09-07 22:04:12 +01:00
Matthew Hodgson
91f8df8d19
make EventTimeline take an EventTimelineSet
2016-09-07 21:17:06 +01:00
Matthew Hodgson
9b507f6c6c
Merge branch 'develop' into matthew/filtered-timelines
2016-09-07 20:34:57 +01:00
Matthew Hodgson
5e583d3c50
populate up filtered timelineSets vaguely correctly
2016-09-07 19:45:30 +01:00
Richard van der Hoff
d706b57fe9
Merge pull request #195 from matrix-org/rav/lazy_olm
...
Don't create Olm sessions proactively
2016-09-07 19:19:07 +01:00
Richard van der Hoff
1063a16013
Don't create Olm sessions proactively
...
In what I hoped would be a five-minute refactor to help clean up an annoying
not-really-used codepath, but turned into a bit of a hackathon on the tests,
create Olm sessions lazily in Olm rooms, just as we do in megolm rooms, which
allows us to avoid having to get the member list before configuring e2e in a
room.
2016-09-07 18:44:02 +01:00
Richard van der Hoff
46a2073427
Merge pull request #194 from matrix-org/rav/use_todevice_events
...
Use to-device events for key sharing
2016-09-07 14:01:57 +01:00
Richard van der Hoff
d7bb9574e7
Merge pull request #193 from matrix-org/rav/update_readme
...
README: callbacks deprecated
2016-09-07 14:00:24 +01:00
Richard van der Hoff
9c18893ae5
Use to-device events for key sharing
...
Synapse now supports out-of-band messages, so use them instead of sending the
key-sharing messages in-band.
2016-09-07 13:56:54 +01:00
Richard van der Hoff
4503c320e5
README: callbacks deprecated
...
We are no longer adding callback arguments as a matter of course.
2016-09-07 11:39:29 +01:00
Matthew Hodgson
c4995bd153
fix filtering
2016-09-07 02:17:03 +01:00
Richard van der Hoff
af0f5b37d8
Bump to olm 1.2.0
2016-09-06 22:29:33 +01:00
Richard van der Hoff
b9ba4671b4
Merge pull request #192 from matrix-org/rav/verified_megolm_senders
...
Fix sender verification for megolm messages
2016-09-06 22:22:20 +01:00
Richard van der Hoff
50b8f13037
Fix sender verification for megolm messages
...
Turns out all we need to do is to make sure we use the Olm device table when we
look up megolm senders.
2016-09-06 16:46:57 +01:00
Richard van der Hoff
4aa9dca608
Merge pull request #191 from matrix-org/rav/ciphertext_field
...
Use `ciphertext` instead of `body` in megolm events
2016-09-06 16:25:35 +01:00
Richard van der Hoff
98dc5328a0
Use ciphertext instead of body in megolm events
...
Apparently `body` is going to be special.
2016-09-06 16:23:23 +01:00
Richard van der Hoff
408671b58a
Megolm: Remove check for signature field
...
We're putting the signature in the body, so we don't want a separate field.
2016-09-06 15:59:57 +01:00
Matthew Hodgson
1bda527e3d
export EventTimelineSet
2016-09-06 01:04:23 +01:00
Richard van der Hoff
e0f1b9ebf0
Merge pull request #189 from matrix-org/rav/get_olm_sessions_for_user
...
Add debug methods to get the state of OlmSessions
2016-09-05 10:38:57 +01:00
Richard van der Hoff
55127aa43f
Merge pull request #190 from matrix-org/rav/get_stored_devices
...
MatrixClient.getStoredDevicesForUser
2016-09-05 10:38:12 +01:00
Matthew Hodgson
888fbe3549
fix some lint
2016-09-05 02:44:46 +01:00
Matthew Hodgson
ed5c061566
move getOrCreateClient from sync.js to client.js
2016-09-05 02:44:24 +01:00
Richard van der Hoff
df6b1d1471
Add debug methods to get the state of OlmSessions
...
I've been trying to track down issues with the OlmSessions getting out of sync
between two devices. To help with this, add a method which can be used from the
JS console to inspect the state of OlmSessions.
2016-09-05 00:03:21 +01:00
Richard van der Hoff
5e0f09075d
MatrixClient.getStoredDevicesForUser
...
Implement MatrixClient.getStoredDevicesForUser which uses
Crypto.getStoredDevicesForUser, which is more powerful than listDeviceKeys, and
isn't deprecated.
Also a couple of accessors for DeviceInfo.
2016-09-04 23:31:38 +01:00
Matthew Hodgson
2daa1b6007
change TimelineWindow to take a timelineSet rather than a Room
2016-09-04 13:57:56 +01:00
Matthew Hodgson
4ff2ad9fac
s/EventTimelineList/EventTimelineSet/g at vdh's req
2016-09-03 22:27:29 +01:00
Matthew Hodgson
ba06e8091f
Merge branch 'develop' into matthew/filtered-timelines
2016-09-03 13:33:15 +01:00
Richard van der Hoff
692b3107ac
Merge pull request #188 from matrix-org/rav/cleanups
...
Olm-related cleanups
2016-09-02 15:39:15 +01:00
Richard van der Hoff
6baf9e1c37
Olm-related cleanups
...
A couple of small refactors which fell out of the aborted stuff for upgrading
to secure Ed25519 keys, but are useful in their own right.
The main functional change here is to calculate the "algorithms" list from
DECRYPTION_CLASSES (and hence include megolm in the list).
2016-09-02 11:33:50 +01:00
Richard van der Hoff
c07e662b90
Update to olm 1.1.0
...
Use fixed olm library
2016-09-02 11:18:58 +01:00
Matthew Hodgson
aca8b32e5b
Merge pull request #186 from matrix-org/matthew/uninterrupted-audio
...
always play audio out of the remoteAudioElement if it exists.
2016-09-01 10:54:20 +01:00
Matthew Hodgson
0ec8a6e0af
always play audio out of the remoteAudioElement if it exists.\n\nfixes https://github.com/vector-im/vector-web/issues/1271 and https://github.com/vector-im/vector-web/issues/621
2016-08-31 21:52:24 +01:00
Matthew Hodgson
41af7c8883
Merge pull request #185 from matrix-org/matthew/webrtc-promises
...
Fix exceptions where HTMLMediaElement loads and plays race
2016-08-31 21:00:24 +01:00
Matthew Hodgson
7f2070f7b7
fix lint
2016-08-31 20:59:02 +01:00
Matthew Hodgson
1cc74ec116
don't break the promise chain if a play() fails
2016-08-31 20:57:08 +01:00
Matthew Hodgson
627f662384
PR review
2016-08-31 17:39:06 +01:00
Matthew Hodgson
c791881c87
fix lint
2016-08-31 16:31:49 +01:00
Matthew Hodgson
b0782885d5
kill unhandled exceptions where loads and plays race by queuing them as promises
2016-08-31 16:29:14 +01:00
Matthew Hodgson
d25d60f0f0
make the tests pass again
2016-08-30 23:34:11 +01:00
Kegsay
d356e722da
Make example actually work
2016-08-30 15:11:06 +01:00
Richard van der Hoff
84e2fc91ae
Merge pull request #183 from matrix-org/rav/reset_megolm_on_member_change
...
Reset megolm session when people join/leave the room
2016-08-30 14:58:18 +01:00
Richard van der Hoff
9768fb020c
Merge pull request #184 from matrix-org/rav/fix_redactions
...
Fix exceptions when dealing with redactions
2016-08-30 14:53:48 +01:00
Richard van der Hoff
e25112ad35
Fix exceptions when dealing with redactions
...
When we got a redaction event, we were adding the entire (circular) MatrixEvent
object for the redaction to the redacted event, which would then cause
exceptions down the line (particularly when dealing with gappy timelines).
We should only be adding the raw event.
Fixes (hopefully) https://github.com/vector-im/vector-web/issues/1389 .
2016-08-30 14:30:12 +01:00
Matthew Hodgson
e18b446190
unbreak filter text
2016-08-30 01:30:23 +01:00
Matthew Hodgson
0848d4ed10
reemit Room.timeline events correctly
2016-08-30 01:13:32 +01:00
Matthew Hodgson
7514aea813
make most things work other than Room.timeline firing
2016-08-30 01:11:47 +01:00
Matthew Hodgson
58031ab21d
fix things until they almost work again...
2016-08-30 00:36:52 +01:00
Matthew Hodgson
c1c2ca3ec1
tweak doc; make it build
2016-08-29 23:18:19 +01:00
Matthew Hodgson
b863a363da
WIP refactor
2016-08-29 21:08:35 +01:00
Matthew Hodgson
b42db46abd
WIP refactor
2016-08-29 21:06:53 +01:00
Matthew Hodgson
d46863e199
fix syntax
2016-08-28 23:44:10 +01:00
Matthew Hodgson
751ce421cd
Merge branch 'develop' into matthew/filtered-timelines
2016-08-28 18:49:54 +01:00
Matthew Hodgson
74e1dccf50
0.5.6
2016-08-28 16:36:06 +01:00
Matthew Hodgson
bf3eaa9eb7
Prepare changelog for v0.5.6
2016-08-28 16:29:34 +01:00
Richard van der Hoff
b4f22310ea
Reset megolm session when people join/leave the room
2016-08-26 11:24:59 +01:00
Richard van der Hoff
2da70ca024
Merge pull request #182 from matrix-org/rav/single_key_message
...
Put all of the megolm keys in one room message
2016-08-24 11:48:54 +01:00
Richard van der Hoff
42babbc595
Put all of the megolm keys in one room message
...
Avoid hitting the rate-limiter by putting all of the megolm keys in a single
event.
2016-08-24 11:46:22 +01:00
Richard van der Hoff
ba4735d4a8
Merge pull request #181 from matrix-org/rav/fix_device_blocking
...
Reinstate device blocking for simple Olm
2016-08-24 10:22:18 +01:00
Richard van der Hoff
31e7addf2f
Reinstate device blocking for simple Olm
...
Commit 4cde51b3 broke device blocking such that we were encrypting for all
devices, including blocked ones. Reinstate it, and add a test.
2016-08-24 09:26:12 +01:00
Richard van der Hoff
ba339ffdad
Merge pull request #180 from matrix-org/rav/receive_megolm_keys
...
support for unpacking megolm keys
2016-08-23 17:30:30 +01:00
Richard van der Hoff
a05cbab7c6
Merge pull request #179 from matrix-org/rav/send_megolm_keys
...
Send out megolm keys when we start a megolm session
2016-08-23 17:30:12 +01:00
Richard van der Hoff
e708e59b15
Add a TODO about batching events
2016-08-23 17:27:47 +01:00
Matthew Hodgson
dd5878015a
WIP filtered timelines
2016-08-23 14:31:47 +01:00
Richard van der Hoff
c72f613afc
Merge pull request #178 from matrix-org/rav/refactor_ensuresessions
...
Change the result structure for ensureOlmSessionsForUsers
2016-08-23 11:19:19 +01:00
Richard van der Hoff
1159e0911f
support for unpacking megolm keys
...
This is incredibly hacky at the moment, pending the arrival of ephemeral
events, but it kinda works.
2016-08-22 18:24:46 +01:00
Richard van der Hoff
9f180179d5
rename m.key event to m.room_key
...
... because m.key is scary, or something
2016-08-22 18:13:11 +01:00
Richard van der Hoff
238700cbdb
Send out megolm keys when we start a megolm session
...
For now, pending the arrival of SPEC-138, this happens via inline messages in
the room.
2016-08-22 17:59:22 +01:00
Richard van der Hoff
df43b19510
Change the result structure for ensureOlmSessionsForUsers
...
Nothing was using the results (except the tests), and it's more useful to have
the devices we *do* have a session for than the ones we don't.
2016-08-22 17:44:37 +01:00
Richard van der Hoff
e4bfb3ca32
Merge pull request #177 from matrix-org/rav/olmlib
...
Factor out a function for doing olm encryption
2016-08-22 16:34:17 +01:00
Richard van der Hoff
0234410b43
Factor out a function for doing olm encryption
...
Make a library file with some constants and a function to pack olm-encrypted
events (which we are going to use from megolm)
2016-08-22 10:22:12 +01:00
Richard van der Hoff
4877edb79b
Merge pull request #175 from matrix-org/rav/refactor_deviceinfo
...
Move DeviceInfo and DeviceVerification to separate module
2016-08-22 10:16:48 +01:00
Richard van der Hoff
1c4ee62397
Merge pull request #176 from matrix-org/rav/asynchronous_encryption
...
Make encryption asynchronous
2016-08-22 10:16:37 +01:00
Richard van der Hoff
7ea7e5ac6c
Move DeviceInfo and DeviceVerification to separate module
2016-08-19 16:18:54 +01:00
Richard van der Hoff
32fa51818b
Make encryption asynchronous
...
We're going to need to send out a load of messages to distribute the megolm
keys; as a first step, deal with the asynchronicity this will require.
2016-08-19 16:18:33 +01:00
David Baker
e0bd05a8c4
Fix lint
2016-08-18 23:58:06 +01:00
David Baker
a25315a994
Merge pull request #167 from Half-Shot/presence_status
...
Added ability to set and get status_msg for presence.
2016-08-18 11:18:03 +01:00
Richard van der Hoff
03e493453b
Merge pull request #174 from matrix-org/rav/fix_room_reference
...
Megolm: don't dereference nullable object
2016-08-18 10:31:45 +01:00
Richard van der Hoff
4d6f9da578
Megolm: don't dereference nullable object
...
It is possible for `room` to be null when passed to
MegolmEncryption.encryptMessage; we need to avoid dereferencing it. Instead,
make sure that the EncryptionAlgorithm knows about the roomId it is targeting,
and use that.
Replace the increasingly-long argument list on the EncryptionAlgorithm
constructor with a params list, and update DecryptionAlgorithm to match.
2016-08-17 16:21:37 +01:00
Richard van der Hoff
783b1feb70
Merge branch 'rav/group_e2e' into develop
2016-08-16 18:10:38 +01:00
Richard van der Hoff
9925b327b4
pr feedback
...
break long line into two statements
2016-08-16 18:09:37 +01:00
Richard van der Hoff
f75287b6b9
Merge pull request #170 from matrix-org/dbkr/push_update_rules_expose_func
...
Update our push rules when they come down stream
2016-08-16 17:10:14 +01:00
David Baker
cc72d35c6b
Move definition
...
So we don't have to fudge the jsdoc to make the linter happy
2016-08-16 17:02:18 +01:00
Richard van der Hoff
89d8133ad2
Implement megolm encryption/decryption
...
Very early attempt at encryption/decryption implementation via megolm. You have
to c&p the keys manually.
2016-08-16 16:47:37 +01:00
Richard van der Hoff
e56833c7b2
Merge pull request #172 from matrix-org/rav/refactor_crypto
...
Factor Olm encryption/decryption out to new classes
2016-08-16 15:26:37 +01:00
Richard van der Hoff
2c9f8ba598
Factor Olm encryption/decryption out to new classes
...
- to make way for alternative encryption algorithms. We now store an encryption
object for each room, rather than referring to sessionstore on each event.
Also a little light tidying to the jsdocs.
2016-08-16 15:12:28 +01:00
Richard van der Hoff
1f16bba342
Merge pull request #171 from matrix-org/rav/refactor_deviceinfo
...
Make DeviceInfo more useful, and refactor crypto methods to use it
2016-08-16 14:19:45 +01:00
Richard van der Hoff
4cde51b3ce
Make DeviceInfo more useful, and refactor crypto methods to use it
...
This is a prerequisite for a forthcoming refactor of _encryptMessage out to a
separate class.
2016-08-16 13:58:56 +01:00
David Baker
267e009ae3
Make lint pass
...
Although with slightly redundant doc :/
2016-08-15 18:55:09 +01:00
David Baker
0ba1a1dabc
Update our push rules when they come down stream
...
Also expose a useful function from pushprocessor.
Fixes https://github.com/vector-im/vector-web/issues/1495
2016-08-15 18:40:12 +01:00
Richard van der Hoff
6739da5acb
Fix login
...
https://github.com/matrix-org/matrix-js-sdk/pull/168 was broken :/
2016-08-12 13:30:04 +01:00
David Baker
b0d5e1d844
Merge pull request #169 from matrix-org/rav/move_login_to_base_apis
...
Move login and register methods into base-apis
2016-08-12 13:10:59 +01:00
David Baker
ea6f526ef9
Merge pull request #168 from matrix-org/rav/clean_up_login
...
Remove defaultDeviceDisplayName from MatrixClient options
2016-08-12 13:10:18 +01:00
Richard van der Hoff
3a7b1c6dd4
Move login and register methods into base-apis
...
login no longer relies on fields within MatrixClient, so we can move it down
to BaseApis
2016-08-12 13:02:40 +01:00
Richard van der Hoff
b98e421b8a
Remove defaultDeviceDisplayName
...
We no longer rely on js-sdk setting the initial_device_display_name and
login_id on login, so remove them to make `login` simpler.
2016-08-12 12:51:26 +01:00
David Baker
d9318a60e4
0.5.5
2016-08-11 17:24:20 +01:00
David Baker
2fd569a61a
Prepare changelog for v0.5.5
2016-08-11 17:17:28 +01:00
Will Hunt
1bd5d12665
Fixed setPresence opts
2016-08-11 13:39:27 +01:00
Will Hunt
02de5e96ba
Add presenceStatusMsg to User
2016-08-11 12:55:07 +01:00
Will Hunt
bc56213010
Add status_msg to setPresence
2016-08-11 12:50:13 +01:00
David Baker
34919d1b96
Merge pull request #166 from matrix-org/rav/stop_sync_when_stopped
...
Make sure we actually stop the sync loop on logout
2016-08-11 10:31:29 +01:00
Richard van der Hoff
cc08de9c64
Make sure we actually stop the sync loop on logout
...
I think this was only a problem in the edgiest of edge conditions, but it
certainly didn't look right.
2016-08-11 01:13:52 +01:00
Richard van der Hoff
6432a64442
Merge pull request #164 from matrix-org/dbkr/fix_user_level_zero
...
Zero is a valid power level
2016-08-05 14:29:49 +01:00
David Baker
1f18dabca0
Add unit test
2016-08-05 14:28:12 +01:00
David Baker
f74b49de4b
Zero is a valid power level
...
So testing truthiness will lead to incorrect behaviour.
https://github.com/vector-im/vector-web/issues/1620
2016-08-05 11:54:38 +01:00
Richard van der Hoff
6aeb265c19
Merge pull request #163 from matrix-org/rav/check_sig_on_device_keys
...
Verify e2e keys on download
2016-08-04 15:45:39 +01:00
Richard van der Hoff
f10467e81f
Verify e2e keys on download
...
Check the signature on downloaded e2e keys, and ignore those that don't match.
2016-08-04 15:33:29 +01:00
Richard van der Hoff
6001077c34
Merge pull request #162 from matrix-org/rav/refactor_matrix_client
...
Factor crypto stuff out of MatrixClient
2016-08-04 14:56:54 +01:00
Richard van der Hoff
ad6eec329d
Factor crypto stuff out of MatrixClient
...
Introduce a new Crypto class which encapsulates all of the the crypto-related
gubbins, replacing it with thin wrappers in MatrixClient.
2016-08-04 12:06:37 +01:00
Richard van der Hoff
d9867ba458
Merge pull request #161 from matrix-org/rav/refactor_key_upload
...
Refactor device key upload
2016-08-04 12:05:41 +01:00
Richard van der Hoff
6dc7e624d3
Fix device key signing
...
Calculate the signature *before* we add the `signatures` key.
2016-08-04 11:25:38 +01:00
Richard van der Hoff
24957a1445
Refactor device key upload
...
Use another-json instead of awful manual json building. Sign the device keys at
the point of upload, instead of having to keep the signed string in
memory. Only upload device keys once (they are correctly merged with the
one-time keys by synapse).
2016-08-04 10:03:31 +01:00
Richard van der Hoff
e2d67db5d4
Fix missing semicolon
2016-08-04 09:18:26 +01:00
David Baker
6c59966339
Merge pull request #158 from matrix-org/rav/devices_api
...
Wrappers for devices API
2016-08-03 16:12:23 +01:00
Richard van der Hoff
b4223d3790
Merge pull request #160 from matrix-org/dbkr/deactivate_account
...
Add deactivate account function
2016-08-03 15:40:43 +01:00
David Baker
9f6d9208f2
changelog
2016-08-03 15:26:52 +01:00
David Baker
35d45f0280
Add deactivate account function
2016-08-03 15:26:05 +01:00
Richard van der Hoff
c288e6c7ec
Merge pull request #159 from matrix-org/rav/device_name_for_e2e_keys
...
client.listDeviceKeys: Expose device display name
2016-08-03 14:32:02 +01:00
Richard van der Hoff
bb946c65d1
client.listDeviceKeys: Expose device display name
2016-08-03 14:13:31 +01:00
Richard van der Hoff
13fe22bc86
Wrappers for devices API
2016-08-03 14:11:19 +01:00
Richard van der Hoff
f139e6e6c2
Merge pull request #157 from matrix-org/dbkr/logout_api
...
Add `logout`
2016-08-02 16:19:49 +01:00
David Baker
364fe3ba47
Oops, s/MatrixClient/MatrixBaseApis/
2016-08-02 15:53:29 +01:00
David Baker
8b9b37cc91
Move to base APIs
2016-08-02 15:44:54 +01:00
David Baker
7895d1daa0
appease linter
2016-08-02 15:36:36 +01:00
David Baker
93a9f76f69
Add logout
2016-08-02 14:52:24 +01:00
Richard van der Hoff
4e2edfc771
Merge pull request #156 from matrix-org/dbkr/fix_email_registration
...
Fix email registration
2016-07-29 16:51:49 +01:00
David Baker
f4d53e25cc
Remove all the device_id setting from the JS SDK
...
As discussed, this makes things quite complicated, so conclusion is that's better to just let the app do this.
2016-07-29 16:45:22 +01:00
David Baker
da324c020b
lint
2016-07-29 14:47:24 +01:00
David Baker
f63015e4c4
Fix email registration
...
This would cause the request to 400 in the new vector that opens after you clicked the link in the email, as per the comment.
2016-07-29 14:40:53 +01:00
David Baker
61cf53deee
Merge pull request #155 from matrix-org/rav/refactor_matrix_client
...
Factor out MatrixClient methods to MatrixBaseApis
2016-07-29 10:32:41 +01:00
David Baker
57ff963fae
Merge pull request #154 from matrix-org/rav/fix_crypto_test
...
Fix some broken tests
2016-07-29 10:24:10 +01:00
David Baker
32744b23a0
Merge pull request #153 from matrix-org/rav/fail_build_on_test_fail
...
make jenkins fail the build if the tests fail
2016-07-29 10:22:39 +01:00
Richard van der Hoff
6c25110682
Factor out MatrixClient methods to MatrixBaseApis
...
Starts work on a class which is intended to just wrap the Matrix apis with very
simple functions.
There is a lot more work to be done here. For now, I have just taken methods
which don't refer to anything in MatrixClient except _http. This excludes a
bunch of things which refer to $userId, as well as the login stuff because of
the deviceId stuff I've just added :/.
For now, it's an internal class. I don't really see any reason it can't be
exposed to applications, though.
2016-07-28 15:36:45 +01:00
Richard van der Hoff
188802c5d3
Fix some broken tests
...
A number of the tests appear to have been broken since 90c919e without anyone
noticing; fix them.
2016-07-28 14:30:33 +01:00
Richard van der Hoff
a47e59f02c
make jenkins fail the build if the tests fail
2016-07-28 14:18:34 +01:00
David Baker
59d7935934
Merge pull request #152 from matrix-org/rav/deviceId
...
deviceId-related fixes
2016-07-27 11:12:14 +01:00
Richard van der Hoff
ba616d2a25
deviceId-related fixes
...
A couple of changes to support bigger changes in the react-sdk:
1. Add getDeviceId() to MatrixClient
2. Don't attempt to upload e2e keys if deviceId wasn't set.
2016-07-26 22:52:45 +01:00
David Baker
dc07038a27
Merge pull request #151 from matrix-org/rav/device_id_in_login
...
/login, /register: Add device_id and initial_device_display_name
2016-07-21 13:13:29 +01:00
Richard van der Hoff
dd064ba0a1
/login, /register: Add device_id and initial_device_display_name
...
To help test the forthcoming device_id support for /login and /register, add
the device_id and initial_device_display_name parameters to those calls. Allow
the app to specify the default device displayname when creating the client (as
well as the device_id).
Also, don't try initialising the Olm layer unless a userId is
provided. Currently this isn't a problem because react-sdk doesn't provide a
sessionStore when it doesn't provide a userId, but that is a bad thing to rely
on (and I am going to break it with a react-sdk PR).
2016-07-20 20:06:14 +01:00
Matthew Hodgson
3baea89c34
Merge pull request #150 from matrix-org/matthew/generic-account-data
...
Support global account_data
2016-07-20 16:02:58 +01:00
Matthew Hodgson
1412646a55
fix review feedback
2016-07-20 15:40:58 +01:00
Matthew Hodgson
c00a830cbb
fix nightmare bug where Room.accountData wasn't being emitted by Room objects
2016-07-20 11:59:38 +01:00
Matthew Hodgson
fa28297add
thinkos
2016-07-20 10:17:54 +01:00
Matthew Hodgson
58a68106bc
generic account data support
2016-07-18 01:40:05 +01:00
David Baker
ebd2ef6f95
Merge pull request #149 from matrix-org/dbkr/emit_more_presence_events
...
Add more events to User
2016-07-14 10:34:58 +01:00
David Baker
809492d45d
Fix currently_active event
...
Need === undefined here to check the presence of the field
2016-07-14 10:33:02 +01:00
David Baker
385c5d5469
More detailed changelog
2016-07-14 10:31:49 +01:00
David Baker
9713ffedf2
Do the changelog
...
Do do do do do do do do do
Do do do do do do do do do
Do do do do do do do do do
Do do do do do do do do do
Do the changelog
2016-07-14 10:08:22 +01:00
David Baker
ecb31b5aaf
Add more events to User
...
There was no way of observing changes to fields like currentlyActive, so add this and add one for lastPresenceTs that will be fired whenever we get a presence event.
2016-07-14 09:38:50 +01:00
Richard van der Hoff
cee9a954ec
Bump olm to 1.0.0
2016-07-11 17:04:41 +01:00
David Baker
fc55858aa3
Merge pull request #148 from matrix-org/dbkr/more_requesttokens
...
Add API calls for other requestToken endpoints
2016-07-08 17:53:55 +01:00
David Baker
b689dbb9c0
Better function name
2016-07-08 17:52:27 +01:00
David Baker
7dbc03942a
linty lint lint
2016-07-08 17:35:37 +01:00
David Baker
425039c5b5
Add changelog entry
2016-07-08 17:26:23 +01:00
David Baker
03d0aecc26
Add API calls for other requestToken endpoints
2016-07-08 17:24:59 +01:00
David Baker
abf903246c
Add dummy doc to appease linter
2016-07-07 18:02:12 +01:00
David Baker
3fd601bda4
Use ===
2016-07-07 17:56:54 +01:00
David Baker
1896c0b62f
Merge pull request #147 from matrix-org/dbkr/register_request_token
...
Add register-specific request token endpoint
2016-07-07 11:17:20 +01:00
David Baker
aa36571981
PR feedback inc doccing params
2016-07-07 11:16:50 +01:00
David Baker
abbe9d2bc7
Add register-specific request token endpoint
...
As per https://github.com/matrix-org/matrix-doc/pull/343
2016-07-06 15:19:39 +01:00
Kegsay
dff84c46f0
Merge pull request #139 from alefteris/valid-spdx
...
Set a valid SPDX license identifier in package.json
2016-07-05 12:57:38 +01:00
David Baker
7614c6677c
Merge pull request #145 from matrix-org/rav/crypto_event
...
Configure encryption on m.room.encryption events
2016-06-23 18:25:15 +01:00
Richard van der Hoff
3d2a970457
Check m.room.encryption is a state event
...
- just to be paranoid.
2016-06-23 18:19:59 +01:00
David Baker
50d60f5dd3
Merge pull request #146 from matrix-org/rav/device_blocking
...
Implement device blocking
2016-06-23 18:16:00 +01:00
Richard van der Hoff
90c919e7e4
Implement device blocking
...
We want to be able to 'block' devices, so that they are not sent copies of our
text. Implement that change, and exclude blocked devices when encrypting
messages.
THis changes the name of the 'deviceVerified' event to
'deviceVerificationChanged', but that just means that the UI won't update
correctly until the changes to react-sdk arrive.
2016-06-23 17:23:23 +01:00
Richard van der Hoff
583ddc3e57
Configure encryption on m.room.encryption events
...
This is the first step in having a cross-room "enable encryption" button.
If encryption is enabled, add an event handler which will set up encryption
when we receive an m.room.encryption event (either at initial /sync, or in
subsequent syncs.)
2016-06-23 17:19:44 +01:00
Richard van der Hoff
7ff1cf4e4a
Merge pull request #144 from matrix-org/dbkr/set_visibility_doc
...
Clearer doc for setRoomDirectoryVisibility
2016-06-22 17:20:13 +01:00
David Baker
1556cc4479
Oops, include the param name
2016-06-22 16:17:51 +01:00
Richard van der Hoff
32f7ca55df
Merge pull request #143 from matrix-org/rav/room_encryption_state
...
crypto: use memberlist to derive recipient list
2016-06-22 15:26:13 +01:00
David Baker
ae3551ad78
Clearer doc for setRoomDirectoryVisibility
2016-06-22 14:27:54 +01:00
Richard van der Hoff
d0e90cd8c9
crypto: use memberlist to derive recipient list
...
When we send an encrypted message with Olm, we need to know who to send it
to. Currently that is based on a user list passed to setRoomEncryption. We want
to be able to change the list as people join and leave the room; I also want to
not have to keep the member list in local storage.
So, use the member list at the point of enabling encryption to set up sessions,
and at the point of sending a message to encrypt the message.
Further work here includes:
* updating the react-sdk not to bother setting the member list
* monitoring for new users/devices in the room, and setting up new sessions
with them
2016-06-21 17:53:11 +01:00
Richard van der Hoff
cb6566a198
matrix-client-crypto-spec: reorder
...
Separate the helper functions from the tests, and order them by functionality
rather than by test order.
I've been struggling to find the tests among the helpers, and struggling to
find the helpers among the other helpers. Hopefully this will help.
2016-06-21 10:12:38 +01:00
David Baker
573a9140d3
Merge pull request #142 from matrix-org/rav/unverify_device
...
Support for marking devices as unverified
2016-06-17 16:59:22 +01:00
David Baker
6a02f39f0b
Merge pull request #141 from matrix-org/rav/olm_as_optional_dependency
...
Add Olm as an optionalDependency
2016-06-17 16:58:18 +01:00
Richard van der Hoff
7604bcc49a
Support for marking devices as unverified
...
Mostly because it's useful for testing, to be honest.
2016-06-17 16:22:22 +01:00
Richard van der Hoff
40c73e2079
Add Olm as an optionalDependency
...
We have optional support for olm, so it makes sense to add it as an
optionalDependency here.
2016-06-17 16:05:43 +01:00
Richard van der Hoff
7f113de790
changelog: really fix "unreleased" tag
2016-06-17 15:52:38 +01:00
Richard van der Hoff
accb589892
changelog: fix "unreleased" tag
2016-06-17 15:52:12 +01:00
Richard van der Hoff
4347f432b3
Merge pull request #140 from matrix-org/dbkr/room_get_aliases
...
Add room.getAliases() and room.getCanonicalAlias()
2016-06-17 15:50:32 +01:00
David Baker
6d905563fc
Oops, no ES6 here. Also long line.
2016-06-17 15:21:51 +01:00
David Baker
e943bc46d8
Add room.getAliases() and room.getCanonicalAlias()
2016-06-17 15:15:23 +01:00
Thanos Lefteris
7896b06bd7
Set a valid SPDX license expression in package.json
...
Signed-off-by: Thanos Lefteris <alefteris@gmail.com >
2016-06-14 18:35:40 +03:00
David Baker
0f153fdaf7
Merge pull request #138 from matrix-org/rav/event_encryption
...
Change how MatrixEvent manages encrypted events
2016-06-09 18:59:43 +01:00
Richard van der Hoff
2e4a8f4fa5
Change how MatrixEvent manages encrypted events
...
Make `MatrixEvent.event` contain the *encrypted* event, and keep the plaintext
payload in a separate `_clearEvent` property.
This achieves several aims:
* means that we have a record of the actual object which was received over
the wire, which can be shown by clients for 'view source'.
* makes sent and received encrypted MatrixEvents more consistent (previously
sent ones had `encryptedType` and `encryptedContent` properties, whereas
received ones threw away the ciphertext).
* Avoids having to make two MatrixEvents in the receive path, and copying
fields from one to the other.
*Hopefully* most clients have followed the advice given in the jsdoc of not
relying on MatrixEvent.event to get at events. If they haven't, I guess they'll
break in the face of encrypted events.
(The pushprocessor didn't follow this advice, so needed some tweaks.)
2016-06-09 18:23:54 +01:00
Richard van der Hoff
53b9154fe2
Merge pull request #137 from matrix-org/rav/encrypt_exceptions
...
Catch exceptions when encrypting events
2016-06-09 18:18:09 +01:00
Richard van der Hoff
ce59b72308
Catch exceptions when encrypting events
...
If an exception was thrown by the encryption process, the event would be
queued, but the exception would not be handled. This meant that the event got
stuck as a grey 'sending' event in the UI.
Fixing this correctly is slightly more complex than just handling the exception
correctly. A naive approach would mean that the event would be shown as a red
'unsent' message, and clicking 'resend' would then send the message *in the
clear*. Hence, move the encryption to _sendEvent, where it will be called again
when the event is resent.
2016-06-09 17:18:29 +01:00
Richard van der Hoff
4bf24f0fe4
Client: add some logging to help understand what is going on
2016-06-09 17:18:22 +01:00
Richard van der Hoff
23a38ae8f2
Merge pull request #136 from matrix-org/rav/device_verification
...
Support for marking devices as verified
2016-06-09 10:42:12 +01:00
Richard van der Hoff
0ab3446d81
Emit an event when a device is verified
...
We will probably want to share device verification across our own devices at
some point, so this will be useful in the future.
2016-06-08 21:22:48 +01:00
Richard van der Hoff
adaf4bf92b
Remove spurious TODO
...
we are doing this a different way
2016-06-08 18:34:15 +01:00
Richard van der Hoff
60519c4e6b
client: add isEventSenderVerified()
...
Add a method which allows applications to check if the sender of an event is on
the list of verified senders.
2016-06-08 17:20:26 +01:00
Richard van der Hoff
21a62f37de
Client: mark our own device as verified
2016-06-08 17:20:26 +01:00
Richard van der Hoff
9feeb0c580
Support for marking devices as verified
...
Add a 'verified' property to the response from MatrixClient.listDeviceKeys, and
add MatrixClient.setDeviceVerified to set it. Also changes the format of data
stored for user devices in the session store slightly (in a
backwards-compatible way).
2016-06-08 17:20:26 +01:00
Richard van der Hoff
7c3104b2ae
client: fix bug marking all sent events as encrypted
2016-06-08 17:19:04 +01:00
Richard van der Hoff
5ccbc0bbc6
Merge pull request #134 from matrix-org/rav/e2e/1
...
Various matrix-client refactorings and fixes
2016-06-07 23:48:33 +01:00
Richard van der Hoff
9c47400a0c
client: Document the type of the sessionStore
2016-06-07 23:44:12 +01:00
Richard van der Hoff
9cb032ec44
OlmDevice: factor out a bunch of boilerplate
...
Create some helper functions which help us reduce the boilerplate even further
2016-06-07 23:36:04 +01:00
Richard van der Hoff
8c6e2591d9
Factor out OlmDevice from client.js
...
MatrixClient contains quite a lot of boilerplate for manipulating the Olm
things, which quite nicely factors out to a separate object.
2016-06-07 19:09:47 +01:00
Richard van der Hoff
0c8c7cf77a
matrix-client-crypto-spec: add some more tests
...
Tests for bob receiving two messages, and for bob sending a message back to
alice.
2016-06-07 19:09:47 +01:00
Richard van der Hoff
52edcc49c5
matrix-client-crypto-spec: different backends for ali and bob
...
Use different mock http backends for the two different clients, so that we can
better control what each of them is doing (in particular, this is a
prerequisite for having them both running /sync loops)
2016-06-07 19:09:47 +01:00
Richard van der Hoff
5eede573c4
matrix-client-crypto-spec: shut down test clients
...
Running clients stop the test runner exiting cleanly, so make sure we stop them
2016-06-07 19:09:47 +01:00
Richard van der Hoff
e9d60a252b
matrix-client-crypto.spec.js: replace callbacks with promises
...
The pyramid of doom was getting unmanageable, not to mention the difficulty of
diagnosing why tests were failing, so replace the callbacks with promises.
2016-06-07 19:09:47 +01:00
Richard van der Hoff
17ec7daf23
MatrixClient: refactor uploadKeys
...
rewrite uploadKeys to require less looping and not to use deferreds.
2016-06-07 19:09:47 +01:00
Richard van der Hoff
b18a4ee16b
client.js: Fix error handling in downloadKeys
...
Fix a bug in the error handling in downloadKeys: If the http request failed,
then the exception would get silently swallowed and the promise would never
resolve.
Also: tests!
2016-06-07 17:26:56 +01:00
Richard van der Hoff
f38f983a46
spec: Factor MockStorageApi out of webstorage.spec.js
...
This is useful elsewhere.
2016-06-07 17:26:56 +01:00
Matthew Hodgson
e85c1e1231
0.5.4
2016-06-02 18:07:07 +01:00
Matthew Hodgson
1381a0226d
Prepare changelog for v0.5.4
2016-06-02 18:07:07 +01:00
Matthew Hodgson
4bec72a2bd
make release work on OSX
2016-06-02 18:02:47 +01:00
Matthew Hodgson
11f02d2e24
fix https://github.com/vector-im/vector-web/issues/1039 , for
...
literally the 4th time. unbreak tests, and fix camelcase hell.
2016-06-02 16:54:18 +01:00
Richard van der Hoff
09d08a5092
0.5.3
2016-06-02 13:34:51 +01:00
Richard van der Hoff
8c7d041628
Prepare changelog for v0.5.3
2016-06-02 13:34:36 +01:00
Matthew Hodgson
0421e69f14
revert brand param at reg time
2016-06-02 12:33:09 +01:00
Matthew Hodgson
8b35ddae0a
add 'brand' parameter to register()
2016-06-02 11:46:02 +01:00
Matthew Hodgson
7243367a64
only clobber displayname & avatarurl from presence if set. fixes https://github.com/vector-im/vector-web/issues/1039 . again.
2016-06-01 03:45:16 +01:00
Matthew Hodgson
fb388f5d2d
fix typoes
2016-05-17 21:45:27 +01:00
David Baker
0757a1dd1c
Merge pull request #133 from matrix-org/dbkr/scalar
...
Add support for the openid interface
2016-05-06 15:56:33 +01:00
David Baker
06486f7ad0
Fix c+p fails
2016-05-06 14:28:26 +01:00
David Baker
a9d8c58ea0
Add support for the openid interface
2016-05-06 13:58:10 +01:00
Paul Evans
beec36d484
Merge pull request #129 from matrix-org/paul/bugfix-upload-content
...
Bugfix for HTTP upload content when running on node
2016-04-25 15:46:09 +01:00
Paul "LeoNerd" Evans
37ea7edaa0
Bugfix for HTTP upload content when running on node
2016-04-21 14:16:20 +01:00