Commit graph

1120 commits

Author SHA1 Message Date
Devin R
4dbe785bd7 matrix_sdk: Add get_public_rooms* methods to Client
This also adds a RoomSearchBuilder for making get_public_rooms_filtered
requests and a test for each method.
2020-06-24 06:54:45 -04:00
Damir Jelić
676d547161 matrix-sdk: Disable the tarpaulin skip lines since it fails to run with them. 2020-06-24 11:25:31 +02:00
Damir Jelić
6a670163d3 Merge branch 'feature/display-name' 2020-06-24 10:42:58 +02:00
Damir Jelić
b8c4d1d5fa matrix-sdk: Remove the last test_data folder and fix the remaining tests. 2020-06-24 10:07:03 +02:00
Devin R
9e738f45ef crypto/base: Finish moving to using static json values for test data 2020-06-22 16:18:12 -04:00
Devin R
8e8ac8c5ac matrix_sdk_base: Use test_json values for tests in base 2020-06-21 14:22:28 -04:00
Devin R
4a7b3a103c matrix_sdk_test: Use static JSON values instead of reading files 2020-06-21 14:13:26 -04:00
Devin R
fc077bcd6b matrix-sdk-test: Remove duplicate test_data folder, leave top-level 2020-06-21 14:13:03 -04:00
Denis Kasak
c0c02baffc Run cargo fmt and apply clippy lints. 2020-06-20 13:05:16 +02:00
Denis Kasak
1174ccfc89
Merge branch 'master' into feature/display-name 2020-06-20 12:54:46 +02:00
Denis Kasak
733689870e Fix compilation error and remaining test.
Ref. for compilation error:
https://github.com/rust-lang/rust/issues/64552
2020-06-20 12:51:02 +02:00
Marcel
255451b8c7 Add missing dependency matrix-sdk-common-macros to matrix-sdk 2020-06-17 19:42:07 +02:00
Marcel
d4087a1aae Fix cargo fmt issues that the local version didn't auto fix 2020-06-17 19:16:04 +02:00
Marcel
f07ac5d679 Commit missing matrix_sdk_common_macros folder 2020-06-17 19:08:26 +02:00
Marcel
8b77b4171a Do wasm sepcific changes:
- Only use send+sync when not using wasm
- Use wasm capabale async_trait wrapper macro
- Make room and room_member specific structs always clonable
2020-06-17 18:57:39 +02:00
Damir Jelić
ea427cf366 Merge branch 'upload-keys' 2020-06-17 09:33:09 +02:00
Devin R
15191d0230 crypto: Fix overflow in should_upload_keys, bail out if uploaded keys > max uploaded 2020-06-16 18:07:13 -04:00
Denis Kasak
5bd3c49afc Correctly handle disambiguation for exiting members, refactor and test. 2020-06-15 17:29:38 +02:00
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
Damir Jelić
c3373f796b Merge branch 'export-base-error' 2020-06-15 09:47:51 +02:00
Damir Jelić
311e41ee0d matrix-sdk: Fix the author field in the cargo files. 2020-06-15 09:47:13 +02:00
Devin R
f8b5fceeb1 matrix-sdk: Export matrix-sdk-base Error type as BaseError 2020-06-14 20:00:41 -04: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
Denis Kasak
a0eaa9c364 Implement RoomMember::unique_name.
This gives us a name that is as ergonomic as possible while guaranteeing
it is unique.
2020-06-10 14:44:41 +02:00
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
Damir Jelić
f35fbdf8b0 Merge branch 'register' 2020-06-09 16:30:01 +02:00
Damir Jelić
442464add6 matrix-sdk: Implement sending of Http DELETE requests. 2020-06-09 16:29:17 +02:00
Damir Jelić
abe40dff11 matrix_sdk: Remove code duplication in our send methods. 2020-06-09 16:28:54 +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
b6d7939685 matrix-sdk: Vary sync token with each EventBuilder::build_sync_response call.
This allows us to hold onto an EventBuilder object and use it to build
multiple sync responses. Previously this would have resulted in each
of the responses having the same next_batch sync token. This would make
clients ignore the latter responses if they have already received any of
the previous ones.
2020-06-09 15:20:21 +02:00
Denis Kasak
4df0a839aa Fix Markdown in doc comment. 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