Commit Graph

481 Commits (5df9ae350c30e89d7b2116c7750ec051395e21ac)

Author SHA1 Message Date
Damir Jelić 17f3dbb0a0 crypto: Return a deserialized ToDevice struct when we receive a sync 2021-01-19 12:59:31 +01:00
Damir Jelić 6a30514d40 base: Move the deserialized responses types into the common crate 2021-01-19 12:30:58 +01:00
Damir Jelić d07063af2b base: Add some error handling to the state store 2021-01-18 18:07:53 +01:00
Damir Jelić 1746690eda crypto: Add a sled cryptostore 2021-01-18 13:38:00 +01:00
Damir Jelić bab8fde0ac crypto: Change the way we share group sessions
This patch removes the need to ask if a group session needs to be shared
it also adapts the method so it re-shares sessions if new users or
devices join the group.
2021-01-15 18:04:45 +01:00
Damir Jelić 643526987f Merge branch 'master' into new-state-store 2021-01-05 21:40:39 +01:00
Damir Jelić b311a31c9e matrix-sdk: Bump our tokio and reqwest versions. 2021-01-05 21:39:52 +01:00
Damir Jelić ccd8a4d602 Merge branch 'master' into new-state-store 2021-01-05 17:03:24 +01:00
Damir Jelić 4f2cad8f62 matrix-sdk: Bump our versions 2021-01-05 11:23:18 +01:00
Damir Jelić 76ce3fecb3 client: Re-enable two additional tests 2021-01-04 18:02:36 +01:00
Damir Jelić c6a80dc921 Merge branch 'master' into new-state-store 2021-01-04 17:34:33 +01:00
Damir Jelić 60950044f2 matrix-sdk: Bump our deps. 2021-01-04 17:22:09 +01:00
Damir Jelić 4c6c1d2107 matrix-sdk: Get rid of the common macros crate
This crate was used to support different trait bounds on WASM vs other
targets, since we only define async traits in a couple of places having
a whole crate to support this feels a bit excessive.

This patch defines a target specific super trait instead, this lowers
the compile time a couple of seconds.
2021-01-04 16:34:14 +01:00
Damir Jelić 2e3b6fba7d common: Use the re-exported versions of js_int and assign 2021-01-04 15:29:49 +01:00
Damir Jelić 4afc6b2567 base: Don't mark all the room methods as public. 2021-01-04 12:26:13 +01:00
Damir Jelić c804104293 client: Add the get_x_room methods back. 2021-01-01 14:57:39 +01:00
Damir Jelić 8857335a7d Merge branch 'crypto-improvements' into new-state-store 2020-12-22 16:18:46 +01:00
Damir Jelić 1313c3da3c client: Restore the membership based get room methods. 2020-12-22 10:47:21 +01:00
Damir Jelić c5709d23a5 base: Implement the last missing thing to get the emitter working again. 2020-12-22 10:09:59 +01:00
Damir Jelić a370eb1e37 base: Re-introduce the event emitter. 2020-12-19 20:20:39 +01:00
Damir Jelić f9af880176 base: Upcast the bare rooms based on the membership state 2020-12-19 16:37:35 +01:00
Damir Jelić 55436c6514 crypto: Add a test for verification request flows. 2020-12-18 18:23:42 +01:00
Damir Jelić 1fd8c2052e crypto: Fix a bunch of clippy warnings. 2020-12-18 13:50:02 +01:00
Damir Jelić 79102b3390 crypto: Make the cancelations output only CancelContents. 2020-12-17 12:15:11 +01:00
Damir Jelić b6e28e2280 crypto: WIP more work on in-room verifications now up to accepting them. 2020-12-15 16:35:54 +01:00
Damir Jelić b05fed5a3b matrix-sdk: Fix our tests now that the state store is roughly done. 2020-12-15 10:23:31 +01:00
Damir Jelić 6f35a05311 matrix-sdk: Allow users to get a reference to the store. 2020-12-11 09:52:39 +01:00
Damir Jelić 7198b0daba crypto: WIP key verification request handling. 2020-12-09 17:18:23 +01:00
Damir Jelić d4ebe8cc83 Merge branch 'crypto-improvements' into new-state-store 2020-12-08 16:54:23 +01:00
Damir Jelić ca4e738fff Merge branch 'master' into user-avatar-ci 2020-12-08 14:43:46 +01:00
Amanda Graven 8dc56ec332
Add methods for setting, getting and uploading avatar 2020-12-08 11:18:00 +01:00
Damir Jelić 59917f45e3 matrix-sdk: Fix a clippy lint. 2020-12-08 11:01:20 +01:00
Amanda Graven bca7f41ca9
Fix error in example 2020-12-07 13:14:23 +01:00
Amanda Graven 7f503eb71c
Add examples, remove user from method names 2020-12-07 12:59:10 +01:00
Amanda Graven a26dc3179a
Add methods for getting and setting display name 2020-12-07 11:17:26 +01:00
Damir Jelić b36d907fac base: Add the power level event to the room member. 2020-12-06 18:11:32 +01:00
Damir Jelić 1733808221 Merge branch 'crypto-improvements' into new-state-store 2020-12-04 13:50:39 +01:00
Damir Jelić 804bd221b2 crypto: Improve key imports.
This patch changes so key imports load all existing sessions at once
instead loading a single session for each session we are importing. It
removes the need to lock the session when we check the first known index
and exposes the total number of sessions the key export contained.
2020-12-02 11:12:46 +01:00
Damir Jelić 45442dfac8 Merge branch 'master' into new-state-store 2020-12-01 17:24:00 +01:00
Damir Jelić 4800e80492 matrix-sdk: Remove an unused import. 2020-12-01 15:08:53 +01:00
Damir Jelić 50bd408d48 matrix-sdk: Don't use try_from for the u32 -> UInt conversion. 2020-12-01 10:34:10 +01:00
Damir Jelić 0e563a9a81 base: Refactor out the room state/timeline handling. 2020-11-30 17:25:29 +01:00
Damir Jelić 7dd834a214 base: Add some more sync response fields. 2020-11-30 15:50:47 +01:00
Damir Jelić fcb50956bb Merge branch 'master' into new-state-store 2020-11-26 15:18:38 +01:00
Damir Jelić ce4d53a88c examples: Feature gate the cross signing bootstrap example. 2020-11-26 14:27:11 +01:00
Damir Jelić baa5bed1c9 Merge branch 'crypto-improvements' into new-state-store 2020-11-26 14:00:18 +01:00
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