Commit Graph

626 Commits (ac264918b8c483dee853f10952aa1107bf1e378d)

Author SHA1 Message Date
Devin R 183fffe85e Merge branch 'master' of state-store 2020-04-23 21:53:13 -04:00
Devin R 030aa79750 state_store: add method to manually sync state store, `AsyncClient::sync` now initially syncs with state store 2020-04-23 19:37:27 -04:00
Devin R fd7d3db32b state_store: move path into JsonStore, store must be "connected" before adding to AsyncClientConfig 2020-04-23 16:40:23 -04:00
Devin R 8a8f590788 room: tests for calculate_room 2020-04-23 09:55:59 -04:00
Damir Jelić 6d12ed2046 async_client: Don't request a write lock for crypto based requests.
The crypto state machine is in the base client behind a separate lock so
there's no need to require write access.

This removes a deadlock if we're trying to send an encrypted message
from a event emitter callback, since emitting an event fetches a read
lock as well.
2020-04-23 14:56:59 +02:00
Devin R 07053cfe26 room/ev_emitter: add tombstone to emitted events 2020-04-23 07:05:59 -04:00
Devin R ef4d69b0ac room: fix broken calculate_name, used UInt::max needed min, heroes is always empty 2020-04-23 06:53:34 -04:00
Devin R 305633635d room: add tombstone event handling 2020-04-23 06:51:29 -04:00
Damir Jelić 986985464a rust-sdk: Remove some unused imports. 2020-04-23 12:43:59 +02:00
Damir Jelić a16d3b3d29 crypto: Don't instrument the debug implementation. 2020-04-23 11:58:21 +02:00
Damir Jelić cb235c47a1 machine: Remove a deadlock when decrypting Olm messages using an existing session. 2020-04-23 11:37:47 +02:00
Damir Jelić 1de791c207 rust-sdk: Update to the latest ruma releases. 2020-04-23 10:52:47 +02:00
Devin R 5491838228 state_store: fix docs, test client with default state store 2020-04-22 17:39:57 -04:00
Damir Jelić 4369d0b854 crypto: Return a EncryptedEventContent when encrypting using Olm instead of a specific one. 2020-04-22 15:38:42 +02:00
Damir Jelić b56b720c0c crypto: Return a EncryptedEventContent when encrypting instead of a specific one. 2020-04-22 15:22:43 +02:00
Damir Jelić 27ae8bccb9 crypto: Check the recipient and recipient keys for decrypted events. 2020-04-22 15:15:08 +02:00
Damir Jelić 0eab02a941 crypto: Remove a stale comment. 2020-04-22 13:43:45 +02:00
Damir Jelić 4576e93663 crypto: Add some more debug logs. 2020-04-22 12:54:49 +02:00
Damir Jelić cb6e43b340 crypto: Allow devices to be deleted from the crypto store. 2020-04-22 12:12:47 +02:00
Devin R ad7a18d50a state_store: remove associated Store type 2020-04-21 09:47:36 -04:00
Devin R 267453de4d state_store: add Path to StateStore methods, remove associated Error type 2020-04-21 09:36:59 -04:00
Devin R 1f173b4919 Merge branch 'master' into state-store 2020-04-21 08:29:25 -04:00
Damir Jelić 877b880ded crypto: Expose the devices publicly. 2020-04-21 11:03:28 +02:00
Damir Jelić 2f7ec887ba crypto: Clean up the imports. 2020-04-21 10:41:08 +02:00
Damir Jelić 6b33bedcbe Cargo.toml: Use the released version of olm-rs. 2020-04-21 09:54:41 +02:00
Damir Jelić 7b84f16bd3 crypto: Test key querying. 2020-04-21 09:45:46 +02:00
Damir Jelić c057d6c6ad crypto: Add a method to remove devices from our DeviceStore. 2020-04-21 09:45:20 +02:00
Damir Jelić 00f4dadbbb crypto: Clean up the key querying logic. 2020-04-21 09:44:44 +02:00
Damir Jelić 7c54ad5c5f crypto: Allow a device to be marked as deleted. 2020-04-21 09:40:50 +02:00
Damir Jelić 63c0aa8771 crypto: Allow a device to be updated. 2020-04-21 09:31:33 +02:00
Damir Jelić b572381a8e crypto: Save the device to the sqlite db. 2020-04-21 09:28:26 +02:00
Devin R 8f89e8335c state_store: add load_all_rooms, fix clippy warnings 2020-04-19 15:26:10 -04:00
Devin R 9fb4bd9d19 state_store: add associated store and error type, custom deserialization for ruma event types 2020-04-18 18:06:30 -04:00
Devin R d000996205 Merge branch 'master' of https://github.com/matrix-org/matrix-rust-sdk into state-store 2020-04-18 15:22:02 -04:00
Damir Jelić 001a0de00f crypto: Test getting all user devices in the sqlite store as well. 2020-04-17 15:30:53 +02:00
Damir Jelić a632f2e5a2 crypto: Implement the device store for the sql store. 2020-04-17 14:14:31 +02:00
Damir Jelić 6952acddc2 base_client: Remove a unused import. 2020-04-17 10:57:09 +02:00
Devin R 31fb702140 room: confirm spec accuracy 2020-04-16 22:07:12 -04:00
Devin R ebe4f03c36 room: implement room_name according to spec, add RoomSummary to RoomName 2020-04-16 21:00:50 -04:00
Devin R bd3b0e7b74 async_client: add login failure test, make sure we are getting correct error 2020-04-16 17:03:40 -04:00
Devin R 07b7cbfe4e async_client: name associated error type in AsyncClient::send 2020-04-16 16:39:44 -04:00
Devin R c0e1ff1734 async_client/error: dont swallow response error in `AsyncClient::send` 2020-04-16 15:29:35 -04:00
Devin R 7889da2b30 state_store: very rough draft of json store 2020-04-16 10:02:59 -04:00
Damir Jelić d91de818ac crypto: Don't try to create the sqlite index every time we open the db. 2020-04-16 13:57:33 +02:00
Damir Jelić 9444f1506d crypto: Test the loading of specific group sessions in the sqlite store. 2020-04-16 13:32:04 +02:00
Damir Jelić 5b212a2fcd crypto: Keep the tempdir alive in the sqlite store tests. 2020-04-16 13:21:57 +02:00
Damir Jelić 8e3c5889bb crypto: Make sure to load the all the sender sessions when saving a session. 2020-04-16 13:14:14 +02:00
Damir Jelić 91a2d85cf8 crypto: Improve the debug implementation for the sqlite store. 2020-04-16 12:38:58 +02:00
Damir Jelić 64238b70a0 crytpo: Add test for the memory crypto store. 2020-04-16 11:55:16 +02:00
Damir Jelić 78fdd3d592 crypto: Document the methods in our cryptostore trait. 2020-04-16 11:06:51 +02:00