Commit Graph

1816 Commits (3bac536daf52d31a30848443d593b640001c7eab)

Author SHA1 Message Date
Damir Jelić f0f6012871 CI: check if the WASM example compiles 2021-03-23 11:56:43 +01:00
Damir Jelić 15d5b234ed Merge branch 'multithreaded-crypto' 2021-03-23 11:34:07 +01:00
Damir Jelić 50d7e09347 commmon: Document the executor module 2021-03-23 11:33:14 +01:00
Damir Jelić 12bf0f53a8 matrix-sdk: Fix the WASM example 2021-03-23 10:18:55 +01:00
Damir Jelić bbe812f1d9 common: Add a executor abstraction so we can spawn tasks under WASM 2021-03-23 10:18:55 +01:00
Kévin Commaille dc74bc6116 bump ruma to 92ee92ad7eb90b3c80abbd7eb116d886c79bf4fd 2021-03-18 11:40:53 +01:00
Julian Sparber 382ec01bc3 move matrix_sdk_base::EventHandler to matrix_sdk 2021-03-17 15:29:26 +01:00
Damir Jelić e9dff24ba7 Merge branch 'add_room_enum' 2021-03-17 15:08:02 +01:00
Julian Sparber 19cacb1f26 matrix-sdk: Add `room::State` enum
This enum contains the room in the Joined, Left and Invited state.
2021-03-17 13:08:31 +01:00
Julian Sparber 5d66ff475f matrix-sdk: Reexport matrix_sdk_base::Room as BaseRoom 2021-03-17 12:17:37 +01:00
Damir Jelić 9aad775f01 Merge branch 'lock_requests' 2021-03-16 17:01:04 +01:00
Damir Jelić ec88e28fd2 Merge branch 'fix-examples' 2021-03-16 16:54:00 +01:00
Julian Sparber 387104e6e0 matrix-sdk: wrap request locks into an Arc 2021-03-16 16:37:50 +01:00
Weihang Lo de1bf2b89f
matrix-sdk: fix accidentally hidden lines in examples 2021-03-16 23:15:51 +08:00
Weihang Lo 8c1761faed
matrix-sdk: hide get joined room logic 2021-03-16 21:55:15 +08:00
Weihang Lo cbc8b53da1
client: add test for `room_redact` 2021-03-16 21:52:15 +08:00
Weihang Lo b110ee27fa
client: PUT /_matrix/client/r0/rooms/{roomId}/redact/{eventId}/{txnId} 2021-03-16 21:49:47 +08:00
Julian Sparber 5465a7b511 matrix-sdk: prevent frequent typing_notice requests 2021-03-16 10:50:50 +01:00
Julian Sparber 2f769726dd matrix-sdk: prevent dupplicated members requests 2021-03-15 12:32:57 +01:00
Julian Sparber 31dd031269 matrix-sdk: Move room specific methods to room structs 2021-03-15 10:54:45 +01:00
Julian Sparber 450036cf86 matrix-sdk-test: Add response for members API 2021-03-13 13:15:50 +01:00
Julian Sparber a4bac499e9 matrix-sdk-base: Add method to get all members from the store 2021-03-13 13:15:50 +01:00
Julian Sparber 2d6502247b matrix-sdk: Add method to get room as room::Common 2021-03-13 13:15:50 +01:00
Julian Sparber 88e230689e matrix-sdk: Add high-level room API 2021-03-13 13:15:50 +01:00
Damir Jelić 7c04c3a041 Merge branch 'F1rst-Unicorn/master' 2021-03-13 12:05:30 +01:00
Damir Jelić 75ac29540d crypto: Simplify counting the number of messages a to-device request has 2021-03-13 11:50:05 +01:00
Weihang Lo ea7d90de62
client: PUT /_matrix/client/r0/rooms/{roomId}/state/{eventType}/{stateKey} 2021-03-13 16:21:51 +08:00
Damir Jelić 880818a588 crypto: Send bigger sendToDevice requests out that carry our room keys 2021-03-12 16:33:35 +01:00
Damir Jelić e09a155cfc crypto: Fix a completely wrong application of extend()
We were merging the to-device messages using the extend() method while
our data has the shape of BTreeMap<UserId, BTreeMap<_, _>>, extending
such a map would mean that the inner BTreeMap would get dropped if both
maps contain the same UserId.

