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ć
b16e3b6bd8
base: Rename joined rooms as they are used for left rooms as well.
2020-12-11 16:42:38 +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ć
a4e7dc1042
base: Correctly store the state events of rooms.
2020-12-10 10:01:53 +01:00
Damir Jelić
ae33904a93
base: Rename some structs.
2020-12-09 20:22:11 +01:00
Damir Jelić
a08f857e49
base: Split out the new room and member structs from the state store
2020-12-09 18:12:51 +01:00
Damir Jelić
6d2d48a35a
base: WIP inivted rooms handling.
2020-12-08 09:52:27 +01:00
Damir Jelić
5c608ed474
base: Store main account data.
2020-12-07 16:35:00 +01:00
Damir Jelić
e38f0762ee
base: Store the notification counts.
2020-12-07 15:11:18 +01:00
Damir Jelić
ab832da03e
base: Deserialize ephemeral events.
2020-12-07 14:34:18 +01:00
Damir Jelić
de61798d78
base: Store room account data.
2020-12-07 14:17:18 +01:00
Damir Jelić
b36d907fac
base: Add the power level event to the room member.
2020-12-06 18:11:32 +01:00
Damir Jelić
8a842ec0a5
base: Log deserialization errors for decrypted events.
2020-12-04 15:13:37 +01:00
Damir Jelić
27b5bf3ddd
base: Add initial left rooms handling.
2020-12-01 10:23:28 +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ć
b4d0179c18
base: Fetch the member presence when we fetch members.
2020-11-30 14:55:18 +01:00
Damir Jelić
38048a2043
base: Add presence storing.
2020-11-30 14:42:08 +01:00
Damir Jelić
ac2d90e92a
client: Apply room changes when fetching members.
2020-11-30 09:19:11 +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
Damir Jelić
de5f5cf00a
base: A better log message for unhandled member events.
2020-11-24 10:58:33 +01:00
Damir Jelić
35069c5252
base: Turn the get member method async.
2020-11-24 10:58:14 +01:00
Damir Jelić
dadcc68336
base: Use the room summary for the display name calculation if we have one.
2020-11-24 10:57:21 +01:00
Damir Jelić
64fff933af
base: Store the room topic with the room summary.
2020-11-24 10:56:43 +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ć
dedb1eb745
Merge branch 'update-ruma'
2020-11-20 21:21:24 +01:00
Damir Jelić
c40edcf2fc
matrix-sdk: Try to lower our compile times, at least in the crypto part for now.
2020-11-20 20:35:48 +01:00
Damir Jelić
6509e72a74
Revert "base: Don't handle the wildcard case for member events anymore."
...
Using the exhaustive feature in ruma enables the appservice/federation
apis, adding some 10 more crates to our dependencies. Disable that
feature for now.
This reverts commit 41529a6bff
.
2020-11-20 20:35:48 +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ć
133b230964
base: Change the way we're saving our room summary updates.
2020-11-12 11:21:37 +01:00
Damir Jelić
3a1eeb6a16
Merge branch 'crypto-improvements' into new-state-store
2020-11-11 14:43:49 +01:00
Damir Jelić
3f57ba57d0
base: WIP start to split out the steps collect changes, save changes,
...
apply changes.
2020-11-11 14:37:04 +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ć
9ce7feea1a
base: Wip.
2020-10-23 09:39:08 +02:00
Damir Jelić
bdf32eecc7
base: More work on the new state store.
2020-10-22 09:46:12 +02:00
Damir Jelić
5323e6e270
store: More work, add the ability to store member events.
2020-10-21 09:38:13 +02:00
Damir Jelić
045ab25fb7
base: Add initial state store based on sled.
2020-10-20 17:36:21 +02:00
Damir Jelić
cd3d90df3f
base: Remove a bunch of stuff and add sled.
2020-10-20 17:36:21 +02:00
Damir Jelić
7cab7cadc9
crypto: Rework the cryptostore.
...
This modifies the cryptostore and storage logic in two ways:
* The cryptostore trait has only one main save method.
* The receive_sync method tries to save all the objects in one
`save_changes()` call.
This means that all the changes a sync makes get commited to the store
in one transaction, leaving us in a consistent state.
This also means that we can pass the Changes struct the receive sync
method collects to our caller if the caller wishes to store the room
state and crypto state changes in a single transaction.
2020-10-20 17:19:37 +02:00