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ć
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ć
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ć
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
Damir Jelić
2e3b6fba7d
common: Use the re-exported versions of js_int and assign
2021-01-04 15:29:49 +01:00
Damir Jelić
e9d22c95a4
base: Handle the join rules, history visibility and guest access
2021-01-04 15:12:02 +01:00
Damir Jelić
e66add476f
base: Store the room creation content
...
The power level depends on a bunch of stuff, if no power level event
exists the default for a room creator is 100 while for every other user
is 0, thus we need to know the room creator.
2021-01-04 12:32:54 +01:00
Damir Jelić
4afc6b2567
base: Don't mark all the room methods as public.
2021-01-04 12:26:13 +01:00
Damir Jelić
83b850d8f9
base: Add the last missing accessors and reorder them.
2021-01-04 10:15:02 +01:00
Damir Jelić
e7e1d2d3eb
base: Add more accessors for the room info.
2021-01-04 10:03:16 +01:00
Damir Jelić
74998c8dd8
rooms: Add a method to get the room topic.
2021-01-03 16:52:47 +01:00
Damir Jelić
0edef38eb7
base: Fix some clippy warnings
2021-01-02 13:54:47 +01:00
Damir Jelić
b995492457
base: Add a method to get either the display name or the localpart of an user
2021-01-01 14:59:30 +01:00
Damir Jelić
0c81f3d9ae
base: Add a method to get all joined members.
2021-01-01 14:58:44 +01:00
Damir Jelić
c804104293
client: Add the get_x_room methods back.
2021-01-01 14:57:39 +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