Commit Graph

78 Commits (5637cdd1334e454c1f9d7201a1f1fa3b4de8911a)

Author SHA1 Message Date
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
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