Commit Graph

585 Commits (cb33f26d5c32bc3f70352b83c72882f59afd5809)

Author SHA1 Message Date
Damir Jelić 7ec5a5ad1a Merge branch 'master' into crypto-improvements 2020-11-26 13:24:57 +01:00
Jonas Platte 27ecab8574
Update ruma 2020-11-25 19:01:28 +01:00
Damir Jelić c13d04ae18 matrix-sdk: Return the members response in our get members method. 2020-11-24 10:56:07 +01:00
Damir Jelić e84d3b9950 base: Track new users we get from the room/members call. 2020-11-23 17:19:55 +01:00
Damir Jelić c1383402ed matrix-sdk: Initial support to upload filters. 2020-11-22 21:25:31 +01:00
Damir Jelić a98f23e2a7 base: Add a deserialized SyncResponse type. 2020-11-21 22:48:27 +01:00
Damir Jelić dedb1eb745 Merge branch 'update-ruma' 2020-11-20 21:21:24 +01:00
Damir Jelić c40edcf2fc matrix-sdk: Try to lower our compile times, at least in the crypto part for now. 2020-11-20 20:35:48 +01:00
Jonas Platte 38fec7f2b3 Upgrade ruma 2020-11-20 20:35:48 +01:00
Damir Jelić 9edf8657d0 base: WIP lazy loading support. 2020-11-20 20:17:59 +01:00
Alejandro Domínguez 95243003c4 Update ruma 2020-11-20 20:14:18 +01:00
Damir Jelić 3da1d3cf8f store: Use streams so we don't load all members at once. 2020-11-16 18:11:12 +01:00
Damir Jelić 8ed8929788 base: Fix the storing of invited and joined user ids. 2020-11-12 12:59:43 +01:00
Damir Jelić 3a1eeb6a16 Merge branch 'crypto-improvements' into new-state-store 2020-11-11 14:43:49 +01:00
Damir Jelić 11fcf5c42f rust-sdk: Document the cross signing bootstrap method. 2020-11-05 14:33:45 +01:00
Damir Jelić b67cd4ddd2 crypto: Create a trusted public cross signing identity when we create a private one. 2020-10-30 13:21:14 +01:00
Damir Jelić 5c530cf9ee crypto: Upload signatures after verification is done. 2020-10-27 16:39:23 +01:00
Damir Jelić 5c14910126 crypto: WIP cross signing bootstrap. 2020-10-26 16:03:59 +01:00
Damir Jelić dc57873687 base: WIP more work on the new state store. 2020-10-25 21:03:03 +01:00
Damir Jelić 962f725d63 Merge branch 'crypto-improvements' into new-state-store 2020-10-24 20:16:59 +02:00
Damir Jelić c1e679147d base: First working version of the new state store. 2020-10-24 20:01:39 +02:00
Damir Jelić 4cc803fe27 crypto: WIP cross signing bootstrap. 2020-10-24 10:32:17 +02:00
Jonas Platte 92bedb4571 Upgrade ruma 2020-10-20 17:36:21 +02:00
Damir Jelić 0c1d33d43f Merge branch 'master' into crypto-improvements 2020-10-18 10:21:52 +02:00
Damir Jelić 8f99180c99 Merge branch 'up-ruma' into master 2020-10-18 10:17:43 +02:00
Jonas Platte 0682292b91
Upgrade ruma 2020-10-18 02:01:39 +02:00
Damir Jelić 404cc410cc crypto: Fix the docs and return value of the import_keys method. 2020-10-17 14:39:19 +02:00
Damir Jelić 17cc4fcb81 matrix-sdk: Fix an import for the non-crypto case. 2020-10-16 19:45:38 +02:00
Damir Jelić b1c8c64205 matrix-sdk: Add support to delete devices. 2020-10-16 17:27:00 +02:00
Damir Jelić 425a07d670 crypto: Don't load all the devices in the sqlite store. 2020-10-16 16:57:26 +02:00
Damir Jelić c85fe6bc21 crypto: Initial support for private cross signing identities. 2020-10-14 15:35:06 +02:00
Damir Jelić 1c6a67d864 matrix-sdk: Bump our deps. 2020-10-13 13:01:18 +02:00
Damir Jelić e737200fbe matrix-sdk: Remove an useless import. 2020-10-13 11:55:18 +02:00
Damir Jelić 41b3b0651f matrix-sdk: Don't use strings for the content type in the upload methods. 2020-10-13 11:00:52 +02:00
Denis Kasak e0ee03fa6f Update `room_messages` docstring to reflect actual state of the API. 2020-10-12 21:18:51 +02:00
Denis Kasak 4ec7aff301 Add documentation on enabling logging. 2020-10-12 20:45:47 +02:00
Denis Kasak f5ff91935f Add missing apostrophe. 2020-10-12 20:45:47 +02:00
Damir Jelić 0ab12fe969 examples: Add some whitespace to the autojoin example. 2020-10-12 12:50:03 +02:00
strct c4ac0d0570 matrix-sdk: example: retry autojoin 2020-10-10 16:17:08 +02:00
Damir Jelić 661f182382 Merge branch 'master' into crypto-improvements 2020-10-08 18:28:04 +02:00
Dominique Martinet 9ea4835e3e Revert "matrix_sdk examples: set `#![type_length_limit = "1075569"]`"
This reverts commit 7d023ebdb9.

