Commit Graph

479 Commits (db0843a47abd794f272a0d9fc220402d8e2264e2)

Author SHA1 Message Date
Denis Kasak ac069152b9 Retrieve user id from RoomMember instead of reconstructing. 2020-06-09 22:19:51 +02:00
Denis Kasak 82827542b7 fixup: explicit type annotations 2020-06-09 19:31:01 +02:00
Denis Kasak 20a8e8e49b Fix comment styling. 2020-06-09 19:24:00 +02:00
Denis Kasak 098cc1f9f8 Add explicit type annotation. 2020-06-09 19:08:14 +02:00
Denis Kasak a3c46c6144 Run cargo fmt. 2020-06-09 16:41:26 +02:00
Denis Kasak b93eb0e318 Make Room::member_display_name return MXID as fallback.
If there is no display name set. This means the method can now always
return something so there is no need to wrap in an `Option`.
2020-06-09 16:16:21 +02:00
Denis Kasak e6b67e5fa7 Add short explanation to Room::member_display_name. 2020-06-09 15:35:43 +02:00
Denis Kasak 22ba253103 Use "disambiguated" instead of "resolved" display name in the doc comment.
To match how the C2S spec calls it.
2020-06-09 15:29:37 +02:00
Denis Kasak a9fd63fd4b Fix display name disambiguation so it passes the test. 2020-06-09 15:20:21 +02:00
Denis Kasak 60a43439e5 Properly test for display name disambiguation. 2020-06-09 15:20:21 +02:00
Denis Kasak e3cb3566bf Rename display_names -> disambiguated_display_names. 2020-06-09 15:20:21 +02:00
Valentin Brandl 9f34615869 Add first test for display names 2020-06-09 12:33:24 +02:00
Valentin Brandl 05503b28b7 Only add name duplicates to the display name map 2020-06-09 12:33:24 +02:00
Valentin Brandl 49e913865d Fix failing test 2020-06-09 12:33:06 +02:00
Valentin Brandl 4675a72e6b Rename accessor for display name 2020-06-09 12:30:12 +02:00
Valentin Brandl d5f66631c1 Implement display name resolving 2020-06-09 12:30:12 +02:00
Devin R 81baca2f92 base_client: emit typing events and test using EventEmitter 2020-06-06 17:00:29 -04: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ć 5637cdd133 matrix-sdk: Add a bunch of readmes to the crates. 2020-05-26 19:33:13 +02: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ć 8869da0a38 Merge branch 'msg-tests' 2020-05-25 14:22:15 +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 b24b4b7423 messages: enable this feature by default 2020-05-25 07:37:49 -04:00
Devin R 1ba2f584cb add the `messages` feature to dev-deps so the tests are run 2020-05-23 08:14:29 -04: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ć cffa2990b6 Merge branch 'swap-roomstate' 2020-05-22 10:09:47 +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 20de6f6aea base_client: prev_content deserialization TODO for if/when to mutate the event 2020-05-21 16:52:05 -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
Damir Jelić 6ecf46abf7 crypto: Mark tracked users as changed if a sync tells us so. 2020-05-21 14:30:42 +02:00
Devin R 8489be590a state_store: clippy TODO question 2020-05-18 16:37:28 -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ć 77973f15ba base: Disable a test that requires SystemTime under wasm. 2020-05-14 15:12:14 +02:00
Damir Jelić 4972104f72 base: Make an unreadable numeric literal readable. 2020-05-14 14:52:32 +02:00
Damir Jelić e3c16a3aa0 base: Don't use random event ids, they don't work under wasm. 2020-05-14 14:50:20 +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ć 96cf90e47c base: Store the whole encryption info for the room. 2020-05-14 13:58:09 +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ć 676633eec1 base: Rename the state store file since it's a specific implementation of it. 2020-05-13 10:58:30 +02:00
Damir Jelić e9b48b73d4 base: Move the AllRooms out of the state_store file. 2020-05-13 10:50:58 +02:00
Damir Jelić f1d12ff1f3 matrix-sdk: Remove all mentions of the AsyncClient. 2020-05-13 10:06:08 +02:00
Damir Jelić 66620ab99a base: Use the locks from our common crate. 2020-05-13 10:03:41 +02:00
Devin R 21bf631f47 Merge branch 'master' into store-room 2020-05-12 18:08:51 -04:00
Damir Jelić e84a3e417c matrix-sdk: Add missing newlines at the end of some files. 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 2c45513b97 remove tarpaulin skip attr 2020-05-11 17:38:18 -04: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ć 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
Damir Jelić 9461f08906 base: Rename the base client file. 2020-05-08 11:49:25 +02:00
Damir Jelić ef6458c9cd matrix-sdk: Fix the feature flags for real this time. 2020-05-08 11:07:08 +02:00
Damir Jelić 207fac2b49 matrix-sdk: Move the EventBuilder into a separate crate so it can be reused. 2020-05-08 09:49:55 +02:00
Devin R d32172f74e base_client: todo about room hashmaps 2020-05-07 15:24:55 -04: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