Commit Graph

292 Commits (5e05b37d02baa25491bd25664c2f6bd5593b2222)

Author SHA1 Message Date
Julian Sparber 31dd031269 matrix-sdk: Move room specific methods to room structs 2021-03-15 10:54:45 +01:00
Julian Sparber 2d6502247b matrix-sdk: Add method to get room as room::Common 2021-03-13 13:15:50 +01:00
Julian Sparber 88e230689e matrix-sdk: Add high-level room API 2021-03-13 13:15:50 +01:00
Weihang Lo ea7d90de62
client: PUT /_matrix/client/r0/rooms/{roomId}/state/{eventType}/{stateKey} 2021-03-13 16:21:51 +08:00
Julian Sparber bc2c924c88 matrix-sdk-base: remove InvitedRoom, JoinedRoom, LeftRoom and RoomState
They are all replaced by `Room`
2021-03-05 12:19:50 +01:00
Damir Jelić 8f481dd859 client: Add a method to get all known rooms 2021-03-02 14:58:30 +01:00
Damir Jelić 5c0f0140e9 matrix-sdk: Fix some doc examples 2021-03-01 19:41:14 +01:00
Damir Jelić 1f5cad136e matrix-sdk: Bump Ruma 2021-03-01 19:20:07 +01:00
Cédric Barreteau b6f2c43330 Rename `EventEmitter` to `EventHandler` 2021-02-13 11:01:31 +01:00
Cédric Barreteau e3e48148f0 Rename `add_event_emitter` to `set_event_emitter`
Closes #145.
2021-02-13 10:43:42 +01:00
Damir Jelić e3d1de8e6c client: Fix the sync_with_callback example 2021-02-10 09:51:14 +01:00
Damir Jelić ca7117af2b matrix-sdk: Clamp the request timeout for uploads to a sensible value 2021-02-01 21:56:15 +01:00
Damir Jelić a551ae2bee matrix-sdk: Add sensible connection and request timeouts
This sets the default
    * connection timeout to 5s
    * request timeout to 10s
    * request timeout for syncs to the sync timeout + 10s
    * request timeout for uploads to be based on 1Mbps upload
    speed expectations
2021-02-01 17:15:29 +01:00
Damir Jelić 585ca9fdf7 matrix-sdk: Split out the http errors into a sub-enum 2021-01-31 18:09:03 +01:00
Damir Jelić 81667173b6 matrix-sdk: Re-enable some more client tests 2021-01-27 14:43:53 +01:00
Damir Jelić 094ead9d7d base: Allow users to inspect the ambiguity change a member event triggers 2021-01-27 11:46:44 +01:00
Damir Jelić 44974982e1 client: Add an accessor method for the device id 2021-01-23 15:59:53 +01:00
Damir Jelić 948c811d4b client: Simplify the auto key-claiming invocation 2021-01-21 14:03:20 +01:00
Damir Jelić de4df4e50a base: Re-introduce a state store trait. 2021-01-21 12:08:16 +01:00
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ć 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ć 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ć 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ć 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ć 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ć 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
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ć 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 f5ff91935f Add missing apostrophe. 2020-10-12 20:45:47 +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ć 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