Commit Graph

131 Commits (e4f94cbfec9b1212d5f9ea5c774c14bdc3d4b4f3)

Author SHA1 Message Date
Devin R 761071dac5 base_client: fix doc grammer and consistency, group request methods together 2020-06-01 07:50:45 -04:00
Damir Jelić 8ee6c3bdc8 matrix-sdk: Don't require Send for the sync callback. 2020-05-29 09:39:17 +02:00
Damir Jelić f3e04b5a74 Merge branch 'read-marker' 2020-05-25 14:23:58 +02:00
Damir Jelić ba66ee214f matrix-sdk: Move most of the configuration to the base client. 2020-05-25 14:21:04 +02:00
Devin R 621b1b08e4 async_client: read_marker/receipt doc fixes 2020-05-25 07:46:50 -04:00
stoically 7edb42b75c matrix-sdk: Use futures-timer's wasm-bindgen feature 2020-05-24 16:11:56 +02:00
Devin R a6303d041b async_client: add test for read_marker endpoint 2020-05-23 06:38:55 -04:00
Devin R f31357c4e1 async_client: read_marker endpoint, fix read_receipt docs 2020-05-22 18:05:12 -04:00
Damir Jelić ea5f7f1d19 matrix-sdk: Don't require the the session at client creation time.
The client objects in the sdk accepted an optional session argument at
creation time. If provided this would restore the client into a logged
in state.

Since we need to restore the client state and encryption state at some
point it makes sense to do it when the client transitions into a logged
in state. At the same time we would like to avoid the client creation to
be async.

This introduces a restore_login() method which can be called instead of
the login() method to restore a session.
2020-05-22 15:23:58 +02:00
Emi Simpson 53876ea6e8
Make Client::send a public method, add a short doccomment 2020-05-20 14:24:35 -04:00
Devin R 0f6caec93d state_store: move room file when room state changes, test room_state_change method, doc edits 2020-05-18 16:26:27 -04:00
Damir Jelić e51e89d9d5 matrix-sdk: Re-enable joins by id or alias. 2020-05-15 12:32:36 +02:00
Damir Jelić 8c6c34e01a matrix-sdk: Don't require coverage for some debug implementations. 2020-05-14 15:26:22 +02:00
Damir Jelić 269a01e480 matrix-sdk: Remove some unused imports. 2020-05-14 14:39:39 +02:00
Damir Jelić b1de56478d matrix-sdk: Disable for now joins by roomid or alias. 2020-05-14 14:30:29 +02:00
Damir Jelić ecbd801c70 crypto: Invalidate group sessions if they fail to be shared. 2020-05-14 11:55:12 +02:00
stoically 0d12a5571f
matrix-sdk: VERSION isn't used for the wasm target 2020-05-13 15:02:48 +02:00
Damir Jelić 5b1188a38b matrix-sdk: Add more strict lints. 2020-05-13 12:47:24 +02:00
Damir Jelić f1d12ff1f3 matrix-sdk: Remove all mentions of the AsyncClient. 2020-05-13 10:06:08 +02:00
Devin R 21bf631f47 Merge branch 'master' into store-room 2020-05-12 18:08:51 -04:00
stoically 1241fd718e base: Only disable sleep in WASM but still `continue` 2020-05-12 17:32:09 +02:00
Damir Jelić 2a411bf5df matrix-sdk: Use the instant crate so Instant works on wasm as well. 2020-05-12 15:48:17 +02:00
Damir Jelić 19b8a1686d client: Disable the sleeps on the wasm target for now. 2020-05-12 15:48:17 +02:00
stoically ef6104bc53 matrix-sdk: Support compiling to wasm32-unknown-unknown 2020-05-12 15:48:09 +02:00
Devin R 21712d0930 state_store: load/store each room type (invite, join, left), add type for returning 3 room maps 2020-05-11 15:54:11 -04:00
Devin R 22c4a1f2e7 Merge branch 'master' of https://github.com/matrix-org/matrix-rust-sdk into store-room 2020-05-11 14:17:31 -04:00
Devin R 0d0d8fca2d client: add store_room_state method 2020-05-11 07:04:47 -04:00
Damir Jelić b6c0d4e3bb base: Rename the Client to BaseClient. 2020-05-11 10:43:21 +02:00
Damir Jelić 9d09d19101 matrix-sdk: Rename the AsyncClient to just Client. 2020-05-08 14:02:49 +02:00
Damir Jelić 8a7aefac3b matrix-sdk: Split out the error types in our base and matrix-sdk crates. 2020-05-08 12:39:36 +02:00
Damir Jelić db26ae9027 matrix-sdk: Rename the async client file. 2020-05-08 11:40:33 +02:00
Damir Jelić 720e45509a matrix-sdk: Move all the async client tests into the async client file. 2020-05-08 11:27:33 +02:00
Damir Jelić 1e8ab74058 matrix-sdk: Use the EventBuilder in the async client tests. 2020-05-08 09:57:42 +02:00
Devin R 4f96ac96e2 async_client: add tests for all current endpoints, event emitter typeing/receipt events, set unread notifications 2020-05-07 15:21:06 -04:00
Damir Jelić 14580bc383 matrix_sdk: Fix most of the tests now that we have the big split. 2020-05-07 16:22:18 +02:00
Damir Jelić 30f8ccd2de matrix-sdk: Move the bulk of the sdk into a separate base crate. 2020-05-07 14:58:38 +02:00
Devin R 06707bd95e Merge branch 'master' into invite-leave-sync 2020-05-07 07:18:13 -04:00
Devin R 35afd65705 base/async_client: remove deadcode, remove get room name methods from AsyncClient 2020-05-07 07:09:22 -04:00
Damir Jelić a4f5a93880 base: Move some test that use the async client out of the base. 2020-05-07 12:51:53 +02:00
Damir Jelić 8a4cca3a85 Merge branch 'more-endpoints' 2020-05-07 11:01:24 +02:00
Damir Jelić b97e67c404 Merge branch 'messages' 2020-05-07 10:17:14 +02:00
Damir Jelić 6cbdbdcd2f matrix-sdk: Rename the types subproject to matrix-sdk-common. 2020-05-07 08:51:59 +02:00
Devin R 9939efe0e8 message: feature flag message queue storage in Room struct 2020-05-06 21:17:21 -04:00
Devin R fa4a99504e room: receive AnyStrippedStateEvent and handle within Room struct 2020-05-06 20:46:06 -04:00
Devin R 7b2ffd1f25 Merge branch 'master' into invite-leave-sync 2020-05-06 20:35:15 -04:00
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ć 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ć 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
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ć 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ć 60cc939fdd matrix-sdk: Update our deps and re-implement PartialEq for the ClientState. 2020-05-04 14:06:34 +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
Devin R d4b2fd0e1a Merge branch 'master' into messages 2020-04-30 06:02:31 -04: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ć 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