Rust 1.47.0 got released and the tuning is no longer necessary.
2020-10-08 17:57:23 +02:00
Dominique Martinet 7d023ebdb9 matrix_sdk examples: set `#![type_length_limit = "1075569"]`
Some examples no longer build after the following commits, set a
bigger-than-default type_length_limit to let tests pass.

The exceptions are not necessary on nightly and can be removed again
after https://github.com/rust-lang/rust/issues/54540 is fixed.
2020-10-08 16:10:48 +02:00
Dominique Martinet a4eae1053c matrix_sdk: expose RoomMember 2020-10-08 13:16:33 +02:00
Damir Jelić 220ccfb52b matrix-sdk: Fix the arguments docs for sync_with_callback. 2020-10-07 15:26:44 +02:00
Damir Jelić 17d23eb9e5 matrix-sdk: Add automatic key claiming support. 2020-10-07 14:07:47 +02:00
Damir Jelić 27c6f30e0f Merge branch 'master' into crypto-improvements 2020-10-06 16:44:11 +02:00
Damir Jelić bc48674f9f Merge branch 'new-sync-methods' into master 2020-10-06 16:43:41 +02:00
Damir Jelić 09f4b07fb7 matrix-sdk: Use a specific version for async-std. 2020-10-06 15:17:45 +02:00
Damir Jelić 2ffac286ed matrix-sdk: Switch to using an enum for the sync loop callback return value. 2020-10-06 15:04:43 +02:00
Damir Jelić 83b48fb53c matrix-sdk: Fix the login example. 2020-10-06 12:43:59 +02:00
Damir Jelić f4137c6bba Merge branch 'master' into crypto-improvements 2020-10-06 12:23:04 +02:00
Damir Jelić e16b7f9c44 matrix-sdk: Add an example for the login method. 2020-10-06 12:01:47 +02:00
Damir Jelić 45953a268c matrix-sdk: Mention that the key import/export methods don't work on WASM. 2020-10-06 11:41:18 +02:00
Damir Jelić 84039ad7aa matrix-sdk: Add links from the login method docs to the restore_login ones. 2020-10-06 11:40:32 +02:00
Damir Jelić 137fa9619f matrix-sdk: Add the ability to stop the sync loop and rename the sync methods.
This renames our sync methods so it's clearer which one the main one is.
Syncing should be done with the sync method, if one wishes to sync only
once the sync_method is provided.

