Damir Jelić
bd0ac703a0
crypto: Initial logic for session unwedging.
2020-10-09 15:39:35 +02:00
Damir Jelić
6d2e9cfc02
crypto: Share the users_for_key_claim map between modules.
2020-10-09 11:36:31 +02:00
Damir Jelić
661f182382
Merge branch 'master' into crypto-improvements
2020-10-08 18:28:04 +02:00
Dominique Martinet
9ea4835e3e
Revert "matrix_sdk examples: set `#![type_length_limit = "1075569"]`"
...
This reverts commit 7d023ebdb9
.
Rust 1.47.0 got released and the tuning is no longer necessary.
2020-10-08 17:57:23 +02:00
Dominique Martinet
2602c36ad0
matrix_sdk_base: save room states after successfully parsed account events
2020-10-08 16:10:58 +02:00
Dominique Martinet
d858940342
matrix_sdk_base: handle response.account_data events
...
"m.direct" events are not in room account data events but in main one
2020-10-08 16:10:58 +02:00
Dominique Martinet
883183324f
matrix_sdk_base: room: add direct_target field
...
Rooms marked as "direct" are associated a user_id in "m.direct" events.
Clients could want to handle these separately
2020-10-08 16:10:58 +02:00
Dominique Martinet
7d023ebdb9
matrix_sdk examples: set `#![type_length_limit = "1075569"]`
...
Some examples no longer build after the following commits, set a
bigger-than-default type_length_limit to let tests pass.
The exceptions are not necessary on nightly and can be removed again
after https://github.com/rust-lang/rust/issues/54540 is fixed.
2020-10-08 16:10:48 +02:00
Damir Jelić
473e49252e
crytpo: Get the session from the list of sessions in a safe manner.
2020-10-08 15:56:17 +02:00
Damir Jelić
d96c9f85a1
crypto: Add doces for the get_missing_sessions method.
2020-10-08 14:50:35 +02:00
Damir Jelić
279ce0bba0
crypto: Split out the Olm session handling logic into a separate module.
2020-10-08 14:41:34 +02:00
Damir Jelić
da5ef42719
crypto: Log when we invalidate a group session.
2020-10-08 14:03:01 +02:00
Dominique Martinet
a4eae1053c
matrix_sdk: expose RoomMember
2020-10-08 13:16:33 +02:00
Dominique Martinet
f7039d9a8d
matrix_sdk_base: expose RoomMember
2020-10-08 13:16:33 +02:00
Damir Jelić
723fdeaa06
crypto: Fix a clippy warning.
2020-10-08 12:59:10 +02:00
Damir Jelić
19d513e3c0
crypto: Simplify and test the group session invalidation logic.
2020-10-08 12:40:42 +02:00
Damir Jelić
23ac00c8ec
crypto: Initial support for group session invalidation.
2020-10-08 11:16:02 +02:00
Damir Jelić
4019ebf121
crypto: Fix some clippy warnings.
2020-10-07 17:56:29 +02:00
Damir Jelić
220ccfb52b
matrix-sdk: Fix the arguments docs for sync_with_callback.
2020-10-07 15:26:44 +02:00
Damir Jelić
9a838abd67
crypto: Log when we're not serving a key request because of a missing session.
2020-10-07 14:22:13 +02:00
Damir Jelić
17d23eb9e5
matrix-sdk: Add automatic key claiming support.
2020-10-07 14:07:47 +02:00
Damir Jelić
8ea0035cd0
crypto: Add the automatic key claim users to the key claim request.
2020-10-07 14:02:50 +02:00
Damir Jelić
06b9c71dbc
crypto: Refactor out the key share wait queue.
2020-10-07 12:42:39 +02:00
Damir Jelić
6a8ac62a51
crypto: Remove an unwrap.
2020-10-07 11:57:46 +02:00
Damir Jelić
1e894269c8
crypto: Correctly handle the key share without a session and test it.
2020-10-07 11:57:09 +02:00
Damir Jelić
27c6f30e0f
Merge branch 'master' into crypto-improvements
2020-10-06 16:44:11 +02:00
Damir Jelić
bc48674f9f
Merge branch 'new-sync-methods' into master
2020-10-06 16:43:41 +02:00
Damir Jelić
e5f0f64405
crypto: Initial scaffolding for key shares for devices that are missing a session.
2020-10-06 16:38:42 +02:00
Damir Jelić
09f4b07fb7
matrix-sdk: Use a specific version for async-std.
2020-10-06 15:17:45 +02:00
Damir Jelić
2ffac286ed
matrix-sdk: Switch to using an enum for the sync loop callback return value.
2020-10-06 15:04:43 +02:00
Damir Jelić
83b48fb53c
matrix-sdk: Fix the login example.
2020-10-06 12:43:59 +02:00
Damir Jelić
f4137c6bba
Merge branch 'master' into crypto-improvements
2020-10-06 12:23:04 +02:00
Damir Jelić
e16b7f9c44
matrix-sdk: Add an example for the login method.
2020-10-06 12:01:47 +02:00
Damir Jelić
45953a268c
matrix-sdk: Mention that the key import/export methods don't work on WASM.
2020-10-06 11:41:18 +02:00
Damir Jelić
84039ad7aa
matrix-sdk: Add links from the login method docs to the restore_login ones.
2020-10-06 11:40:32 +02:00
Damir Jelić
137fa9619f
matrix-sdk: Add the ability to stop the sync loop and rename the sync methods.
...
This renames our sync methods so it's clearer which one the main one is.
Syncing should be done with the sync method, if one wishes to sync only
once the sync_method is provided.
If one wishes to have a callback called with every sync the
sync_with_callback method exists, the callback now returns a boolean
that signals if the loop should be aborted. This does not mean that the
current sync request will abort, a cancelable future is still needed for
this.
2020-10-06 11:37:29 +02:00
Damir Jelić
e3d24f5c31
crypto: Fix some clippy warnings.
2020-10-01 16:45:13 +02:00
Damir Jelić
02c765f903
crypto: Don't mark outbound group sessions automatically as shared.
2020-10-01 16:31:24 +02:00
Damir Jelić
fc6ff2c78a
crytpo: Remove an unneeded map/clone.
2020-10-01 12:46:09 +02:00
Damir Jelić
bcdcdeb259
Merge branch 'master' into crypto-improvements
2020-10-01 12:21:45 +02:00
Damir Jelić
1d8f01ef11
crypto: Remove the third Device variant.
2020-10-01 12:15:13 +02:00
Alejandro Domínguez
b58d88e0c3
Upgrade ruma
2020-10-01 11:23:26 +02:00
Damir Jelić
c8ca93c924
crytpo: Let the verification machine hold on to a raw CryptoStore.
...
This will later be useful when our higher level store wrapper holds on
to a verification machine to return higher level Device objects.
2020-10-01 11:17:27 +02:00
Damir Jelić
d644af7be9
crypto: Remove an unneeded clone.
2020-10-01 09:56:22 +02:00
Damir Jelić
ff2079da91
crypto: Move the group session handling logic into separate module.
2020-09-30 15:43:25 +02:00
Damir Jelić
646f18ae18
crypto: Remove an unused import.
2020-09-29 17:53:11 +02:00
Damir Jelić
2b8d4a21a4
crypto: Connect the key request handling to the main state machine.
2020-09-29 17:40:06 +02:00
Damir Jelić
78badd9af8
crypto: Use the correct event type when sending out forwarded room keys.
2020-09-29 17:36:56 +02:00
Damir Jelić
58aef51770
crypto: Remove an unneeded mutable borrow.
2020-09-29 14:44:18 +02:00
Damir Jelić
8fe1eda169
crypto: Test the full key share flow.
2020-09-29 14:18:03 +02:00