Commit graph

210 commits

Author SHA1 Message Date
Damir Jelić
cb58c499b3 crypto: Store that our outbound session was invalidated 2021-04-12 13:47:38 +02:00
Julian Sparber
382ec01bc3 move matrix_sdk_base::EventHandler to matrix_sdk 2021-03-17 15:29:26 +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
Julian Sparber
780348f546 matrix-sdk-base: Remove the unused enum RoomStateType 2021-03-03 11:18:23 +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
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ć
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ć
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ć
58691986a9 base: Initial set of docs 2021-01-28 14:10:26 +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ć
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ć
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ć
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ć
de4df4e50a base: Re-introduce a state store trait. 2021-01-21 12:08:16 +01:00
Damir Jelić
4a06c9e82d base: Initial support for an encrypted sled store. 2021-01-20 15:57:23 +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ć
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ć
508bf3b23d base: Include the to-device events when returning the sync response 2021-01-14 13:35:21 +01:00
Damir Jelić
e7e1d2d3eb base: Add more accessors for the room info. 2021-01-04 10:03:16 +01:00
Damir Jelić
0952205e1e base: Restore rooms and the sync token when we restore the login. 2021-01-01 14:56:06 +01:00
Damir Jelić
4d7da05b90 base: Store the sync token. 2021-01-01 14:54:52 +01:00
Damir Jelić
d121a856c4 base: Remember the direct target for rooms. 2021-01-01 14:31:50 +01:00
Damir Jelić
a29d2e39c4 base: Save profiles independently from membership events.
The sender controls the content of the membership event, since the
content contains profile data (display names, avatar urls) a sender
might incorrectly change the profile of another member inside the room.

This is allowed in the case where the sender is kicking or inviting the
member, this it will self heal once the member re-joins. Still, to
mitigate this a bit we're storing the profile data when we know that the
member sent out the content on their own.
2020-12-24 16:35:32 +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ć
e25441babc base: Create a store wrapp and move store methods under it. 2020-12-20 16:27:29 +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ć
7abf0c8805 store: Honor state keys for the state storage. 2020-12-19 14:44:46 +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ć
45db95742a base: Add a common room info struct for normal and stripped rooms. 2020-12-14 14:53:50 +01:00
Damir Jelić
3a76cf7692 base: Restore getting the user ids when receiving a sync. 2020-12-14 13:48:29 +01:00
Damir Jelić
05b1384d16 base: Upcast member events so the state key is an user id. 2020-12-12 21:44:53 +01:00
Damir Jelić
e245599913 base: Save the stripped state of invited rooms. 2020-12-11 21:17:27 +01:00
Damir Jelić
6f35a05311 matrix-sdk: Allow users to get a reference to the store. 2020-12-11 09:52:39 +01:00