Commit Graph

807 Commits (9f0fbcccf650038a96b3dd6cd938e8a69f3df9f7)

Author SHA1 Message Date
Denis Kasak eeebb43e32 Move mutating methods from RoomMember to Room.
The `update_profile` method cannot live in `RoomMember` since that
operation needs information which only exists in `Room` (for instance,
it needs other members in order to perform display name disambiguation).

Leaving other mutating methods on `RoomMember` (like `update_power` and
`update_presence`) then seemed illogical so they were all moved into
`Room`.

In addition, a small refactoring was done to remove
`did_update_presence` and `update_presence` since their existence
doesn't make much sense anymore and it saves us from repeating work.
Their function is now done in `receive_presence_event`.

Also, several docstrings were corrected and reworded.
2020-07-10 11:08:38 +02:00
Denis Kasak 5f49dab1fa Correct docstring. 2020-07-10 11:05:51 +02:00
Denis Kasak 6cacf83661 Add (failing) test for displayname disambiguation on profile updates. 2020-07-10 11:05:51 +02:00
Denis Kasak 599c1ba98f Add test to ensure member is only treated as joined or invited, not both. 2020-07-10 11:05:51 +02:00
Denis Kasak c2ec69cf44 Style fixes (comment grammar and correctness, whitespace). 2020-07-10 11:05:51 +02:00
Denis Kasak 32bdcede0c Small refactoring to simplify member_disambiguations. 2020-07-10 11:05:51 +02:00
Denis Kasak 9af48920f6 Add some TODOs and FIXMEs. 2020-07-10 11:05:51 +02:00
Damir Jelić a3441429da matrix-sdk: Add an autojoin example. 2020-07-08 20:22:50 +02:00
Damir Jelić 9f957655d0 travis: Allow the wasm target to fail. 2020-07-07 17:40:00 +02:00
Damir Jelić 2663a17065 travis: Allow windows to fail for now. 2020-07-07 17:19:26 +02:00
Damir Jelić 7124235d1b travis: Add a windows test target. 2020-07-07 16:57:20 +02:00
Damir Jelić babbdb4b90 travis: Remove redundant targets. 2020-07-07 16:52:17 +02:00
Damir Jelić 18f6cbc23a travis: Add a lint stage. 2020-07-07 16:48:45 +02:00
Damir Jelić 583dbb07a5 Merge branch 'deps-bump' 2020-07-07 16:13:25 +02:00
Damir Jelić 25207a1586 matrix-sdk: Make the wasm feature for future-timers target specific. 2020-07-07 16:11:33 +02:00
Damir Jelić 283cf0d782 matrix-sdk: Bump all our deps. 2020-07-07 15:52:08 +02:00
Damir Jelić 98d36d0ef0 base: Only update the tracked users when we're done with the state and timeline. 2020-07-07 15:48:28 +02:00
Damir Jelić f33298b1a6 matrix-sdk: Explain what needs to be done to restore a client. 2020-07-07 15:47:34 +02:00
Damir Jelić 11aa306de2 base: Swap around the store creation.
The state store creates directory structure but the crypto store does
not.

This can lead to confusing errors where we require a directory to be
created by the library user but it gets created by the library.
2020-07-06 10:54:01 +02:00
Damir Jelić 669a3f22d2 matrix-sdk: Allow getting the user id from the client. 2020-07-05 16:47:38 +02:00
Denis Kasak ff5f638b60 Remove member from invited_members when he joins. 2020-07-03 15:35:54 +02:00
Denis Kasak 2a0c6c6474 Add test and example event to ensure display name changes work correctly. 2020-07-03 15:35:54 +02:00
Denis Kasak f447c55fcb Move prev_content in test data to top level for now.
Until Ruma fixes it upstream, see hoist_room_event_prev_content for more
information.
2020-07-03 15:35:54 +02:00
Denis Kasak 84fc662614 Document and improve EventBuilder.
EventBuilder now clears itself between `build_sync_response` calls so
that each subsequent call will return an empty response if nothing was
added.

This allows reuse of a single EventBuilder instance which is important
for correct sync token rotation.
2020-07-03 15:35:54 +02:00
Denis Kasak c57f076375 Remove unused import. 2020-07-03 15:35:54 +02:00
Denis Kasak 4561b94f33 Remove outdated TODO. 2020-07-03 15:35:54 +02:00
Denis Kasak 9bd8699e18 Get rid of match on membership change in RoomMember::update_profile.
The calling method already did this when it determined that
update_profile should be called so we don't need to repeat it.
2020-07-03 15:35:54 +02:00
Denis Kasak 5ef9a7b924 tests: Rename get_room_id to test_room_id.
To make it more obvious it's a special room ID value used in tests.
2020-07-03 15:35:54 +02:00
Damir Jelić bd56c52b37 base: Don't double borrow the response in one iter rooms method. 2020-07-03 12:30:57 +02:00
Denis Kasak 1f25c4cf4b Fix and test hoisting of `prev_content` for timeline events.
The previous test only tested using the `EventEmitter`, which missed the
fact that the client was receiving unhoisted events. The test now also
tests the client state to detect this.
2020-07-03 11:54:08 +02:00
Denis Kasak 3f1a40a7d1 Add a bunch of FIXMEs to have receive_* methods do the emitting. 2020-07-03 10:31:47 +02:00
Damir Jelić b092ed0a82 base: Put the decrypted event replacing in the correct place. 2020-07-02 23:16:56 +02:00
Damir Jelić cd9252cc3d matrix-sdk: Remove an unused import. 2020-06-26 18:21:44 +02:00
Damir Jelić 8b13602b3b Merge branch 'room-search' 2020-06-26 10:15:31 +02:00
Devin R 92a43e7685 Move test data to test crate, fix docs 2020-06-25 08:31:51 -04:00
Damir Jelić 262a61afc9 crypto: Simplify the group session pair creation. 2020-06-25 13:31:30 +02:00
Devin R 1016519bb6 matrix_sdk: Rename public room builder and client methods
Remove 'get' from get_public_rooms* methods.
Rename RoomSearchBuilder -> RoomListFilterBuilder.
Use u32 over UInt in builders and Into<String> for String.
Fix docs of public room methods and builders.
2020-06-24 07:46:40 -04:00
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