We need to extend the inner maps, those are guaranteed to contain unique
device ids.
2021-03-12 16:33:26 +01:00
Jan Veen 42c8c42150 crypto: Improve doc of SAS accept settings
Document arguments explicitly.

Adapt to changed implementation.

Provide example call.
2021-03-12 15:45:58 +01:00
Jan Veen 587c09e700 crypto: Prohibit extending verification methods
Intersect the allowed methods passed from the user with the methods
supported by the other party. If the user added new methods to the
request, the remote party would cancel the verification.
2021-03-12 14:43:59 +01:00
Jan Veen e9be23f853 crypto: Add settings to customize SAS accepting
Offer specifying settings to SAS accept() requests to limit the allowed
verification methods.
2021-03-11 21:10:26 +01:00
Damir Jelić 7465574bdc crypto: Fix a clippy warning 2021-03-11 20:06:51 +01:00
Damir Jelić 593b5e55cb crypto: Don't load the account every time we load sessions in the sled store
This removes a massive performance issue since getting sessions is part
of every message send cycle.

Namely every time we check that all our devices inside a certain room
have established 1 to 1 Olm sessions we load the account from the store.

This means we go through an account unpickling phase which contains AES
decryption every time we load sessions.

Cache instead the account info that we're going to attach to sessions
when we initially save or load the account.
2021-03-11 19:49:32 +01:00
Damir Jelić d4e847f02f benches: Add a benchmark for the missing session collecting 2021-03-11 13:30:19 +01:00
Damir Jelić a32f9187e6 benches: Fix the key claiming bench, it needs to run under tokio now 2021-03-11 13:28:22 +01:00
Damir Jelić daf313e358 crypto: Go through the user device keys in parallel 2021-03-10 14:08:45 +01:00
Damir Jelić 570bd2e358 crypto: Move the tracked users marking out of the device key handling method 2021-03-10 12:20:03 +01:00
Damir Jelić c8d4cd0a5b crypto: Calculate the device changes for a given user in parallel 2021-03-10 12:05:21 +01:00
Damir Jelić 0c5d13cb91 crypto: Remove some stale TODO comments 2021-03-10 10:03:54 +01:00
Damir Jelić aff5cddb68 crypto: Remove an unneeded import. 2021-03-10 09:58:30 +01:00
poljar 4a8c30527d
crypto: Fix a typo.
Co-authored-by: Jonas Platte <jplatte@users.noreply.github.com>
2021-03-10 09:54:33 +01:00
Damir Jelić 560aa5b0a9 crypto: Encrypt the share group session requests in parallel. 2021-03-09 15:09:59 +01:00
Damir Jelić a8bc619dca crypto: Encrypt room keys for a room key share request in parallel 2021-03-09 14:30:28 +01:00
Damir Jelić 91c326e970 benches: Run the async benches on a tokio runtime. 2021-03-09 14:24:16 +01:00
Damir Jelić e5585b57e8 Merge branch 'room_merge' 2021-03-08 13:39:46 +01:00
Damir Jelić 61167fab15 crypto: Make restored outbound sessions wait for requests if they have some 2021-03-05 17:12:32 +01:00
Julian Sparber bc2c924c88 matrix-sdk-base: remove InvitedRoom, JoinedRoom, LeftRoom and RoomState
They are all replaced by `Room`
2021-03-05 12:19:50 +01:00
Julian Sparber 9332c55c8d matrix-sdk-base: merge StrippedRoom and Room 2021-03-05 11:31:01 +01:00
Damir Jelić c5241af675 crypto: Expose the crypto store error pulicly 2021-03-04 17:46:18 +01:00