Commit graph

113 commits

Author SHA1 Message Date
Damir Jelić
5fef444d61 matrix-sdk: Split out the crypto part of the sdk into a separate crate. 2020-04-29 09:48:00 +02:00
Damir Jelić
96144404ed crypto: Return a result when searching for missing sessions. 2020-04-27 16:26:03 +02:00
Damir Jelić
6d12ed2046 async_client: Don't request a write lock for crypto based requests.
The crypto state machine is in the base client behind a separate lock so
there's no need to require write access.

This removes a deadlock if we're trying to send an encrypted message
from a event emitter callback, since emitting an event fetches a read
lock as well.
2020-04-23 14:56:59 +02:00
Damir Jelić
986985464a rust-sdk: Remove some unused imports. 2020-04-23 12:43:59 +02:00
Damir Jelić
1de791c207 rust-sdk: Update to the latest ruma releases. 2020-04-23 10:52:47 +02:00
Damir Jelić
63c0aa8771 crypto: Allow a device to be updated. 2020-04-21 09:31:33 +02:00
Devin R
ebe4f03c36 room: implement room_name according to spec, add RoomSummary to RoomName 2020-04-16 21:00:50 -04:00
Devin R
bd3b0e7b74 async_client: add login failure test, make sure we are getting correct error 2020-04-16 17:03:40 -04:00
Devin R
07b7cbfe4e async_client: name associated error type in AsyncClient::send 2020-04-16 16:39:44 -04:00
Devin R
c0e1ff1734 async_client/error: dont swallow response error in AsyncClient::send 2020-04-16 15:29:35 -04:00
Devin R
c495a50c52 async_client: make pub API take &self instead of &mut, use read where possible 2020-04-15 08:29:34 -04:00
Devin R
3f9243a326 command-bot: add comments, use timestamp to filter old messages 2020-04-15 07:52:29 -04:00
Devin R
cf029b2e4f make EventEmitter shared refs, in AsyncClient::sync lock only in inner most scope 2020-04-14 18:10:10 -04:00
Devin R
2cfaf64feb cargo fmt/clippy 2020-04-14 06:42:42 -04:00
Devin R
e64d073402 rename RoomMessageBuilder, make examp build, expand on docs 2020-04-14 06:36:03 -04:00
Devin R
1a7856e9fe fix room_send example, cargo fmt/clippy 2020-04-13 14:46:54 -04:00
Devin R
fb10e9bf87 add optional txn_id to room_send, add docs to room_messages 2020-04-13 14:08:51 -04:00
Devin R
0d8702b292 rename get_message_events to room_messages 2020-04-12 08:21:23 -04:00
Devin R
7aeeeea432 request_builder: test GetMessageBuilder 2020-04-11 08:46:45 -04:00
Devin R
6358db94c7 more docs 2020-04-10 21:44:16 -04:00
Devin R
c69d54e2d4 async_client: impl kick, join, leave, invite, create for 2020-04-10 16:32:28 -04:00
Damir Jelić
bdd1fb2c19 async_client: Expand the docs for the message sending method. 2020-04-10 11:53:07 +02:00
Damir Jelić
7540e025f1 async_client: Share group sessions before encrypting room messages. 2020-04-10 11:50:18 +02:00
Damir Jelić
86617b42e2 async_client: Remove the transaction id. 2020-04-10 11:41:16 +02:00
Damir Jelić
609df21271 async_client: Add a method to share room keys. 2020-04-09 16:29:03 +02:00
Damir Jelić
61f3da3161 async_client: Add the content-type header to our requests. 2020-04-09 16:28:27 +02:00
Damir Jelić
ee290add45 async_client: Build the URL path a bit more cleanly. 2020-04-09 16:27:43 +02:00
Damir Jelić
01664bc613 async_client: Allow the content and event type to be overridden when sending messages. 2020-04-09 16:26:00 +02:00
Damir Jelić
2c7115da84 async_client: Use a UUID for the transaction id. 2020-04-09 16:19:32 +02:00
Devin R
2137d198fc remove internal assertions in favor of returning clients and rooms 2020-04-07 16:11:35 -04:00
Devin R
4dbc0aaad6 clean up, cargo fmt/clippy, add example/TestRunner tests 2020-04-07 08:55:42 -04:00
Devin R
f635fbe0cf note about async client test runner 2020-04-06 21:01:48 -04:00
Devin R
9ffe7cca10 more work needed for AsyncClient test runner 2020-04-06 20:59:44 -04:00
Devin R
eff322c0c5 crypto compiles, tests pass 2020-04-03 11:00:37 -04:00
Devin R
db62c1fa25 cargo fmt/clippy no more warnings 2020-04-03 09:14:46 -04:00
Devin R
4ac9153be1 use RoomId and UserId over string, use setter method names in Room 2020-04-03 09:07:40 -04:00
Damir Jelić
74f1a21e42 rust-sdk: Updates for the new ruma crate versions. 2020-04-03 14:09:56 +02:00
Damir Jelić
294ca108bb rust-sdk: Move some encryption specific imports under a cfg. 2020-04-03 10:42:03 +02:00
Damir Jelić
7c6d0d14dd crypto: Fix the sqlite tests. 2020-04-03 10:39:07 +02:00
Damir Jelić
670761376d async_client: Claim keys for missing sessions if we try to send in an encrypted room. 2020-04-03 10:30:32 +02:00
Damir Jelić
2dd84517b9 crypto: Expose the key-claiming methods in the clients. 2020-04-03 10:27:30 +02:00
Devin R
a96286a5ff remove calculate in docs, fix unused imports 2020-04-02 18:22:52 -04:00
Devin R
187734f449 add test and docs for EventEmitter, fix review issues 2020-04-02 15:59:13 -04:00
Devin R
2ed152708c use inner event type for EventEmitter methods 2020-04-01 16:36:20 -04:00
Devin R
83bf8bc67c oops replace tracing::debug for crypto features 2020-04-01 16:36:20 -04:00
Devin R
5c418f3420 cargo fmt/clippy 2020-04-01 16:36:20 -04:00
Devin R
f2b50677b9 fix example, use tokio::Mutex for all types that could be passed
in async thread spawn envs
2020-04-01 16:36:17 -04:00
Devin R
5612825762 add EventEmitter trait, clean up imports so new warnings are easier to see 2020-04-01 16:35:50 -04:00
Damir Jelić
2020700673 crypto: Prepare the scaffolding for key queries and user tracking. 2020-04-01 15:37:00 +02:00
Devin R
df58c60d2e add tests in models files, run coverage 2020-03-31 09:01:48 -04:00