Commit graph

1671 commits

Author SHA1 Message Date
Damir Jelić
324a0aafca Merge branch 'key-share-improvements' 2021-04-21 13:47:02 +02:00
Damir Jelić
bfc7434f7e crypto: Move the outbound session filter logic into the group session cache 2021-04-20 13:35:47 +02:00
poljar
e15f7264dc
crypto: Don't borrow inside a format unnecessarily
Co-authored-by: Jonas Platte <jplatte@users.noreply.github.com>
2021-04-20 12:27:56 +02:00
Damir Jelić
4a7be13961 crypto: Only send out automatic key requests if we have a verified device
Sending out automatic key requests is a bit spammy for new logins,
they'll likely have many undecryptable events upon an initial sync.

It's unlikely that anyone will respond to such a key request since keys are
shared only with verified devices between devices of the same user or if
the key owner knows that the device should have received the key.

Upon initial sync it's unlikely that we have been verified and the key
owner likely did not intend to send us the key since we just created the
new device.
2021-04-20 11:47:11 +02:00
Damir Jelić
65d84c111b Merge branch 'exhaustive-sync-events-conv' 2021-04-19 15:05:52 +02:00
Damir Jelić
78b7dcac61 crypto: Add a public method to request and re-request keys. 2021-04-19 15:00:21 +02:00
Jonas Platte
796354ce5d
Ensure exhaustiveness for sync_events::Response destructuring
So the SDKs own SyncResponse type doesn't get out-of-sync.
2021-04-19 13:42:16 +02:00
Johannes Becker
95421f1713 matrix-sdk!: send_request returns Bytes
Prevents unnecessary copy
2021-04-19 12:26:10 +02:00
Jonas Platte
1578067498
Only activate the client parts of ruma-client-api
… to reduce compile times.
2021-04-19 12:23:09 +02:00
Jonas Platte
401cf282a7
Upgrade ruma dependency 2021-04-19 12:16:13 +02:00
Johannes Becker
3414a59b91 chore: bump ruma 2021-04-16 12:45:21 +02:00
Damir Jelić
8c007510cd crypto: Only load the outgoing key requests when we want to send them out 2021-04-15 19:40:24 +02:00
Damir Jelić
f9d290746c crypto: Load unsent outgoing key requests when we open a store 2021-04-15 17:48:37 +02:00
Damir Jelić
d4c56cc5b3 crypto: Refactor the outobund group session storing
This introduces a group session cache struct that can be shared between
components that need to access the currently active group session.
2021-04-15 15:19:21 +02:00
Damir Jelić
9e817a623b crypto: Fix an invalid assert in the crypto bench 2021-04-15 15:01:56 +02:00
Damir Jelić
02331fa325 crypto: Add specialized methods to store outgoing key requests 2021-04-15 13:28:50 +02:00
Damir Jelić
5637ca3080 crypto: Simplify the should_share_session method 2021-04-15 13:28:50 +02:00
Damir Jelić
975f9a0b41 crypto: Improve the way we decide if we honor room key requests
This improves two things, use the correct outbound session to check if
the session should be shared.

