Commit Graph

40 Commits (5bd3c49afc3538d913385316e5005fc36a080c52)

Author SHA1 Message Date
Denis Kasak 765487dd9f Fix comment style. 2020-06-15 17:29:38 +02:00
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 331cb02266 Split joined/invited users and handle removing users. 2020-06-10 18:12:27 +02:00
Damir Jelić 9f34b371be Merge branch 'unify-ee-methods' 2020-06-02 10:30:20 +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 8f017e7b27 event-emitter: rename on_account_data_* -> on_non_room_* 2020-06-01 07:13:57 -04:00
Devin R 9cb86596d8 add support for custom events and unrecognized by ruma events, test new code 2020-05-29 17:36:58 -04:00
Damir Jelić 6c3863f096 base: Don't unwrap when creating the olm machine. 2020-05-25 14:58:06 +02:00
Damir Jelić 3b5c9d3c75 Merge branch 'prev-content' 2020-05-25 14:31:19 +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 ac4698f0d6 base_client: only swap prev_content if outer is None 2020-05-22 21:29:51 -04:00
Devin R 86a01a0ca6 Merge branch 'master' into prev-content 2020-05-22 17:20:06 -04:00
Devin R 2f6bebdd1a base_client: replace event if prev_content deserialized from unsigned 2020-05-22 17:12:58 -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
Damir Jelić 6e83f7ffa1 base: Rename the method to remove room state. 2020-05-22 09:56:11 +02:00
Devin R 5c7ea17eef state_store: only remove room state file don't bother moving the file 2020-05-21 18:38:25 -04:00
Devin R eedf4e72d1 base_client: if unsigned field contains prev_content pull out and add to MemberEvent 2020-05-21 10:16:04 -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ć 8c6c34e01a matrix-sdk: Don't require coverage for some debug implementations. 2020-05-14 15:26:22 +02:00
Damir Jelić 9884c0bb7a base: The session sharing test only works if encryption is enabled. 2020-05-14 14:01:16 +02:00
Damir Jelić c0ff782ea3 base: Remove an aditional looping through the joined state events. 2020-05-14 13:01:41 +02:00
Damir Jelić c9d38cdedb base: Expire group sessions if the member list changes. 2020-05-14 13:01:41 +02:00
Damir Jelić ecbd801c70 crypto: Invalidate group sessions if they fail to be shared. 2020-05-14 11:55:12 +02:00
Damir Jelić 77a8f1b1bc base: Test the invited room creation. 2020-05-14 10:57:21 +02:00
Damir Jelić fff3abf985 bae: More room creation tests. 2020-05-13 16:25:42 +02:00
Damir Jelić e32af74be5 base: Add some initial test for room creation. 2020-05-13 15:57:09 +02:00
Damir Jelić 51f0a487ce base: Remove the stale rooms from the hashmaps. 2020-05-13 13:23:16 +02:00
Damir Jelić dc56063c67 base: Move the user tracking logic to the correct place. 2020-05-13 13:10:21 +02:00
Damir Jelić a8f94e2329 base: Add some missing debug implementations and add more strict lints. 2020-05-13 12:34:46 +02:00
Damir Jelić 8a401d23e2 base: Always store the new sync token, even if nothing changed in the rooms. 2020-05-13 12:27:16 +02:00
Damir Jelić 993dc8264a base: Return early if we get a duplicate sync response. 2020-05-13 12:26:07 +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 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ć 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ć 9461f08906 base: Rename the base client file. 2020-05-08 11:49:25 +02:00