Commit Graph

13223 Commits

Author SHA1 Message Date
Jonas Platte 6f9664c9f4 chore(base): Make fields of RoomInfo and BaseRoomInfo private 2022-04-04 16:35:07 +02:00
Julian Sparber f1c1b3d319 example: Require sled-state-store for timeline example 2022-04-04 15:33:04 +02:00
Damir Jelić 6007aa7056 fix(crypto): Add some missing zeroization calls in the key export logic 2022-04-04 13:34:13 +02:00
Kévin Commaille acd8ecbd22 feat(sdk): Retrieve account data from room::Common 2022-04-04 12:15:12 +02:00
Jonas Platte eab68131e7 chore: Split auxiliary tools into separate crates 2022-03-31 14:37:52 +02:00
Julian Sparber 8807a2abaf Add example to print the room history 2022-03-31 14:37:38 +02:00
Jonas Platte e2aab504fb Move sled state inspector into a separate crate 2022-03-31 14:26:32 +02:00
Jonas Platte 9567f8f28f Move the crypto benchmarks into a separate crate
Avoids issues from circular dev-dependency.
2022-03-31 14:26:32 +02:00
Damir Jelić 1e09577a8a chore: Make the Verification and OpenStoreError enums non exhaustive 2022-03-30 13:47:56 +02:00
Damir Jelić 155abb262b chore(crypto-ffi): Add a wildcard pattern to the store opening
This is only useful in our workspace, the workspace enables the
state-store in the matrix-sdk-sled crate, which turns an additional enum
variant on.
2022-03-30 13:47:56 +02:00
Damir Jelić 8782e0068f chore(sdk): Add a wildcard match for the verifcation enum conversion
This is needed because we now have multiple consumers of the
matrix-sdk-crypto crate in the workspace. The different consumers
might enable different feature sets.

Compilation of the workspace might fail if the qrcode feature is enabled
on the `matrix-sdk-crypto` crate but disabled on the `matrix-sdk` crate.

