Commit graph

560 commits

Author SHA1 Message Date
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
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
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
Damir Jelić
15d5b234ed Merge branch 'multithreaded-crypto' 2021-03-23 11:34:07 +01:00
Damir Jelić
12bf0f53a8 matrix-sdk: Fix the WASM example 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
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
Weihang Lo
ea7d90de62
client: PUT /_matrix/client/r0/rooms/{roomId}/state/{eventType}/{stateKey} 2021-03-13 16:21:51 +08: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
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
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
f6f382e28a matrix-sdk: Export RoomType 2021-03-03 11:35:02 +01:00
Damir Jelić
8f481dd859 client: Add a method to get all known rooms 2021-03-02 14:58:30 +01:00
Damir Jelić
42fb88a7f9 Merge branch 'duplicate-content-type-header' 2021-03-02 11:32:40 +01:00
Damir Jelić
3a08f0c278 matrix-sdk: Don't set the content type ourselves
We don't need to worry about this anymore, since Ruma sets this for all
the request nowadays.
2021-03-01 20:12:38 +01:00
Damir Jelić
5c0f0140e9 matrix-sdk: Fix some doc examples 2021-03-01 19:41:14 +01:00
Damir Jelić
1f5cad136e matrix-sdk: Bump Ruma 2021-03-01 19:20:07 +01:00
Damir Jelić
4c3cd29224 matrix-sdk: Don't set two content-type headers for json contents
Ruma will for some requests already set the content-type for us to
application/json, but for some it still seems to miss the header, since
the headers are kept in a map add the header only if it isn't already
there.
2021-03-01 16:37:56 +01:00
Damir Jelić
1db89741bc matrix-sdk: Re-export the EncryptionInfo struct 2021-02-16 09:42:23 +01:00
Cédric Barreteau
b6f2c43330 Rename EventEmitter to EventHandler 2021-02-13 11:01:31 +01:00
Cédric Barreteau
e3e48148f0 Rename add_event_emitter to set_event_emitter
Closes #145.
2021-02-13 10:43:42 +01:00
Damir Jelić
e3d1de8e6c client: Fix the sync_with_callback example 2021-02-10 09:51:14 +01:00
Damir Jelić
e7e43a8bf0 matrix-sdk: Use a released version of backoff 2021-02-07 17:21:50 +01:00
Damir Jelić
0289f564b4 Merge branch 'pub-exports' 2021-02-07 13:58:33 +01:00
Damir Jelić
36e3039d73 matrix-sdk: Disable request retrying for wasm for now
Backoff supports the retry method for futures only for non-wasm
targets for now, thus we're going to disable it until that changes.
2021-02-07 12:53:06 +01:00
Devin Ragotzy
fcd1c87765 matrix_sdk: export CustomEvent and StateChanges add docs to StateChanges 2021-02-04 15:54:20 -05:00
Damir Jelić
ca7117af2b matrix-sdk: Clamp the request timeout for uploads to a sensible value 2021-02-01 21:56:15 +01:00
Damir Jelić
f3d4f6aab4 matrix-sdk: Fix our HttpClient trait implementation example 2021-02-01 19:24:29 +01:00
Damir Jelić
19e9884963 matrix-sdk: Update for the latest backoff changes 2021-02-01 17:58:03 +01:00
Damir Jelić
a551ae2bee matrix-sdk: Add sensible connection and request timeouts
This sets the default
    * connection timeout to 5s
    * request timeout to 10s
    * request timeout for syncs to the sync timeout + 10s
    * request timeout for uploads to be based on 1Mbps upload
    speed expectations