If one wishes to have a callback called with every sync the
sync_with_callback method exists, the callback now returns a boolean
that signals if the loop should be aborted. This does not mean that the
current sync request will abort, a cancelable future is still needed for
this.
2020-10-06 11:37:29 +02:00
Damir Jelić 02c765f903 crypto: Don't mark outbound group sessions automatically as shared. 2020-10-01 16:31:24 +02:00
Damir Jelić bcdcdeb259 Merge branch 'master' into crypto-improvements 2020-10-01 12:21:45 +02:00
Alejandro Domínguez b58d88e0c3 Upgrade ruma 2020-10-01 11:23:26 +02:00
Damir Jelić 8fe1eda169 crypto: Test the full key share flow. 2020-09-29 14:18:03 +02:00
Damir Jelić a357536ade crypto: Initial scaffolding for incoming key share handling. 2020-09-28 09:27:16 +02:00
Damir Jelić f3be27921c crypto: Move the device trust state logic into the read only device. 2020-09-24 12:45:23 +02:00
Alejandro Domínguez 3070c98d26 Export "unstable-synapse-quirks" feature from ruma 2020-09-22 21:03:12 +02:00
Damir Jelić dea3e4adf4 crypto: Document when a key export may panic. 2020-09-18 14:04:39 +02:00
Damir Jelić 428b28a985 matrix-sdk: Increase the type length limit for the wasm example. 2020-09-16 12:28:42 +02:00
Damir Jelić 95145fae8f matrix-sdk: Remove the example with encrypted uploads.
The example fail to build on platforms where we don't support encryption. So
remove the example for now.
2020-09-16 12:09:30 +02:00
Damir Jelić 86d95518be matrix-sdk: Fix the case where the encryption feature is disabled. 2020-09-15 19:10:26 +02:00
Damir Jelić c8e459bc55 matrix-sdk: Fix the encryption feature. 2020-09-15 18:07:00 +02:00
Damir Jelić 4d431b7c9e matrix-sdk: Test the attachment sending paths. 2020-09-15 18:06:32 +02:00
Damir Jelić e98960f30b matrix-sdk: Add an image uploading bot to the examples. 2020-09-15 17:17:28 +02:00
Damir Jelić c500c06e4b matrix-sdk: Add docs and cleanup the media upload methods. 2020-09-15 17:16:16 +02:00
Damir Jelić 3ac3be501f matrix-sdk: Refactor out the check if a room is encrypted. 2020-09-15 15:02:59 +02:00
Damir Jelić a60f60bd7d Merge branch 'master' into encrypted_attachments 2020-09-15 12:04:37 +02:00
Damir Jelić a4980e8a04 matrix-sdk: Remove an unneeded lifetime. 2020-09-14 20:38:53 +02:00
Jonas Platte fb47abcc17
Update ruma 2020-09-14 20:26:52 +02:00
Damir Jelić c2756a9a92 matrix-sdk: First draft for our upload method. 2020-09-14 20:07:55 +02:00
Damir Jelić ffd2843b0a matrix-sdk: Expose the import/export keys methods. 2020-09-11 16:34:39 +02:00
Damir Jelić 34cdf31cc5 matrix-sdk: Don't require the user id to be passed to set a typing notice. 2020-09-05 20:32:16 +02:00
Damir Jelić 6c7dbb814b matrix-sdk: Add a convenience method to get our own devices. 2020-09-05 18:04:15 +02:00
Damir Jelić 217543ef38 matrix-sdk: Bump the versions of our deps. 2020-09-05 18:03:47 +02:00
Jonas Platte 73c104cac1
Replace IncomingToDeviceRequest with customized request type 2020-09-03 20:02:55 +02:00
Damir Jelić cc236a8765 examples: Fix the wasm bot example. 2020-09-02 14:23:00 +02:00
Devin Ragotzy 6872cc717b matrix_sdk: fix Client docs for methods that used request builders 2020-08-26 16:30:29 -04:00
Damir Jelić 977e29c3af matrix-sdk: Fix the wasm bot example. 2020-08-26 16:19:39 +02:00
Damir Jelić a2f7297941 Merge branch 'reexport-reqwest' into master 2020-08-26 16:07:05 +02:00
Alejandro Domínguez 6fa365935f Add "socks" feature from reqwest 2020-08-26 16:01:50 +02:00
Damir Jelić 39628a308b matrix-sdk: Allow any event content to be sent out with room_send(). 2020-08-26 15:41:27 +02:00
Damir Jelić 54391040a4 matrix-sdk: Re-export reqwest. 2020-08-26 14:47:43 +02:00
Damir Jelić 7a418ae09e matrix-sdk: Implement the HttpSend trait directly on the reqwest client. 2020-08-26 14:37:48 +02:00
Damir Jelić deff66ac42 matrix-sdk: Simplify the registration example. 2020-08-26 14:16:31 +02:00
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
Damir Jelić 21b33f4e61 Merge branch 'doc-fix' 2020-06-02 10:31:09 +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 b1864887aa matrix-sdk: enable messages feature by default 2020-06-01 06:45:38 -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ć 5637cdd133 matrix-sdk: Add a bunch of readmes to the crates. 2020-05-26 19:33:13 +02:00
Damir Jelić f3e04b5a74 Merge branch 'read-marker' 2020-05-25 14:23:58 +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 621b1b08e4 async_client: read_marker/receipt doc fixes 2020-05-25 07:46:50 -04:00
stoically 7edb42b75c matrix-sdk: Use futures-timer's wasm-bindgen feature 2020-05-24 16:11:56 +02:00
Devin R a6303d041b async_client: add test for read_marker endpoint 2020-05-23 06:38:55 -04:00
Devin R f31357c4e1 async_client: read_marker endpoint, fix read_receipt docs 2020-05-22 18:05:12 -04:00
Damir Jelić b8a9e05ebb examples: Fix the wasm bot example. 2020-05-22 16:19:30 +02: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
Emi Simpson 53876ea6e8
Make Client::send a public method, add a short doccomment 2020-05-20 14:24:35 -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ć 269a01e480 matrix-sdk: Remove some unused imports. 2020-05-14 14:39:39 +02:00
Damir Jelić b1de56478d matrix-sdk: Disable for now joins by roomid or alias. 2020-05-14 14:30:29 +02:00
Damir Jelić ecbd801c70 crypto: Invalidate group sessions if they fail to be shared. 2020-05-14 11:55:12 +02:00
stoically 0d12a5571f
matrix-sdk: VERSION isn't used for the wasm target 2020-05-13 15:02:48 +02:00
Damir Jelić 5b1188a38b matrix-sdk: Add more strict lints. 2020-05-13 12:47:24 +02:00
Damir Jelić f1d12ff1f3 matrix-sdk: Remove all mentions of the AsyncClient. 2020-05-13 10:06:08 +02:00
Devin R 21bf631f47 Merge branch 'master' into store-room 2020-05-12 18:08:51 -04:00
stoically 1241fd718e base: Only disable sleep in WASM but still `continue` 2020-05-12 17:32:09 +02:00
stoically aa42951f15 matrix-sdk: Switch to upstream crates 2020-05-12 17:32:01 +02:00
stoically 890dbdaa39 examples: Rename to wasm_command_bot and add note about encryption 2020-05-12 16:10:55 +02:00
Damir Jelić e84a3e417c matrix-sdk: Add missing newlines at the end of some files. 2020-05-12 15:48:17 +02:00
Damir Jelić 0bb1be94e2 examples: Modify the wasm example to be similar to the command bot. 2020-05-12 15:48:17 +02:00
Damir Jelić 2a411bf5df matrix-sdk: Use the instant crate so Instant works on wasm as well. 2020-05-12 15:48:17 +02:00
Damir Jelić 19b8a1686d client: Disable the sleeps on the wasm target for now. 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 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ć 9d09d19101 matrix-sdk: Rename the AsyncClient to just Client. 2020-05-08 14:02:49 +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ć db26ae9027 matrix-sdk: Rename the async client file. 2020-05-08 11:40:33 +02:00
Damir Jelić 720e45509a matrix-sdk: Move all the async client tests into the async client file. 2020-05-08 11:27:33 +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ć f5ec1f93ed matrix-sdk: Remove some unused deps now that we have stuff split out. 2020-05-08 10:18:29 +02:00
Damir Jelić e57ae2c4ef matrix-sdk: Fix the feature flags. 2020-05-08 10:13:47 +02:00
Damir Jelić 1e8ab74058 matrix-sdk: Use the EventBuilder in the async client tests. 2020-05-08 09:57:42 +02: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
Devin R 06707bd95e Merge branch 'master' into invite-leave-sync 2020-05-07 07:18:13 -04:00
Devin R 35afd65705 base/async_client: remove deadcode, remove get room name methods from AsyncClient 2020-05-07 07:09:22 -04:00
Damir Jelić a4f5a93880 base: Move some test that use the async client out of the base. 2020-05-07 12:51:53 +02:00
Damir Jelić 8a4cca3a85 Merge branch 'more-endpoints' 2020-05-07 11:01:24 +02:00
Damir Jelić b97e67c404 Merge branch 'messages' 2020-05-07 10:17:14 +02:00
Damir Jelić 6cbdbdcd2f matrix-sdk: Rename the types subproject to matrix-sdk-common. 2020-05-07 08:51:59 +02:00
Devin R 9939efe0e8 message: feature flag message queue storage in Room struct 2020-05-06 21:17:21 -04:00
Devin R fa4a99504e room: receive AnyStrippedStateEvent and handle within Room struct 2020-05-06 20:46:06 -04:00
Devin R 7b2ffd1f25 Merge branch 'master' into invite-leave-sync 2020-05-06 20:35:15 -04:00
Devin R 8afac39611 async_client/event_emitter: use RoomState to differentiate joined, invited and left rooms when emitting 2020-05-06 19:45:27 -04:00
Damir Jelić e9d6e28e13 matrix-sdk: Remove some unused deps. 2020-05-06 17:06:24 +02:00