Commit graph

234 commits

Author SHA1 Message Date
Denis Kasak
241d456a81 Add RoomMember::name.
Returns the most ergonomic name for the member (either the display name
(if set) or the MXID).
2020-06-10 14:39:12 +02:00
Denis Kasak
3e5b6bb460 Style fixes. 2020-06-10 12:04:58 +02:00
Denis Kasak
5868c72662 Small refactor so we don't duplicate user_id creation. 2020-06-10 12:01:01 +02:00
Denis Kasak
4c184a30a2 Add doc comment to RoomName::calculate_name. 2020-06-10 00:28:56 +02:00
Denis Kasak
e4977d1d2a Refactor member_display_name.
Make it more readable, add comments.
2020-06-09 23:02:01 +02:00
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