This patch adds a wildcard pattern to the Verification enum so we handle
the case where the matrix-sdk qrcode feature remains disabled.
2022-03-30 13:47:56 +02:00
Damir Jelić 66e4ea979c refactor(crypto-ffi): Use a type alias for the encrypted event type 2022-03-30 13:47:56 +02:00
Damir Jelić a957a02d5d refactor(crypto-ffi): Use the parse methods to parse identifiers 2022-03-30 11:10:46 +02:00
Damir Jelić 8079da7b0a chore(crypto-ffi): Use the the latest matrix-sdk-crypto crate. 2022-03-30 10:44:39 +02:00
Damir Jelić 8793efebc7 chore(crypto): Expose the types module publicly 2022-03-30 10:44:39 +02:00
Damir Jelić f5d2ea0efa fix(sdk): Use a consistent naming scheme for our features 2022-03-30 10:26:38 +02:00
Damir Jelić e720b4d5e3 chore(sdk): Fix a clippy warning for the sso_login feature 2022-03-30 10:26:38 +02:00
Damir Jelić d3f4db258f chore(crypto): Remove some dead code mentioning the sled_cryptostore feature 2022-03-30 10:26:38 +02:00
Damir Jelić 13d1048d7e fix(sled): Allow the crypto-store to be used without the state-store 2022-03-30 10:26:38 +02:00
Jonas Platte d9001409a2 chore(sdk): Remove qrcode from default features
Breaking change: If you need QR code support, you now need to enable the
qrcode feature on the matrix-sdk crate.
2022-03-30 10:03:29 +02:00
Jonas Platte 890c191884 Clean up toml formatting 2022-03-30 10:03:29 +02:00
Jonas Platte 8d3441b51b Deduplicate / clean up EncodeKey trait 2022-03-30 10:03:29 +02:00
Jonas Platte 1912a63f17 chore(indexeddb): Implement SafeEncode for RoomAccountDataEventType 2022-03-30 10:03:29 +02:00
Jonas Platte e4c6040de4 Generalize SafeEncode tuple implementations 2022-03-30 10:03:29 +02:00
Jonas Platte b8c7ab9867 fix(indexeddb): Add missing as_encoded_string call 2022-03-30 10:03:29 +02:00
Jonas Platte d56d50e96f Use field shorthands in tracing macros
Automated using search `\b(\w+) = \?\1` => replace `?$1`.
2022-03-30 10:03:29 +02:00
Jonas Platte f375d8c141 Move ? in tracing macros away from =
To make it obvious that it's more like a modifier to the field value,
rather than a single `=?` operator.
2022-03-30 10:03:29 +02:00
Jonas Platte 7f9e1c8799 Remove unnecessary uses of event content enums 2022-03-30 10:03:29 +02:00
Jonas Platte ed52cfc43c fix(base): Propagate push rules deserialization errors
… from BaseClient::get_push_rules.
2022-03-30 10:03:29 +02:00
Jonas Platte 09893651a4 Remove unnecessary allocations 2022-03-30 10:03:29 +02:00
Benjamin Kampmann 7e48034cc8 Merge pull request #555 from jsparber/fix_timeline
store: Make sure that event position in store is contiguous
2022-03-29 12:26:27 +02:00
Jonas Platte 8815e77576 chore: Upgrade Ruma 2022-03-28 18:21:32 +02:00
Jonas Platte db9b3febd3 Upgrade Ruma 2022-03-28 17:54:06 +02:00
Damir Jelić 36d1ba34a9 chore(crypto): Rename the Other key enum variant into Unknown 2022-03-28 17:05:00 +02:00
Damir Jelić 105961a78d chore(crypto): Change the expect message for device key serialization
Co-authored-by: Benjamin Kampmann <ben.kampmann@gmail.com>
2022-03-28 17:05:00 +02:00
Damir Jelić 23040a1bf7 refactor(crypto): Use vodozemac types for the cross signing and device keys 2022-03-28 17:05:00 +02:00
Julian Sparber 07066e1c1f store: Make sure that event position in store is contiguous
This fixes the breaking gap in the timeline when reading the events from
store.
2022-03-28 15:50:48 +02:00
Damir Jelić 4b58017951 chore(crypto): Add umlauts to a copyright holder
Co-authored-by: Jonas Platte <jplatte@element.io>
2022-03-28 14:24:38 +02:00
Damir Jelić 5db5341974 chore(crypto): Use a specialized CrossSigning type 2022-03-28 13:53:01 +02:00
Damir Jelić 9a3d097331 chore(crypto): Use a specialized DeviceKeys type 2022-03-28 13:53:01 +02:00
Damir Jelić c50b369d72 fix(crypto): Remove some unwraps when creating inbound sessions 2022-03-28 13:48:18 +02:00
Julian Sparber 28893ec388 fix(store): Fix sync message order 2022-03-25 14:47:55 +01:00
Damir Jelić 6968edd704 feat(crypto): Start uploading fallback keys to the server 2022-03-25 13:11:53 +01:00
Damir Jelić f4010b597f feat(crypto): Use a specialized SignedKey type instead of the Ruma type 2022-03-25 13:11:53 +01:00
Damir Jelić 2bacbf1b53 feat(crypto): Add a store error variant for breaking database format changes 2022-03-25 11:15:29 +01:00
Damir Jelić 0ce74b956c fix(sled): Throw an error if we can't upgrade our database 2022-03-25 11:15:29 +01:00
Damir Jelić e2725483e4 refactor(crypto): Make it clear that olm decryption failures are normal 2022-03-25 11:15:29 +01:00
Damir Jelić 03990ab19e test(crypto): Improve the device saving test
The test didn't check if we can actually save/restore multiple devices,
this patch fixes this.
2022-03-25 11:15:29 +01:00
Damir Jelić 8b89023aff feat(indxeddb): Use the new store-cipher to encrypt our values 2022-03-25 11:15:29 +01:00
Damir Jelić 75de41bb2e feat(sled): Use the new store cipher to encrypt our keys and values 2022-03-25 11:15:29 +01:00