Jonas Platte
30eee70e9d
Add DebugStructExt helper for writing less verbose Debug impls
2023-05-11 18:00:17 +02:00
Benjamin Bouvier
149950cc29
sliding sync: Use RangeInclusive<u32> instead of raw start/end UInt values ( #1877 )
...
* chore: use RangeInclusive instead of raw start/end integers for ranges in sliding sync
* chore: have timeline_limit use a u32 instead of a Ruma UInt
* chore: Remove all the `Into<u32>` generics on timeline_limit and ranges APIs
* chore: introduce a `Bound` type alias for u32
Signed-off-by: Benjamin Bouvier <public@benj.me >
2023-05-11 14:27:46 +02:00
Jonas Platte
a84960787d
Fix remaining sync response Debug event content leaks
...
… for real this time.
2023-05-11 13:50:20 +02:00
Jonas Platte
dab4cdd863
ffi: Add MediaSource::{from_json, to_json}
2023-05-11 11:06:06 +00:00
Benjamin Bouvier
d6100915df
bench: add sled back to the crypto benchmarks
...
Signed-off-by: Benjamin Bouvier <public@benj.me >
2023-05-11 12:31:58 +02:00
Benjamin Bouvier
5f228f408e
bench: set up a Tokio context when dropping the sqlite store
...
Signed-off-by: Benjamin Bouvier <public@benj.me >
2023-05-11 12:31:58 +02:00
Kévin Commaille
93f5562343
Only send verifications requests to devices that are cross-signed ( #1884 )
...
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2023-05-11 11:59:59 +02:00
Mauro Romito
18971e8b11
fix for notification item to get sender in invited rooms
2023-05-11 10:49:42 +02:00
Jonas Platte
9842645377
Fix struct name for DebugNotification output
2023-05-10 23:42:32 +02:00
Jonas Platte
176934e359
Fix debug output for raw events
...
It was looking for an "event_type" field rather than just "type".
The code was also more complex than necessary.
2023-05-10 21:50:12 +02:00
Ivan Enderlin
1a50afe167
feat(sdk): Rethink the SlidingSyncList::state after a reset
...
feat(sdk): Rethink the `SlidingSyncList::state` after a reset
2023-05-10 13:56:57 +02:00
Ivan Enderlin
3a25608a6e
feat(sdk): Rethink the SlidingSyncList::state after a reset.
...
A `SlidingSyncList` has a state, which can be either `NotLoaded`,
`Preloaded`, `PartiallyLoaded`, or `FullyLoaded`.
A `SlidingSyncList` can be reset, either manually when
`SlidingSyncList::reset` is called, or when a range is updated for
example.
Resetting a list is modifying its state. Prior to this patch, the state
was set to `NotLoaded`. However, it's not entirely true. This patch
updates this behavior to the following rules:
* When the state is `NotLoaded`, it's kept at this state as nothing has
happened yet,
* When the state is `Preloaded`, the list is restored from the cache,
but nothing has happened yet too, so it's kept at this state,
* When the state is `PartiallyLoaded` or `FullyLoaded`, it means some
(or all) updates have been done, so the new state is `PartiallyLoaded`
after the reset.
The list' state is used mostly by the client to know whether a loader
should be prompted to the users. The ranges are modified when the
users scroll inside the room list for example: scrolling in the room
list doesn't imply the state should go to `NotLoaded`. Some data
have potentially be loaded, so changing the ranges should result in a
`PartiallyLoaded` state. It seems more logical once explained like this.
2023-05-10 13:31:52 +02:00
Mauro
6eeee8ee53
ffi: Expose EventTimelineItem::read_receipts and the NotificationItem#room_canonical_alias
2023-05-09 15:26:07 +00:00
Jonas Platte
2de786c516
Rename fetch_event_details to fetch_details_for_event
2023-05-09 17:25:39 +02:00
Jonas Platte
159b999485
Update call_event_handlers span to default level of info
2023-05-09 16:53:17 +02:00
Jonas Platte
b6453772c3
Fix remaining sync response Debug event content leaks
2023-05-09 16:51:08 +02:00
Jonas Platte
0aa1f599c5
common: Make debug module public
...
… and remove re-exports of its contents from crate root.
2023-05-09 16:51:08 +02:00
Jonas Platte
1f01555e4e
sdk: Add more logging and a new branch to fetch_in_reply_to_details
2023-05-09 16:26:52 +02:00
Jonas Platte
c9d35a8fe5
sdk: Clean up spans for sliding sync_once
2023-05-09 12:49:43 +02:00
Benjamin Bouvier
b257d0dacd
chore: add the --workspace flag back in the documentation CI task
...
Signed-off-by: Benjamin Bouvier <public@benj.me >
2023-05-09 10:21:48 +02:00
Benjamin Bouvier
1aff90a96f
chore: fix doc comments in code and READMEs
...
Signed-off-by: Benjamin Bouvier <public@benj.me >
2023-05-09 10:21:48 +02:00
Jonas Platte
1380e9c4ec
Inline sync response structs with a single field
2023-05-09 10:08:34 +02:00
Jonas Platte
40c0f0896e
Add some missing copyright headers
2023-05-09 10:08:34 +02:00
Jonas Platte
aa3b2d4698
base: Don't log raw event for notifications
2023-05-09 10:08:34 +02:00
Jonas Platte
935dc6ec41
base: Remove presence events from debug output
...
We shouldn't be logging raw events, and there's not really a useful
subset we could include.
2023-05-09 10:08:34 +02:00
Jonas Platte
ae4518c1a7
base: Remove unused Deserialize, Serialize impls
2023-05-09 10:08:34 +02:00
Jonas Platte
2d1f514a13
Box fields to reduce stack size of structs
2023-05-08 18:47:01 +02:00
Jonas Platte
ce3c818156
Box futures to reduce composed future's sizes
2023-05-08 18:47:01 +02:00
Jonas Platte
1bc99a62a5
Make Store::save_changes non-lazy
2023-05-08 18:47:01 +02:00
Jonas Platte
3a74e8647b
Reduce amount of local variables before .await in async fn
2023-05-08 18:47:01 +02:00
Jonas Platte
c3d7a0704a
A little bit of cleanup
2023-05-08 18:47:01 +02:00
Jonas Platte
a8fb54ee67
Replace qualified name with use
2023-05-08 18:47:01 +02:00
Jonas Platte
c5decd2294
crypto: Pass AnyToDeviceEventContent by reference
...
… in a few places where it doesn't need to be moved.
2023-05-08 18:47:01 +02:00
Jonas Platte
9c4cce5fd0
crypto: Clean up OlmMachine::with_store
...
- Remove an unnecessary else {}
- Reorder logging instructions
2023-05-08 18:47:01 +02:00
Jonas Platte
37ed3d0a59
sdk: Don't skip event reordering when re-receiving redacted event
2023-05-08 18:12:53 +02:00
Jonas Platte
3013c911fd
sdk: Fix log message
2023-05-08 18:12:53 +02:00
Alfonso Grillo
7ac6ebfb7f
Add invited and joined counts
2023-05-08 18:12:12 +02:00
Ivan Enderlin
43b28e6087
feat(sdk): Remove the need to “restart” SlidingSync
...
feat(sdk): Remove the need to “restart” `SlidingSync`
2023-05-08 17:24:36 +02:00
Ivan Enderlin
6c8a19cf01
chore: Make Clippy happy.
2023-05-08 16:58:00 +02:00
Ivan Enderlin
bfcedcd49c
feat(sdk): SlidingSync::*subscribe will cancel in-flight requests.
...
`SlidingSync::subscribe` and `SlidingSync::unsubscribe` will cancel in-
flight requests, i.e. the `SlidingSyncInternalMessage::ContinueSyncLoop`
will be sent in the internal channel, just like what `SlidingSyncList`s
already do when a parameter is changed.
2023-05-08 16:44:49 +02:00
Ivan Enderlin
748ae86a88
feat(sdk): Cloning SlidingSyncListBuilder clones the once_built closure.
2023-05-08 15:24:58 +02:00
Ivan Enderlin
cfa2f1d049
chore: Make Clippy happy.
2023-05-08 14:20:18 +02:00
Ivan Enderlin
87f481ce7d
!fixup
2023-05-08 14:17:39 +02:00
Ivan Enderlin
281944696a
Merge branch 'main' into feat-sdk-sliding-sync-cancellation-token
2023-05-08 14:11:20 +02:00
Ivan Enderlin
673d51a9d9
test(sdk): Test SlidingSyncListBuilder::once_built.
2023-05-08 14:10:27 +02:00
Kévin Commaille
f92c3649e9
ffi: Use SQLite state store
...
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2023-05-08 12:11:10 +02:00
Kévin Commaille
c9fde8cf89
sdk: Add bundled-sqlite Cargo feature
...
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2023-05-08 12:11:10 +02:00
Kévin Commaille
991a42d8d6
sled: Add docsrs feature for docs generation
...
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2023-05-08 12:11:10 +02:00
Kévin Commaille
d7e47501e3
benchmarks: Replace sled with SQLite
...
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2023-05-08 12:11:10 +02:00
Kévin Commaille
ea826a257d
sdk: Replace Sled with SQLite as defaut store
...
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2023-05-08 12:11:10 +02:00