dasha_uwu
a1960553e9
Turn non-monotonic next_batch assert into error log and clamp.
2026-01-26 20:24:44 +00:00
dasha_uwu
0c9a3abb71
clippy allow -> expect
2026-01-26 19:28:56 +00:00
Jason Volk
106bba761e
Use bounded condition for syncv3 notification count; asymmetric reset condition. ( #261 )
...
Signed-off-by: Jason Volk <jason@zemos.net >
2026-01-19 08:26:23 +00:00
June Strawberry
1b68588b84
enable match_same_arms lint
...
Signed-off-by: June Strawberry <june@vern.cc >
2026-01-18 13:10:05 -05:00
dasha_uwu
e78bf21085
Introduce OptionFuture helpers
...
Optimize user directory searches
2026-01-17 06:54:24 +00:00
dasha_uwu
fd519ff7f1
Fix sliding sync not returning rooms the user is invited to
2026-01-13 07:42:43 +00:00
Jason Volk
432e6a2663
Fix serializing zero notification count in never-read room case.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-12-28 05:17:29 +00:00
Jason Volk
959c559bd8
Log all ruma handler results at trace level.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-12-18 17:27:22 +00:00
dasha_uwu
0c7ba1dd5a
Fix sync handling for appservices calling without device_id
2025-12-18 02:18:30 +00:00
Jason Volk
1ce3d2b01f
Add ReadyBoolExt special case for ReadyEqExt.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-12-01 08:01:52 +00:00
Jason Volk
7666bb63d8
Optimize syncv3 joined room path with additional conditional queries.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-11-27 07:22:55 +00:00
Jason Volk
71f3ccf140
Unbox and pin database streams.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-11-26 06:49:57 +00:00
Jason Volk
120ab1d068
Add config circuit-breaker for heroes calculations during sync.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-11-20 08:34:31 +00:00
Jason Volk
e60e86e9ed
Optimize heroes calculation using member state instead of timeline scan.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-11-19 02:14:35 +00:00
Jason Volk
39c84fabb4
Optimize filter fetch in syncv3 prologue.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-11-06 17:14:45 +00:00
Jason Volk
8b1de3d8db
Add update for device last_seen_ts. ( closes #40 )
...
Piggyback on presence ping for controlled device seen updates.
Signed-off-by: Jason Volk <jason@zemos.net >
2025-11-02 00:02:49 +00:00
Jason Volk
d24986edf1
sliding-sync: Stop propagation from room handlers.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-10-31 03:38:35 +00:00
Jason Volk
ce1ac277a6
Refactor sync v3 leave handler.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-10-31 03:38:35 +00:00
Jason Volk
9265748a57
Remove legacy ruma return type on sync endpoint.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-10-30 16:28:27 +00:00
Jason Volk
1f0cfec5ca
Use Result for last_notification_read as zero-default not appropriate.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-10-30 03:48:16 +00:00
Jason Volk
3694ffbab3
Bump Ruma w/ PushRule type optimizations.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-10-28 23:23:27 +00:00
Jason Volk
5e89f0acae
Split pusher service send/request into unit.
...
Refactor sender's push destination handler.
Combine remnants of service::rooms::user with pusher service.
Further split and reorg pusher service units.
Signed-off-by: Jason Volk <jason@zemos.net >
2025-10-28 23:23:19 +00:00
Jason Volk
563873af77
Use signed PduCount for better bumpstamp on create and backfill.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-10-27 15:24:50 +00:00
Jason Volk
6a4aff424f
Add count value to the to_device iter item.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-10-27 09:06:02 +00:00
Jason Volk
b714f24029
sliding-sync: Filter redacted events from bump calculation.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-10-27 09:06:02 +00:00
Jason Volk
1223763e2b
Split sliding-sync into additional units.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-10-27 09:06:02 +00:00
Jason Volk
f66a83763e
Persist sliding-sync state; mitigate initial-sync.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-10-25 13:33:32 +00:00
Jason Volk
af80482c04
Add branch in room handler for left rooms.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-10-25 08:34:49 +00:00
Jason Volk
a20ddcd586
Recency bump on own membership event.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-10-25 08:08:26 +00:00
Jason Volk
b483306367
Fix sliding-sync invite regression.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-10-25 07:52:40 +00:00
Jason Volk
f5e98467be
Improve sliding-sync robustness to deeper replays.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-10-24 18:31:48 +00:00
Jason Volk
0397bb8237
Implement specified non-blocking semantic for sliding-sync.
...
Simplify sliding-sync watch loop and bounds.
Signed-off-by: Jason Volk <jason@zemos.net >
2025-10-23 11:00:55 +00:00
Jason Volk
9cd175b125
Additional logging/tracing tweaks around sliding-sync.
...
Additional spans around receipt service interface.
Signed-off-by: Jason Volk <jason@zemos.net >
2025-10-23 03:37:52 +00:00
Jason Volk
024e8eae62
Implement num_live for sliding-sync room response.
...
Avoid using origin_server_ts for recency stamp.
Signed-off-by: Jason Volk <jason@zemos.net >
2025-10-22 09:14:41 +00:00
Jason Volk
4fd60b2605
Improve sliding-sync selector and windowing logic.
...
Bump Ruma; eliminate premature release compat.
Signed-off-by: Jason Volk <jason@zemos.net >
2025-10-22 08:15:25 +00:00
Jason Volk
e53968d9eb
Improve tracing spans for notif counts and sliding-sync exts.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-10-22 07:05:03 +00:00
Jason Volk
3b4fbb8c1a
Fix inverted debug assert message.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-10-21 15:48:05 +00:00
Jason Volk
d2aab468cf
Fixes for sliding-sync request replays.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-10-21 06:46:02 +00:00
Jason Volk
aa4486dfdf
Simplify types, mitigate expansion; eliminate unnecessary move.
...
Further simplify future::BoolExt toward type expansion mitigation.
Signed-off-by: Jason Volk <jason@zemos.net >
2025-10-21 05:25:11 +00:00
Jason Volk
5b3f0fde23
Add invite rooms to sync v3 watch rooms list.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-10-20 23:57:52 +00:00
Jason Volk
9640afebff
Join the async prologue operations in sync v3.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-10-20 23:55:42 +00:00
Jason Volk
4e0249cd2f
Fix sliding-sync again by resetting after interrupted requests. ( fixes #190 )
...
This solution is not elegant but appears to be correct for fixing the issue. A
a more efficient solution might be possible without resetting the connection
which should be further investigated.
Signed-off-by: Jason Volk <jason@zemos.net >
2025-10-16 01:05:16 +00:00
Jason Volk
46c940b863
Refactor sliding window selector. ( fixes #170 )
...
Refactor list filtering.
Signed-off-by: Jason Volk <jason@zemos.net >
2025-10-10 15:56:08 +00:00
Jason Volk
4d8d64f5c7
Add missing wildcard matching for sliding-sync required state.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-10-08 03:33:12 +00:00
Jason Volk
7fee459b1a
Add admin diagnostic query suite for sync state.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-10-08 03:33:12 +00:00
Jason Volk
a6127fcd1a
Provide sync watch rooms as argument rather than assuming all joined rooms.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-10-08 03:33:12 +00:00
Jason Volk
6c724bbc2f
Cleanup/optimize sliding sync types and arguments.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-10-08 03:33:08 +00:00
Jason Volk
b1ea7b101d
Split sliding-sync extensions into units.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-10-06 15:56:49 +00:00
Jason Volk
4baa25f66f
Add presence ping to sliding-sync.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-10-06 15:56:49 +00:00
Jason Volk
227b77e58e
Refactor sliding-sync e2ee extension.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-10-06 15:56:49 +00:00