Commit graph

1947 commits

Author SHA1 Message Date
Devin R
8afac39611 async_client/event_emitter: use RoomState to differentiate joined, invited and left rooms when emitting 2020-05-06 19:45:27 -04:00
Damir Jelić
e9d6e28e13 matrix-sdk: Remove some unused deps. 2020-05-06 17:06:24 +02:00
Damir Jelić
d8b9dc8519 base: Don't expose the client fields publicly. 2020-05-06 15:55:18 +02:00
Damir Jelić
1639f0fdd8 async_client: Remove the lock around the base client. 2020-05-06 15:36:55 +02:00
Damir Jelić
02013ac286 base: Move the state store behind a lock. 2020-05-06 15:20:20 +02:00
Damir Jelić
6e9e817597 crypto: Use next() instead of nth(0). 2020-05-06 15:00:16 +02:00
Damir Jelić
3d03f77dba base: Lock the event emitter option. 2020-05-06 14:47:58 +02:00
Devin R
522a8435d0 async_client: add tests for enpoints, fix docs 2020-05-06 08:36:28 -04:00
Damir Jelić
3a30d53437 base_client: Move the session behind a lock. 2020-05-06 14:27:53 +02:00
Damir Jelić
967544bab9 base_client: Make the base client a bit more threadsafe.
This moves the bulk of the sync logic into the base client, to avoid
deadlocks while someone tires to send messages from a event callback the
base client needed to get a bunch of locks.

Ideally the AsyncClient would not need a lock for the base client at all
but we're not there yet.
2020-05-06 13:57:58 +02:00
Devin R
c90eb6a938 message: resolve reviews, deserialization can fail, update for ruma removed PartialEq 2020-05-06 06:58:42 -04:00
Devin R
f13189d154 Merge branch 'master' into messages 2020-05-06 06:53:42 -04:00
Devin R
e0400bd4e6 event_emitter: romove events for another PR 2020-05-06 06:33:03 -04:00
Devin R
7c7aaee22e async_client/event_emitter: add tests for invited and left rooms 2020-05-06 06:23:34 -04:00
Damir Jelić
39e59792d2 crypto: Remove the session key in room key events again. 2020-05-06 12:15:15 +02:00
Damir Jelić
e0477fa053 types: Use the released version of ruma-client-api. 2020-05-06 09:38:31 +02:00
Devin R
0e538a7c67 event_emitter/async_client: receive and emit events for invited and left rooms 2020-05-05 16:13:14 -04:00
Devin R
5ce62c9b6c async_client: rebase master onto more-endpoints, fix clippy warning 2020-05-05 13:21:02 -04:00
Devin R
d8883a11c1 async_client: add endpoints for typing and read notice, ban user and forget room 2020-05-05 13:18:53 -04:00
Damir Jelić
7b6e030823 matrix-sdk: Fix the last Ruma incompatibilities. 2020-05-05 15:29:25 +02:00
Devin R
bd2d6b0fac message: push message when queue isn't full, don't insert dup 2020-05-05 07:04:39 -04:00
Devin R
bfa9c0fda9 Merge branch 'master' of https://github.com/matrix-org/matrix-rust-sdk into messages 2020-05-05 06:57:37 -04:00
Damir Jelić
a54fec7ac5 base: Fix another instance of missing PartialEq support. 2020-05-04 14:22:10 +02:00
Damir Jelić
940332d414 crypto: Disable the failing tests now that the crypto is non-functional. 2020-05-04 14:21:48 +02:00
Damir Jelić
fed3c80466 crypto: Fix the tests now that events don't implement PartialEq. 2020-05-04 14:15:55 +02:00
Damir Jelić
86dc1ce3ca crypto: Disable the creation of encrypted event content for now.
It isn't possible to encrypted events using ruma anymore. This will need
to be re-enabled once ruma gets back support for this.
2020-05-04 14:12:42 +02:00
Damir Jelić
704d8bc0ed crypto: The algorithm specific contents don't take an algorithm anymore. 2020-05-04 14:11:06 +02:00
Damir Jelić
60cc939fdd matrix-sdk: Update our deps and re-implement PartialEq for the ClientState. 2020-05-04 14:06:34 +02:00
Damir Jelić
addb455d16 crypto: Add all the missing docs and deny missing docs from now on. 2020-04-30 17:10:12 +02:00
Damir Jelić
5dc0842f49 crypto: Implmement device deletion for the sqlite store. 2020-04-30 14:33:41 +02:00
Damir Jelić
e109e01a28 crypto: More lint fixes. 2020-04-30 14:29:58 +02:00
Damir Jelić
3bcce962e3 matirx_sdk: Fix a bunch of clippy warnings. 2020-04-30 14:07:49 +02:00
Damir Jelić
fc0d4a7d35 crypto: Rework our errors making them more specific. 2020-04-30 13:16:10 +02:00
Devin R
2c4b6919ef message: only push message when timestamp is larger than last msg in queue 2020-04-30 06:57:25 -04:00
Devin R
9788233771 room/message: make docs more clear, deserialize to MessageEvent over RoomEvent 2020-04-30 06:28:36 -04:00
Damir Jelić
5de32c025f crypto: Allow session to be saved in a batched way. 2020-04-30 12:08:38 +02:00
Devin R
d4b2fd0e1a Merge branch 'master' into messages 2020-04-30 06:02:31 -04:00
Damir Jelić
e33fd098bc crypto: Make the save device method of the store accept a slice of devices. 2020-04-30 11:51:20 +02:00
Damir Jelić
157dc86b61 matrix_sdk: Style fix for a docstring. 2020-04-30 10:14:18 +02:00
Devin R
9386b500a8 message: keep MessageQueue sorted by origin_server_ts 2020-04-29 19:28:58 -04:00
Devin R
178c6c06f8 Merge branch 'state-reviews' into messages 2020-04-29 15:49:36 -04:00
Devin R
376381b1a7 state_store: remove device_id and user_id from ClientState 2020-04-29 15:42:20 -04:00
Devin R
955f6248cf async_client: fix clippy warning 2020-04-29 08:10:53 -04:00
Devin R
5b17e57c4e room/messages: add message de/ser to Room 2020-04-29 07:58:31 -04:00
Devin R
ef560fd545 state_store: load_client takes a sessions obj, docs, copyright, move state store into base client 2020-04-29 07:00:14 -04:00
Damir Jelić
83f3fc6796 travis: Update our Travis setup for the new workspace setup. 2020-04-29 10:56:17 +02:00
Damir Jelić
4c760fca02 matrix_sdk: Use the internal types crate. 2020-04-29 10:40:27 +02:00
Damir Jelić
c5d833a14b Merge branch 'state-store' 2020-04-29 10:06:02 +02:00
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ć
cf9ecbd0e8 crypto: Use an atomic int for the key count. 2020-04-28 15:47:49 +02:00