2021-02-01 17:15:29 +01:00
Damir Jelić
6a4ac8f361 matrix-sdk: Replace some unwraps with expects. 2021-01-31 21:12:00 +01:00
Damir Jelić
42ec456abf matrix-sdk: Add initial support for request retrying 2021-01-31 21:10:30 +01:00
Damir Jelić
585ca9fdf7 matrix-sdk: Split out the http errors into a sub-enum 2021-01-31 18:09:03 +01:00
Damir Jelić
bf4f32eccf crypto: Remove the sqlite store for now 2021-01-27 15:29:42 +01:00
Damir Jelić
81667173b6 matrix-sdk: Re-enable some more client tests 2021-01-27 14:43:53 +01:00
Damir Jelić
094ead9d7d base: Allow users to inspect the ambiguity change a member event triggers 2021-01-27 11:46:44 +01:00
Damir Jelić
ac6dad3f35 matrix-sdk: Bump our deps 2021-01-25 15:47:51 +01:00
Damir Jelić
44974982e1 client: Add an accessor method for the device id 2021-01-23 15:59:53 +01:00
Damir Jelić
d10b85a05d matrix-sdk: Fix our wasm command bot example 2021-01-22 18:14:08 +01:00
Damir Jelić
9c98d0227b matrix-sdk: Make the http client trait WASM compatible 2021-01-22 18:12:46 +01:00
Damir Jelić
8028c23f56 base: Feature flag the sled state store 2021-01-22 18:10:17 +01:00
Damir Jelić
9cd217fc5d matrix-sdk: Remove the proxy usage from the exmaples for now
While it's generally useful to watch what the sdk is sending
out during development using mitmproxy, users of the sdk might
wonder why the example doesn't connect.

Remove the proxy usage until we add a cli parser which can enable proxy
support with a command line switch.
2021-01-22 11:32:33 +01:00
Damir Jelić
cf07fc8e8e Merge branch 'master' into new-state-store 2021-01-21 19:58:40 +01:00
Tilo Spannagel
7b8d2b5319 Add support for ruma feature flag markdown
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2021-01-21 18:22:17 +01:00
Damir Jelić
948c811d4b client: Simplify the auto key-claiming invocation 2021-01-21 14:03:20 +01:00
Damir Jelić
de4df4e50a base: Re-introduce a state store trait. 2021-01-21 12:08:16 +01:00
Damir Jelić
17f3dbb0a0 crypto: Return a deserialized ToDevice struct when we receive a sync 2021-01-19 12:59:31 +01:00
Damir Jelić
6a30514d40 base: Move the deserialized responses types into the common crate 2021-01-19 12:30:58 +01:00
Damir Jelić
d07063af2b base: Add some error handling to the state store 2021-01-18 18:07:53 +01:00
Damir Jelić
1746690eda crypto: Add a sled cryptostore 2021-01-18 13:38:00 +01:00
Damir Jelić
bab8fde0ac crypto: Change the way we share group sessions
This patch removes the need to ask if a group session needs to be shared
it also adapts the method so it re-shares sessions if new users or
devices join the group.
2021-01-15 18:04:45 +01:00
Damir Jelić
643526987f Merge branch 'master' into new-state-store 2021-01-05 21:40:39 +01:00
Damir Jelić
b311a31c9e matrix-sdk: Bump our tokio and reqwest versions. 2021-01-05 21:39:52 +01:00
Damir Jelić
ccd8a4d602 Merge branch 'master' into new-state-store 2021-01-05 17:03:24 +01:00
Damir Jelić
4f2cad8f62 matrix-sdk: Bump our versions 2021-01-05 11:23:18 +01:00
Damir Jelić
76ce3fecb3 client: Re-enable two additional tests 2021-01-04 18:02:36 +01:00
Damir Jelić
c6a80dc921 Merge branch 'master' into new-state-store 2021-01-04 17:34:33 +01:00
Damir Jelić
60950044f2 matrix-sdk: Bump our deps. 2021-01-04 17:22:09 +01:00
Damir Jelić
4c6c1d2107 matrix-sdk: Get rid of the common macros crate
This crate was used to support different trait bounds on WASM vs other
targets, since we only define async traits in a couple of places having
a whole crate to support this feels a bit excessive.

