Damir Jelić
4fc21a8860
base: Store the raw versions of events in the state store
...
This patch changes the way we store and load the majority of events that
are in the state store. This is done so custom fields in the event
aren't lost since a deserialize/serialize cycle removes all the unknown
fields from the event.
2021-04-29 10:35:54 +02:00
Damir Jelić
cff90b1480
matrix-sdk: Add encryption info to our sync events.
2021-04-29 10:35:54 +02:00
Damir Jelić
5ed0c7a7b3
Merge branch 'notifications'
2021-04-28 10:30:06 +02:00
Kévin Commaille
0e2017e537
matrix-sdk: Fix clippy warning
2021-04-27 14:37:43 +02:00
Kévin Commaille
1cc4f953b3
matrix-sdk: Small fixes
2021-04-27 13:47:07 +02:00
Kévin Commaille
f8bc9f3dc9
matrix-sdk: handle overflow in active_members_count
2021-04-27 13:47:06 +02:00
Kévin Commaille
24e96df7ea
matrix-sdk: Propagate store error in get_push_rules
2021-04-27 13:47:06 +02:00
Kévin Commaille
c569436ba4
matrix-sdk: Add StateChanges::add_notification
2021-04-27 13:47:06 +02:00
Kévin Commaille
f6c4fdde7d
matrix-sdk: Implement EncodeKey for EventType
2021-04-27 13:47:06 +02:00
Kévin Commaille
3f2c5d22b6
matrix-sdk: Get notifications locally on sync
2021-04-27 13:46:56 +02:00
Johannes Becker
5c882f89e8
chore: bump ruma
2021-04-26 08:05:58 +02:00
Johannes Becker
910a45b3d5
chore: cleanup clippy warnings
2021-04-23 10:38:49 +02:00
Damir Jelić
324a0aafca
Merge branch 'key-share-improvements'
2021-04-21 13:47:02 +02:00
Jonas Platte
796354ce5d
Ensure exhaustiveness for sync_events::Response destructuring
...
So the SDKs own SyncResponse type doesn't get out-of-sync.
2021-04-19 13:42:16 +02:00
Damir Jelić
8c007510cd
crypto: Only load the outgoing key requests when we want to send them out
2021-04-15 19:40:24 +02:00
Damir Jelić
a97b01f3ce
Merge branch 'matrix-sdk/fix-no-encryption-build'
2021-04-12 19:09:32 +02:00
Johannes Becker
be72c53d3e
matrix-sdk: fix building without encryption feature
2021-04-12 17:45:58 +02:00
Damir Jelić
cb58c499b3
crypto: Store that our outbound session was invalidated
2021-04-12 13:47:38 +02:00
Damir Jelić
fdb1e3482e
Merge branch 'bump-ruma'
2021-04-06 12:44:33 +02:00
Kévin Commaille
7c34ac4e82
Bump ruma to 2f1b9f097930bf7908ca539f2ab7bb0ccf5d8b25
...
Use MxcUri instead of String for media URLs.
Fix wrong MXC URIs in tests.
Remove method parse_mxc no longer useful.
Apply new non-exhaustive types: CrossSigningKey, OneTimeKey and SignedKey.
Apply endpoint name change: send_state_event_for_key to send_state_event
2021-04-05 19:49:55 +02:00
Jonas Platte
79eb07f717
Allow Result aliases to be used with two type parameters
2021-04-01 19:35:09 +02:00
Damir Jelić
74274e6dcb
base: Allow the test target to be compiled on WASM
2021-03-30 13:05:45 +02:00
Damir Jelić
02b44ca9ba
matrix-sdk: Fix or silence a bunch of new clippy warnings
2021-03-30 13:05:13 +02:00
Julian Sparber
382ec01bc3
move matrix_sdk_base::EventHandler to matrix_sdk
2021-03-17 15:29:26 +01:00
Julian Sparber
a4bac499e9
matrix-sdk-base: Add method to get all members from the store
2021-03-13 13:15:50 +01:00
Damir Jelić
e5585b57e8
Merge branch 'room_merge'
2021-03-08 13:39:46 +01: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
Julian Sparber
9332c55c8d
matrix-sdk-base: merge StrippedRoom and Room
2021-03-05 11:31:01 +01:00
Damir Jelić
c5241af675
crypto: Expose the crypto store error pulicly
2021-03-04 17:46:18 +01:00
Julian Sparber
31f4a58f38
matrix-sdk-base: Export RoomType
2021-03-03 11:34:59 +01:00
Julian Sparber
780348f546
matrix-sdk-base: Remove the unused enum RoomStateType
2021-03-03 11:18:23 +01:00
Damir Jelić
7729e2b11f
matrix-sdk: Add some custom debug implementations
...
This should avoid polluting the logs with sled trees and a lot of
redundant info in a device if a device or store ends up in the
structured logs.
2021-03-02 16:22:38 +01:00
Denis Kasak
df8c489304
Fix typo: visiblity -> visibility
2021-03-02 12:20:09 +01:00
Damir Jelić
e6f6665fa0
Merge branch 'master' into history-visiblity-session-share
2021-03-01 20:47:31 +01:00
Damir Jelić
5c0f0140e9
matrix-sdk: Fix some doc examples
2021-03-01 19:41:14 +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ć
2811c490a0
matrix-sdk: Fix some new clippy warnings
2021-02-12 12:59:53 +01:00
Damir Jelić
e857172170
base: Fix a couple of typos
2021-02-10 21:32:33 +01:00
Damir Jelić
b7fda1deb7
base: Fix a typo in the room members
2021-02-10 20:57:26 +01:00
Damir Jelić
c34f69f8a3
crypto: Don't receive the whole sync response, only what we need.
...
This makes it clearer what the crypto layer is doing, this also makes it
clearer for people that will use the crypto layer over FFI that they
don't need to go through a serialize/deserialize cycle for the whole
sync response.
2021-02-10 15:42:55 +01:00
Damir Jelić
19b78be93f
base: Fix a typo
2021-02-10 09:15:25 +01:00
Devin Ragotzy
fcd1c87765
matrix_sdk: export CustomEvent and StateChanges add docs to StateChanges
2021-02-04 15:54:20 -05:00
Damir Jelić
9e83eaf2f5
crypto: Store the history visiblity with the outbound session
2021-02-03 16:01:58 +01:00
Damir Jelić
347f79d08c
base: Respect the history visiblity setting when sharing group sessions
2021-02-03 13:56:31 +01:00
Damir Jelić
b66c666997
base: Expose and document the stripped room info
2021-01-28 14:59:57 +01:00
Damir Jelić
92f0523e37
base: More docs
2021-01-28 14:51:34 +01:00
Damir Jelić
58691986a9
base: Initial set of docs
2021-01-28 14:10:26 +01:00
Damir Jelić
bf4f32eccf
crypto: Remove the sqlite store for now
2021-01-27 15:29:42 +01:00
Damir Jelić
bc3ba3fab0
crypto: Add tests for the sled cryptostore
2021-01-27 15:19:32 +01:00
Damir Jelić
cb26e653da
base: Add a TODO explaining how redacted state needs to be healed
2021-01-27 12:39:54 +01:00
Damir Jelić
442103a37e
base: Store the display names in the memory store as well
2021-01-27 11:59:30 +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ć
55430dd3d2
base: Us and_then() instead of map() + flatten()
2021-01-26 19:28:17 +01:00
Damir Jelić
b3cfa48b45
base: Allow inspecting dispaly name owners in the sate inspector
2021-01-26 14:44:37 +01:00
Damir Jelić
fc085a7391
base: Use encoded keys for the whole sled store
2021-01-26 14:04:37 +01:00
Damir Jelić
b4a916b797
base: Add a method to get all the user ids that use a certain display name
2021-01-26 13:22:06 +01:00
Damir Jelić
ac6dad3f35
matrix-sdk: Bump our deps
2021-01-25 15:47:51 +01:00
Damir Jelić
eb8138ca6a
base: Restore stripped room infos as well
2021-01-23 17:29:43 +01:00
Damir Jelić
8028c23f56
base: Feature flag the sled state store
2021-01-22 18:10:17 +01:00
Damir Jelić
cb12bc1584
base: Use Instant instead of SystemTime for wasm compatibility
2021-01-22 18:07:34 +01:00
Damir Jelić
b83399ba14
base: Fix a typo take two
2021-01-22 16:07:24 +01:00
Damir Jelić
5daa22250f
base: Fix a typo
2021-01-22 15:45:14 +01:00
Damir Jelić
c034de470b
base: Allow using the same sled database for the state and cryptostore
2021-01-22 11:33:06 +01:00
Damir Jelić
cf07fc8e8e
Merge branch 'master' into new-state-store
2021-01-21 19:58:40 +01:00
Tilo Spannagel
7b8d2b5319
Add support for ruma feature flag markdown
...
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2021-01-21 18:22:17 +01:00
Damir Jelić
7d45417a17
base: Add a memory-only store
2021-01-21 16:31:33 +01:00
Damir Jelić
66ecb4c1e6
base: Store room infos for left and invited rooms
2021-01-21 15:12:13 +01:00
Damir Jelić
ae0d810fb0
base: Avoid the Trait is not general enough issue again
2021-01-21 14:03:41 +01:00
Damir Jelić
303ac513e5
base: Remove some stale files from the old state store
2021-01-21 12:13:46 +01:00
Damir Jelić
de4df4e50a
base: Re-introduce a state store trait.
2021-01-21 12:08:16 +01:00
Damir Jelić
2bcc0afb91
base: Use a CSPRNG to get our randomness and handle randomness errors
...
Since we're going to encrypt a lot of small objects separately we're
gonna need a lot of random nonces, it doesn't help that our nonces are
24 bytes long either. So use a CSPRNG to random data faster, also don't
panic if there wasn't enough randomness.
2021-01-20 16:59:46 +01:00
Damir Jelić
0a6b0e5804
base: Properly handle crypto related errors in the sled store
2021-01-20 16:27:59 +01:00
Damir Jelić
4a06c9e82d
base: Initial support for an encrypted sled store.
2021-01-20 15:57:23 +01:00
Damir Jelić
28cc5acc87
base: Add a store key struct
2021-01-20 14:10:57 +01:00
Damir Jelić
2b5ff82414
base: Move the sled store into a subfolder
2021-01-20 10:25:54 +01:00
Damir Jelić
3472c99c27
base: Split out the store module into smaller submodules
2021-01-19 16:48:37 +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ć
b8fcc003ea
base: Finish up the error handling for the new stores
2021-01-19 12:03:46 +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
Amanda Graven
aadbc14dc6
Add accessor for room member avatar urls
2021-01-15 18:59:51 +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ć
40c53f09ba
base: Handle room avatar updates
2021-01-15 09:57:59 +01:00
Damir Jelić
508bf3b23d
base: Include the to-device events when returning the sync response
2021-01-14 13:35:21 +01:00
Amanda Graven
9efece4f7a
Remove unnecessary clones
2021-01-11 14:17:17 +01:00
Damir Jelić
077c20ed74
base: Really fix the holding on across await points issue for room names
2021-01-11 13:40:35 +01:00
Amanda Graven
6c4888a123
Don't hold lock during await in name calculation
2021-01-11 13:18:26 +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ć
b8c6c2e07c
rooms: Use unstable member sorting for the room name calculation
2021-01-05 20:26:27 +01:00
Damir Jelić
cdc93ddd0f
base: Refactor and fix the room name calculation for non-stripped rooms
2021-01-05 20:09:06 +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ć
f3acf582ec
base: Fix a typo.
2021-01-04 18:34:23 +01:00
Damir Jelić
22b13c369b
base: Add a method to check if the room is public.
2021-01-04 18:26:53 +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