Check first if the session has been shared if there isn't a session or
it hasn't been shared check if the request is comming from our own user.
2021-04-14 14:30:53 +02:00
Damir Jelić
4713af6aac crypto: Fix a typo 2021-04-14 11:14:59 +02:00
Damir Jelić
ba81c2460c crypto: Ignore key requests from ourselves 2021-04-13 17:17:09 +02:00
Damir Jelić
5132971558 crypto: Add a progress listener for key imports 2021-04-13 12:47:22 +02:00
Johannes Becker
53b1845cbe ci: test features 2021-04-12 21:05:07 +02:00
Damir Jelić
893a5109ce crypto: Remove some unneeded parenthesis 2021-04-12 19:11:03 +02:00
Damir Jelić
a97b01f3ce Merge branch 'matrix-sdk/fix-no-encryption-build' 2021-04-12 19:09:32 +02:00
Johannes Becker
be72c53d3e matrix-sdk: fix building without encryption feature 2021-04-12 17:45:58 +02:00
Damir Jelić
b4b897dd51 crypto: Await the group session invalidation 2021-04-12 15:19:30 +02:00
Damir Jelić
cb58c499b3 crypto: Store that our outbound session was invalidated 2021-04-12 13:47:38 +02:00
Kévin Commaille
ebcb2024d1
Fix docs wording 2021-04-11 16:39:49 +02:00
Kévin Commaille
dadd2fa68c
Bump ruma to e2728a70812412aade9322f6ad832731978a4240 2021-04-11 12:04:53 +02:00
Julian Sparber
b5de203499 matrix-sdk: Add RequestConfig that replaces timeout for requests
This exposes the retry behavior to the developer. This way the user can
set if a request should be retried or failed immidiatly.

This also make sure that the timeout set by the user is used for all
requests. Of-course it can't be used for uploaded and syncs with
timeout, but this doesn't change the behavior for those requests.
2021-04-07 10:35:31 +02:00
Damir Jelić
98ee4a3bca Merge branch 'fix_register_error' 2021-04-07 10:11:03 +02:00
Damir Jelić
fdb1e3482e Merge branch 'bump-ruma' 2021-04-06 12:44:33 +02:00
Damir Jelić
999c99107d Merge branch 'room_member' 2021-04-06 12:20:04 +02:00
Kévin Commaille
7c34ac4e82
Bump ruma to 2f1b9f097930bf7908ca539f2ab7bb0ccf5d8b25
Use MxcUri instead of String for media URLs.

Fix wrong MXC URIs in tests.

Remove method parse_mxc no longer useful.

Apply new non-exhaustive types: CrossSigningKey, OneTimeKey and SignedKey.

Apply endpoint name change: send_state_event_for_key to send_state_event
2021-04-05 19:49:55 +02:00
Julian Sparber
e72f4cee59 matrix-sdk: Add RoomMember 2021-04-02 20:39:50 +02:00
Julian Sparber
50423786f7 matrix-sdk: Fix register_error test 2021-04-02 12:13:56 +02:00
Jonas Platte
79eb07f717
Allow Result aliases to be used with two type parameters 2021-04-01 19:35:09 +02:00
Damir Jelić
ff683602f2 crypto: Export the KeysExport error 2021-03-30 13:52:57 +02:00
Damir Jelić
74274e6dcb base: Allow the test target to be compiled on WASM 2021-03-30 13:05:45 +02:00
Damir Jelić
02b44ca9ba matrix-sdk: Fix or silence a bunch of new clippy warnings 2021-03-30 13:05:13 +02:00
Julian Sparber
84b187ec12 matrix-sdk: Add function to get room avatar 2021-03-25 15:01:41 +01:00
Julian Sparber
d35e730052 matrix-sdk: Add function to get users avatar 2021-03-25 15:01:41 +01:00
Damir Jelić
ef6e481860 Merge branch 'client-sso' 2021-03-23 16:12:24 +01:00
Kévin Commaille
8679e81555 client: Add login_with_sso 2021-03-23 15:30:40 +01:00
Kévin Commaille
6f59e895b6 client: Add login_with_token 2021-03-23 15:17:12 +01:00
Kévin Commaille
8a96b2c062 client: Add get_sso_login_url 2021-03-23 14:47:15 +01:00
Damir Jelić
ce4b809072 matrix-sdk: Don't ignore the accept_with_settings() Sas example 2021-03-23 14:30:31 +01:00
Damir Jelić
e92b97eff6 matrix-sdk: Fix the example for the room_send() method 2021-03-23 14:29:26 +01:00
Kévin Commaille
51d915a181 client: Add get_login_types 2021-03-23 14:27:55 +01:00
Damir Jelić
9d0085d4dd matrix-sdk: Add the Client level room send method back 2021-03-23 14:00:20 +01:00