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
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
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
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
Damir Jelić
6e5870bd2b
crypto: Simplify the max keys calculation for one-time key uploads.
2020-06-04 17:36:33 +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ć
5175cd8ddb
crypto: Remove some unnecessary mem::replace calls.
2020-06-02 10:36:51 +02:00
Damir Jelić
21b33f4e61
Merge branch 'doc-fix'
2020-06-02 10:31:09 +02:00
Damir Jelić
9f34b371be
Merge branch 'unify-ee-methods'
2020-06-02 10:30:20 +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
8f017e7b27
event-emitter: rename on_account_data_* -> on_non_room_*
2020-06-01 07:13:57 -04:00
Devin R
b1864887aa
matrix-sdk: enable messages feature by default
2020-06-01 06:45:38 -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ć
8ee6c3bdc8
matrix-sdk: Don't require Send for the sync callback.
2020-05-29 09:39:17 +02:00
Damir Jelić
16f4021800
common: Depend on the git version of futures-locks again.
2020-05-26 22:21:03 +02:00
Damir Jelić
fd3dc50ebe
test: Add a copy of the test data to the test crate.
2020-05-26 21:30:15 +02:00
Damir Jelić
5ff7658f30
matrix-sdk-test: Specify a version for the test macros.
2020-05-26 19:59:40 +02:00
Damir Jelić
efc80449c4
matrix-sdk-common: Depend on a version of futures-locks.
2020-05-26 19:33:36 +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ć
6c3863f096
base: Don't unwrap when creating the olm machine.
2020-05-25 14:58:06 +02:00