Ivan Enderlin
ef9bf87d89
chore(sdk): Write imports at the correct place.
2023-05-10 09:35:41 +02:00
Ivan Enderlin
349c7c3f68
feat(sdk): Remove SlidingSyncRoom::prev_batch.
...
A `SlidingSyncRoom` receives an Ruma
`api::client::sync::sync_events::v4:SlidingSyncRoom`. This value is
stored in the `SlidingSyncRoom::inner` field. From here, some getters
like `name()`, `is_dm()` etc. are using the `inner` field to compute a
result. There was one exception though: `prev_batch`. This value is part
of `v4::SlidingSyncRoom` but it was copied and updated in its own field:
`SlidingSyncRoom::prev_batch`.
I was wondering why. Turns out, there is no reason. Its getter
`prev_batch()` is public, but it's not used by the FFI bindings, so
basically nobody uses it (as this project is experimental as the time of
writing, we know our users).
This patch removes the `SlidingSyncRoom::prev_batch` field.
This patch also removes the `SlidingSyncRoom::prev_batch()` getter.
This patch finally removes the `FrozenSlidingSyncRoom::prev_batch` field
too.
2023-05-10 09:34:39 +02:00
Ivan Enderlin
cb2bb84d88
fix(sdk): Remove SlidingSyncRoom::is_loading_more.
...
First, this field is not used by ElementX.
Second, this field is never updated, so it always returns `false`, which
seems… buggy and useless.
2023-05-10 09:34:38 +02:00
Ivan Enderlin
4132571270
doc(sdk): Write documentation for SlidingSyncRoom.
2023-05-10 09:34:38 +02:00
Ivan Enderlin
0038a0389a
chore(sdk): Create one block for rooms, one block for lists.
...
This patch moves the code into dedicated blocks: one for updating the
rooms, one for updating the lists.
2023-05-10 09:34:27 +02:00
Ivan Enderlin
3e6dd1cecb
feat(sdk): Don't remove and re-insert a room when it exists.
...
Prior to this patch, to check a room exists, it was removed from the
collection, then re-added if it exists. Instead of doing this `remove`
+ `insert` dance, we can simply use `get_mut`, which also returns an
`Option`. This patch does that, in addition to rewrite the code to use a
`match` instead of a `if` + `else`.
2023-05-10 09:21:20 +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
Kévin Commaille
09e446b1d5
sqlite: Fix doc error
...
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2023-05-08 12:11:10 +02:00
Kévin Commaille
6bae0793f9
codecov: Add SQLite store as default crate
...
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2023-05-08 12:11:10 +02:00
Jonas Platte
32fafe7be3
Pin rust nightly version
...
Works around https://github.com/rust-lang/rust/issues/111320 .
2023-05-08 10:44:14 +02:00
Ivan Enderlin
0dab71e94b
fix(sdk): Fix previous merge.
2023-05-08 10:16:03 +02:00
Ivan Enderlin
150df1d6ce
fix(sdk): Fix previous merge.
2023-05-08 10:07:32 +02:00
Ivan Enderlin
cdb992e3b2
Merge branch 'main' into feat-sdk-sliding-sync-cancellation-token
2023-05-08 09:55:02 +02:00