This patch defines a target specific super trait instead, this lowers
the compile time a couple of seconds.
2021-01-04 16:34:14 +01:00
Damir Jelić
2e3b6fba7d common: Use the re-exported versions of js_int and assign 2021-01-04 15:29:49 +01:00
Damir Jelić
4afc6b2567 base: Don't mark all the room methods as public. 2021-01-04 12:26:13 +01:00
Damir Jelić
c804104293 client: Add the get_x_room methods back. 2021-01-01 14:57:39 +01:00
Damir Jelić
8857335a7d Merge branch 'crypto-improvements' into new-state-store 2020-12-22 16:18:46 +01:00
Damir Jelić
1313c3da3c client: Restore the membership based get room methods. 2020-12-22 10:47:21 +01:00
Damir Jelić
c5709d23a5 base: Implement the last missing thing to get the emitter working again. 2020-12-22 10:09:59 +01:00
Damir Jelić
a370eb1e37 base: Re-introduce the event emitter. 2020-12-19 20:20:39 +01:00
Damir Jelić
f9af880176 base: Upcast the bare rooms based on the membership state 2020-12-19 16:37:35 +01:00
Damir Jelić
55436c6514 crypto: Add a test for verification request flows. 2020-12-18 18:23:42 +01:00
Damir Jelić
1fd8c2052e crypto: Fix a bunch of clippy warnings. 2020-12-18 13:50:02 +01:00
Damir Jelić
79102b3390 crypto: Make the cancelations output only CancelContents. 2020-12-17 12:15:11 +01:00
Damir Jelić
b6e28e2280 crypto: WIP more work on in-room verifications now up to accepting them. 2020-12-15 16:35:54 +01:00
Damir Jelić
b05fed5a3b matrix-sdk: Fix our tests now that the state store is roughly done. 2020-12-15 10:23:31 +01:00
Damir Jelić
6f35a05311 matrix-sdk: Allow users to get a reference to the store. 2020-12-11 09:52:39 +01:00
Damir Jelić
7198b0daba crypto: WIP key verification request handling. 2020-12-09 17:18:23 +01:00
Damir Jelić
d4ebe8cc83 Merge branch 'crypto-improvements' into new-state-store 2020-12-08 16:54:23 +01:00
Damir Jelić
ca4e738fff Merge branch 'master' into user-avatar-ci 2020-12-08 14:43:46 +01:00
Amanda Graven
8dc56ec332
Add methods for setting, getting and uploading avatar 2020-12-08 11:18:00 +01:00
Damir Jelić
59917f45e3 matrix-sdk: Fix a clippy lint. 2020-12-08 11:01:20 +01:00
Amanda Graven
bca7f41ca9
Fix error in example 2020-12-07 13:14:23 +01:00
Amanda Graven
7f503eb71c
Add examples, remove user from method names 2020-12-07 12:59:10 +01:00
Amanda Graven
a26dc3179a
Add methods for getting and setting display name 2020-12-07 11:17:26 +01:00
Damir Jelić
b36d907fac base: Add the power level event to the room member. 2020-12-06 18:11:32 +01:00
Damir Jelić
1733808221 Merge branch 'crypto-improvements' into new-state-store 2020-12-04 13:50:39 +01:00
Damir Jelić
804bd221b2 crypto: Improve key imports.
This patch changes so key imports load all existing sessions at once
instead loading a single session for each session we are importing. It
removes the need to lock the session when we check the first known index
and exposes the total number of sessions the key export contained.
2020-12-02 11:12:46 +01:00
Damir Jelić
45442dfac8 Merge branch 'master' into new-state-store 2020-12-01 17:24:00 +01:00
Damir Jelić
4800e80492 matrix-sdk: Remove an unused import. 2020-12-01 15:08:53 +01:00
Damir Jelić
50bd408d48 matrix-sdk: Don't use try_from for the u32 -> UInt conversion. 2020-12-01 10:34:10 +01:00
Damir Jelić
0e563a9a81 base: Refactor out the room state/timeline handling. 2020-11-30 17:25:29 +01:00
Damir Jelić
7dd834a214 base: Add some more sync response fields. 2020-11-30 15:50:47 +01:00
Damir Jelić
fcb50956bb Merge branch 'master' into new-state-store 2020-11-26 15:18:38 +01:00
Damir Jelić
ce4d53a88c examples: Feature gate the cross signing bootstrap example. 2020-11-26 14:27:11 +01:00
Damir Jelić
baa5bed1c9 Merge branch 'crypto-improvements' into new-state-store 2020-11-26 14:00:18 +01:00
Damir Jelić
7ec5a5ad1a Merge branch 'master' into crypto-improvements 2020-11-26 13:24:57 +01:00
Jonas Platte
27ecab8574
Update ruma 2020-11-25 19:01:28 +01:00
Damir Jelić
c13d04ae18 matrix-sdk: Return the members response in our get members method. 2020-11-24 10:56:07 +01:00
Damir Jelić
e84d3b9950 base: Track new users we get from the room/members call. 2020-11-23 17:19:55 +01:00
Damir Jelić
c1383402ed matrix-sdk: Initial support to upload filters. 2020-11-22 21:25:31 +01:00
Damir Jelić
a98f23e2a7 base: Add a deserialized SyncResponse type. 2020-11-21 22:48:27 +01:00
Damir Jelić
dedb1eb745 Merge branch 'update-ruma' 2020-11-20 21:21:24 +01:00
Damir Jelić
c40edcf2fc matrix-sdk: Try to lower our compile times, at least in the crypto part for now. 2020-11-20 20:35:48 +01:00
Jonas Platte
38fec7f2b3 Upgrade ruma 2020-11-20 20:35:48 +01:00
Damir Jelić
9edf8657d0 base: WIP lazy loading support. 2020-11-20 20:17:59 +01:00
Alejandro Domínguez
95243003c4 Update ruma 2020-11-20 20:14:18 +01:00
Damir Jelić
3da1d3cf8f store: Use streams so we don't load all members at once. 2020-11-16 18:11:12 +01:00
Damir Jelić
8ed8929788 base: Fix the storing of invited and joined user ids. 2020-11-12 12:59:43 +01:00
Damir Jelić
3a1eeb6a16 Merge branch 'crypto-improvements' into new-state-store 2020-11-11 14:43:49 +01:00
Damir Jelić
11fcf5c42f rust-sdk: Document the cross signing bootstrap method. 2020-11-05 14:33:45 +01:00
Damir Jelić
b67cd4ddd2 crypto: Create a trusted public cross signing identity when we create a private one. 2020-10-30 13:21:14 +01:00
Damir Jelić
5c530cf9ee crypto: Upload signatures after verification is done. 2020-10-27 16:39:23 +01:00
Damir Jelić
5c14910126 crypto: WIP cross signing bootstrap. 2020-10-26 16:03:59 +01:00
Damir Jelić
dc57873687 base: WIP more work on the new state store. 2020-10-25 21:03:03 +01:00
Damir Jelić
962f725d63 Merge branch 'crypto-improvements' into new-state-store 2020-10-24 20:16:59 +02:00
Damir Jelić
c1e679147d base: First working version of the new state store. 2020-10-24 20:01:39 +02:00
Damir Jelić
4cc803fe27 crypto: WIP cross signing bootstrap. 2020-10-24 10:32:17 +02:00
Jonas Platte
92bedb4571 Upgrade ruma 2020-10-20 17:36:21 +02:00
Damir Jelić
0c1d33d43f Merge branch 'master' into crypto-improvements 2020-10-18 10:21:52 +02:00
Damir Jelić
8f99180c99 Merge branch 'up-ruma' into master 2020-10-18 10:17:43 +02:00