Commit graph

346 commits

Author SHA1 Message Date
Damir Jelić
2995cebd57 matrix-sdk: Fix some clippy issues. 2020-08-26 13:50:28 +02:00
Damir Jelić
ea4befabd9 matrix-sdk: Fix the incorrect return value of the HttpSend trait.
The HttpSend trait incorrectly returns a reqwest::Response, we already
have logic to return the response into a http::Response and we need to
do the conversion since there is no other way to build Ruma responses.
2020-08-26 13:41:15 +02:00
Damir Jelić
6760f81498 matrix-sdk: Update Ruma. 2020-08-26 13:40:38 +02:00
Damir Jelić
b3d1e8687e matrix-sdk: Fix to a released version of reqwest. 2020-08-26 10:26:05 +02:00
Tilo Spannagel
a57c6159bd Fix travis ci errors
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2020-08-21 19:11:10 +02:00
Tilo Spannagel
5f10f4301c Add feature flag for rustls
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2020-08-21 18:36:42 +02:00
Damir Jelić
176181bdcf Merge branch 'crypto-improvements' into master 2020-08-21 18:16:48 +02:00
Damir Jelić
de90da4adc crypto: Make the verification machine compatible with how we queue up requests. 2020-08-21 16:26:34 +02:00
Damir Jelić
e38bfc64f4 crypto: Streamline the key claiming so we use the new mark request as sent method. 2020-08-21 14:40:49 +02:00
Damir Jelić
93e1967119 crypto: Initial refactor to switch to the outgoing_requests queue. 2020-08-21 13:35:01 +02:00
Damir Jelić
202c20feda crypto: Rename the method to set the local trust of a device. 2020-08-20 18:01:34 +02:00
Nym Seddon
89c9e31140
doc: Add UIAA auth data to registration example
Add direct request authentication data to registration example
2020-08-20 01:42:01 +00:00
Damir Jelić
56309ae12c matrix-sdk: Bump the versions of our deps. 2020-08-19 14:52:11 +02:00
Damir Jelić
9fe0717cee examples: Update the emoji verification example tho show a list of devices.
This may showcase that cross signing verification works if the other
device uploads valid signatures.
2020-08-19 14:50:35 +02:00
Damir Jelić
90ea0229f2 crypto: Rename TrustState to LocalTrust since.
We might still trust the device event if our local trust isn't set, so
rename the enum to better reflect that meaning.
2020-08-19 11:20:08 +02:00
Damir Jelić
6d0b73cb3d crypto: Pass the user identity to the SAS object when doing verifications. 2020-08-18 13:37:02 +02:00
Damir Jelić
150862ec0c matrix-sdk: Remove an useless into(). 2020-08-17 17:47:29 +02:00
Damir Jelić
6db7eb0694 crypto: Add a method to directly verify a device. 2020-08-17 17:36:07 +02:00
Damir Jelić
84c0311d80 crypto: Rename the UserDevicesWrap struct. 2020-08-17 17:12:39 +02:00
Damir Jelić
8aedc3077d matrix-sdk: Add an example to the start verification method of the device. 2020-08-17 16:47:24 +02:00
Damir Jelić
91db502cfe crypto: Rename DeviceWrap to Device. 2020-08-17 16:36:50 +02:00
Damir Jelić
43aea6e482 crypto: Rename Device to ReadOnlyDevice. 2020-08-17 16:17:28 +02:00
Damir Jelić
e778f7d72d matrix-sdk: Remove an unneeded clone. 2020-08-17 15:56:19 +02:00
Damir Jelić
94248523b3 matrix-sdk: Implement deref for our device wrapper. 2020-08-17 15:54:54 +02:00
Damir Jelić
fd8377bce2 crypto: Add device wrappers so that the verification can be started with a device. 2020-08-17 15:36:45 +02:00
Damir Jelić
9e609a0fdf matrix-sdk: Move the session into the http client wrapper. 2020-08-17 15:29:07 +02:00
Jonas Platte
5040be042f
Update ruma 2020-08-15 15:17:27 +02:00
Jonas Platte
ad2d3d2037
Simplify tests in matrix_sdk::client 2020-08-15 03:05:22 +02:00
Damir Jelić
09f009ebd7 matrix-sdk: Bump our deps. 2020-08-14 17:11:54 +02:00
Damir Jelić
d4e31f07a1 matrix-sdk: Fix the docs for our feature flags. 2020-08-13 12:18:24 +02:00
Damir Jelić
9b8e11aab9 crypto: Fix the docs for our features. 2020-08-13 11:06:26 +02:00
Damir Jelić
4e99278eac matrix-sdk: Expose the device methods in the Client. 2020-08-13 10:49:38 +02:00
Damir Jelić
cdb8b5c1e9 matrix-sdk: Fix a couple of typoes. 2020-08-13 10:28:40 +02:00
Damir Jelić
bf42e1a39f matrix-sdk: Put the send_to_device method behind the encryption feature for now. 2020-08-12 19:18:30 +02:00
Damir Jelić
2449bd27c1 matrix-sdk: Make sure our doctests don't make HTTP requests. 2020-08-12 17:15:18 +02:00
Damir Jelić
29bd38734f matrix-sdk: Remove an unused import. 2020-08-12 17:10:31 +02:00
Damir Jelić
6c07620a26 matrix-sdk: Fix the to-device imports for the non-crypto case. 2020-08-12 16:52:50 +02:00
Damir Jelić
3e3894b573 matrix-sdk: Fix for the non-encryption enabled use-case. 2020-08-12 16:19:41 +02:00
Damir Jelić
0a26195472 matrix-sdk: Clean up the client tests. 2020-08-12 15:53:42 +02:00
Damir Jelić
c4465e7979 matrix-sdk: Rename cli to client in the doc examples. 2020-08-12 15:23:44 +02:00
Damir Jelić
41f04d4f5d client: Refactor out the group session sharing logic. 2020-08-12 15:22:17 +02:00
Damir Jelić
15d7deddb8 matrix-sdk: Only claim one-time keys if we're also going to share group sessions. 2020-08-12 15:15:50 +02:00
Damir Jelić
407f9a3da8 matrix-sdk: Make sure to not send out multiple group share requests at once. 2020-08-12 15:12:51 +02:00
Damir Jelić
7cb25361b2 matrix-sdk: Expose an API to start SAS verifications. 2020-08-12 11:39:47 +02:00
Damir Jelić
42a4ad60e8 Merge branch 'lockless-cryptostore' into master 2020-08-11 17:37:38 +02:00
Damir Jelić
9a325a4505 matrix-sdk: Move the HttpSend trait into the http_client file. 2020-08-11 17:25:33 +02:00
Damir Jelić
c4ed5b6cda matrix-sdk: Upgrade our deps. 2020-08-11 16:54:58 +02:00
Damir Jelić
7637e79f2c matrix-sdk: Fix the tarpaulin skip directives. 2020-08-11 15:49:04 +02:00
Devin Ragotzy
9234ac96e1 matrix_sdk: Use our version of the async_trait macro 2020-08-11 09:17:18 -04:00
Devin Ragotzy
9294280dc1 matrix_sdk: Add DefaultHttpClient and impl HttpSend 2020-08-11 08:07:45 -04:00
Devin Ragotzy
fba3298162 matrix_sdk: Create HttpSend trait to abstract sending requests 2020-08-11 08:06:43 -04:00
Damir Jelić
c305b5052b matrix-sdk: Don't allow dead code anymore. 2020-08-10 15:23:49 +02:00
Damir Jelić
ef5201cf35 Merge branch 'up-ruma' into master 2020-08-10 14:58:47 +02:00
Matthew Hodgson
9c4229dc57 typoes 2020-08-10 13:15:58 +01:00
Jonas Platte
d83fc971ce
Update ruma 2020-08-10 13:58:39 +02:00
Damir Jelić
3ddb2199d2 Merge branch 'fix-http-headers' into master 2020-08-09 10:25:15 +02:00
Jonas Platte
4abab73462
Update reqwest to a git dependency 2020-08-09 00:57:58 +02:00
Damir Jelić
17fd85d687 matrix-sdk: Test that we're passing the auth token in the headers. 2020-08-08 15:00:28 +02:00
Jonas Platte
279e88d9f9
Fix handling of headers in HttpClient 2020-08-08 12:23:43 +02:00
Jonas Platte
d016ce1848
Use identifier macros in tests 2020-08-06 13:03:32 +02:00
Jonas Platte
591388d13e
Upgrade ruma 2020-08-05 18:00:45 +02:00
Devin Ragotzy
a3b4cab22e matrix_sdk_crypto: Fix clippy warnings add wasm emscripten to .gitignore 2020-08-04 20:02:09 -04:00
Devin Ragotzy
cb8d5ce8fb Rename CustomOrRawEvent -> CustomEvent and use raw json when failed
When deserialization fails we fallback to providing the user with a
serde_json::RawValue, basically the json string. Ruma should handle all
events that conform to a matrix event shape correctly by either
converting them to their type or returning a custom event.
2020-08-04 17:27:57 -04:00
Damir Jelić
28a7831ffd matrix-sdk: Fix the import for the no-encryption case. 2020-08-04 11:41:20 +02:00
Damir Jelić
2bf8c99dfe Merge branch 'master' into sas-verification 2020-08-04 11:23:24 +02:00
Damir Jelić
77f0676a58 matrix-sdk: The emoji example requires the encryption feature. 2020-08-04 10:49:08 +02:00
Damir Jelić
26ec0c6368 crypto: Proptest the emoji/decimal calculation. 2020-08-03 17:22:44 +02:00
Damir Jelić
01ba94c670 matrix-sdk: Hide the cryptostore error behind a feature flag. 2020-08-03 15:40:39 +02:00
Damir Jelić
a3bb8a0d74 examples: Don't use a proxy for the emoji example. 2020-08-03 14:59:03 +02:00
Damir Jelić
3245fbb1c9 examples: Clean up the emoji example a bit. 2020-08-03 14:51:45 +02:00
Damir Jelić
df9da7539a crypto: Expose some more SAS info publicly. 2020-08-03 14:33:15 +02:00
Damir Jelić
1787d2ebe6 crypto: Hook up marking the device as verified. 2020-08-03 12:38:43 +02:00
Devin Ragotzy
0ac2b84c02 Unify import style across workspace 2020-08-02 08:05:43 -04:00
Devin Ragotzy
230b2a229f matrix_sdk: Remove clippy allows 2020-08-02 07:46:02 -04:00
Devin Ragotzy
ed1f12ce37 Run cargo fmt with merge-imports true 2020-08-02 07:46:02 -04:00
Damir Jelić
3f83941d57 Merge branch 'master' into sas-verification 2020-07-31 16:27:52 +02:00
Damir Jelić
91d7a8329e matrix-sdk: Add an example that does SAS verification. 2020-07-31 15:34:46 +02:00
Damir Jelić
1a40491c0b matrix-sdk: Fix some clippy warnings. 2020-07-31 15:18:03 +02:00
Devin Ragotzy
79e661d1d9 sdk-base: Remove MessageWrapper and do not order messages in queue 2020-07-31 09:16:41 -04:00
Damir Jelić
30c07b4e08 matrix-sdk: Send out to-device events in the sync_forever() loop. 2020-07-30 15:53:55 +02:00
Damir Jelić
5058f09111 matrix-sdk: Remove an incorrect copyright line. 2020-07-29 14:40:05 +02:00
Damir Jelić
21b0afe72c matrix-sdk: Add a Sas wrapper. 2020-07-29 14:19:47 +02:00
Damir Jelić
2b124d98bc matrix-sdk: Pass the rwlock to the http client when doing requests. 2020-07-29 13:50:01 +02:00
Damir Jelić
27f918e52d matris-sdk: Move the http request sending logic into a separate struct. 2020-07-29 10:56:18 +02:00
Jonas Platte
6a96368048
Upgrade ruma 2020-07-26 16:58:27 +02:00
Jonas Platte
ca88539ec4
Upgrade ruma 2020-07-25 02:23:10 +02:00
Jonas Platte
bf54b17a2f
Upgrade ruma 2020-07-22 22:31:42 +02:00
Devin R
e4f94cbfec Remove FullOrRedacted use ruma::AnyPossiblyRedacted event enum 2020-07-18 08:52:51 -04:00
Devin R
807435c043 Updates DeviceId to be Box<DeviceId> 2020-07-18 08:51:19 -04:00
Devin R
71f2a042c2 Rename Stub -> Sync for all ruma events 2020-07-18 08:37:43 -04:00
Devin R
2e8fc3e232 matrix-sdk-base: Integrate redacted events into message queue
Redact message events according to spec and ruma types. Remove content
using events redact() method and insert the redacting event into the
event being redacted.
2020-07-17 13:41:55 -04:00
Damir Jelić
d273786d83 matrix-sdk: Bump our dependencies. 2020-07-17 10:01:22 +02:00
Damir Jelić
7ddc785a9a Merge branch 'timeout' 2020-07-17 09:59:21 +02:00
Stephen
f2163164bf Wasm fix 2020-07-16 20:53:09 -03:00
Stephen
44dfbd2fa6 Fix 2020-07-16 20:21:34 -03:00
Stephen
2f99d0de59 Bugfix 2020-07-16 20:06:26 -03:00
Black Hat
7a72949613 Client::sync_forever(): Add filter in next iteration. 2020-07-16 15:55:55 -07:00
Stephen
b0241e51a3 Fixed formatting 2020-07-16 18:40:52 -03:00
Stephen
c5ea4fde35 HTTP timeout 2020-07-16 18:16:30 -03:00
Black Hat
cc4ae3db1e Client::SyncSettings: Include sync filter 2020-07-16 06:13:35 -07:00
Black Hat
a5c5f5a7b1 Revert "Client::sync(): expose sync filter"
This reverts commit 0542e3d83d.
2020-07-16 06:04:26 -07:00
Black Hat
0542e3d83d Client::sync(): expose sync filter 2020-07-16 03:49:46 -07:00
Damir Jelić
a2a87b9fff matrix-sdk: Fix a bunch of clippy warnings. 2020-07-15 15:53:17 +02:00
Damir Jelić
bf152df322 matrix-sdk: Hide some tracing imports behind the encryption flag. 2020-07-15 14:05:22 +02:00
Damir Jelić
204279c575 matrix-sdk: Don't hide the tracing import behind the encryption feature. 2020-07-15 13:19:56 +02:00
Denis Kasak
32737a5517 Use match instead of if-let in sync_forever. 2020-07-15 09:43:58 +02:00
Denis Kasak
048a2000e7 Merge 2020-07-13 17:10:13 +02:00
Jonas Platte
ffc5204109
Fix two pattern matching related warnings 2020-07-11 20:57:01 +02:00
Jonas Platte
1fcb68c59f
Remove unused dependencies 2020-07-11 20:55:05 +02:00
Damir Jelić
4ee245dcce examples: Updat the autojoin example to use the ruma mono repo. 2020-07-10 15:30:17 +02:00
Denis Kasak
8daa12ac56 Print error when receiving invalid response in sync_forever. 2020-07-10 15:11:03 +02:00
Devin R
c0e6279837 matrix-sdk: Update request_builder to use new constructors
The create_room::Request and get_message_events::Request now have
constructors that we use in our builder structs.
2020-07-10 08:59:02 -04:00
Devin R
dcc3d6e755 sdk_base: Remove room_id as argument from all Room methods
Remove room_id paramater from some client methods. Make CreationContent
two methods of RoomBuilder. Add docs for MessageWrapper.
2020-07-10 08:59:02 -04:00
Devin R
b83b9dc59d matrix-sdk-base: Use new accessor methods for models/message.rs
ruma now has field access methods for all of the Any*Event enums use
them for MessageWrapper's AnyMessageEventStub contents.
2020-07-10 08:59:02 -04:00
Devin R
68822861d5 Rebase upstream/master into ruma-mono branch 2020-07-10 08:59:02 -04:00
Devin R
eb5949dbc2 Move matrix-sdk to ruma monorepo 2020-07-10 08:59:00 -04:00
Damir Jelić
a3441429da matrix-sdk: Add an autojoin example. 2020-07-08 20:22:50 +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ć
f33298b1a6 matrix-sdk: Explain what needs to be done to restore a client. 2020-07-07 15:47:34 +02:00
Damir Jelić
669a3f22d2 matrix-sdk: Allow getting the user id from the client. 2020-07-05 16:47:38 +02:00
Damir Jelić
cd9252cc3d matrix-sdk: Remove an unused import. 2020-06-26 18:21:44 +02:00
Devin R
92a43e7685 Move test data to test crate, fix docs 2020-06-25 08:31:51 -04: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
4a7b3a103c matrix_sdk_test: Use static JSON values instead of reading files 2020-06-21 14:13:26 -04:00
Denis Kasak
1174ccfc89
Merge branch 'master' into feature/display-name 2020-06-20 12:54:46 +02:00
Marcel
255451b8c7 Add missing dependency matrix-sdk-common-macros to matrix-sdk 2020-06-17 19:42:07 +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
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
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
Devin R
6df1f12b45 async_client: add docs/test for register_user, send_uiaa and RegistrationBuilder 2020-06-02 17:13:29 -04:00
Devin R
5abac19b72 request_builder/async_client: add register endpoint and RegistrationBuilder for making the request 2020-06-02 17:13:01 -04: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