Commit graph

105 commits

Author SHA1 Message Date
Denis Kasak
03e53e991b Hoist prev_content to top-level in both timeline and state events.
Also refactor and document why this hoisting is needed.

This change makes the user_presence test fail because the hoisting
exposes an error encoded into the test's expected result.

Previously, the test expected 2 members in the room at the end. This is
incorrect since one of the members in the test data leaves the room.
However, since the prev_content of state events was previously not
hoisted to the top level, the `membership_change` method would not
notice it and thus not realize the member had left the room. The test
was corrected to expect only a single member in the room.

Another test change was made due to a limitation of EventBuilder: due to
the fact that it makes the test data go through a de/ser cycle, it
cannot easily hoist prev_content to the top level. Because of this, the
tests were change to put prev_content into the top level from the
outset.
2020-06-15 17:21:26 +02:00
Denis Kasak
97b1bb6004 Must not take our user into account when calculating room name. 2020-06-10 22:53:31 +02:00
Denis Kasak
331cb02266 Split joined/invited users and handle removing users. 2020-06-10 18:12:27 +02:00
Denis Kasak
7751605e37 Nix RoomMember::update_member and tracking membership.
After discussing with poljar, we concluded we don't actually need to
tracking membership state, since we won't be tracking users that
left (banned, kicked, disinvited).

The only thing we need to keep track of is the difference between joined
and invited users which will be dealt with in a separate commit.
2020-06-10 16:36:51 +02:00
Damir Jelić
62e959a94d Merge branch 'expose-send' 2020-06-02 11:20:47 +02:00
Damir Jelić
54871f2af9 matrix-sdk: Make the example for the send method comiple. 2020-06-02 11:15:04 +02:00
Marcel
6a323525b5 Add example to the Client::send() doccomment 2020-06-02 10:40:50 +02:00
Marcel
1d00f79675 Run cargo fmt for the get_profiles example 2020-06-02 10:40:32 +02:00
Marcel
7201749280 Add small example on how to use Client::send 2020-06-02 10:39:50 +02:00
Damir Jelić
21b33f4e61 Merge branch 'doc-fix' 2020-06-02 10:31:09 +02:00
Damir Jelić
587614cdd7 Merge branch 'unrecognized' 2020-06-02 10:28:57 +02:00
Devin R
db38bf1276 event_emitter: use enum to represent custom events and raw json 2020-06-01 17:02:12 -04:00
Devin R
761071dac5 base_client: fix doc grammer and consistency, group request methods together 2020-06-01 07:50:45 -04:00
Devin R
b1864887aa matrix-sdk: enable messages feature by default 2020-06-01 06:45:38 -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ć
5637cdd133 matrix-sdk: Add a bunch of readmes to the crates. 2020-05-26 19:33:13 +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ć
b8a9e05ebb examples: Fix the wasm bot example. 2020-05-22 16:19:30 +02: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
stoically
aa42951f15 matrix-sdk: Switch to upstream crates 2020-05-12 17:32:01 +02:00
stoically
890dbdaa39 examples: Rename to wasm_command_bot and add note about encryption 2020-05-12 16:10:55 +02:00
Damir Jelić
e84a3e417c matrix-sdk: Add missing newlines at the end of some files. 2020-05-12 15:48:17 +02:00
Damir Jelić
0bb1be94e2 examples: Modify the wasm example to be similar to the command bot. 2020-05-12 15:48:17 +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ć
4e0bef064f matrix-sdk: More cleanup in the deps. 2020-05-08 13:54:46 +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