Jason Volk
3430d4ac86
Improved solution to current_shortstatehash > next_batch. ( 59b62b1)
...
`current_shortstatehash` is now calculated from timeline which is already
upper-bound by the `next_batch` snapshot. Previously `current_shortstatehash`
was truly current and had to be disallowed from exceeding `next_batch` by
ignoring the room during sync until a future pass when these values finally
met that condition.
Signed-off-by: Jason Volk <jason@zemos.net >
2025-08-27 00:41:12 +00:00
Jason Volk
3e2f2fbffa
Bump Ruma post-hydra.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-08-27 00:41:12 +00:00
Jason Volk
628597c318
State-reset and security mitigations.
...
Upgrade Ruma to present.
The following are intentionally benign for activation in a later commit:
- Hydra backports not default.
- Room version 12 not default.
- Room version 12 not listed as stable.
Do not enable them manually or you can brick your database.
Signed-off-by: Jason Volk <jason@zemos.net >
2025-08-11 18:45:28 +00:00
Jason Volk
2c6dd78502
Reduce log level on router::args returned error.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-08-11 11:32:53 +00:00
Jason Volk
a3666fe672
Use member profile rather than global profile for joined_members ( fixes #121 )
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-08-10 23:52:03 +00:00
Jason Volk
d7e5c0ccf3
Optimize spaces pageload; pipeline outer loop.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-08-07 03:16:32 +00:00
Jason Volk
e106e50ed0
Update the since token to skip empty range from prior iteration.
...
Log and discard presence ping errors without preventing sync.
Signed-off-by: Jason Volk <jason@zemos.net >
2025-08-06 08:06:39 +00:00
Jason Volk
8a8a5d598e
Fix sync loop watcher ABA.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-08-05 10:51:56 +00:00
Jason Volk
c337ea1864
Fixes for sync v3 protocol compliance.
...
Add sync v3 filter support.
Fix events duplicated between state and timeline; cleanup some lets.
Signed-off-by: Jason Volk <jason@zemos.net >
2025-08-04 18:55:37 +00:00
Jason Volk
fb17aa19bf
Add configs for creating the admin room and granting first user.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-08-04 18:55:37 +00:00
Jason Volk
44b60050b3
Reorder auth match cases; add todo for AppserviceTokenOptional.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-08-02 22:02:26 +00:00
Jason Volk
fa3b72947a
Eliminate rooms outlier service, duplicate subset of timeline service.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-08-02 18:00:20 +00:00
Jason Volk
1664a2c225
Implement refresh-tokens. ( resolves #50 )
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-08-01 09:14:58 +00:00
Jason Volk
e6f1b98d6a
Improve tracing of request error responses.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-07-31 14:31:28 +00:00
Jason Volk
6742e1d206
Sort misc cargo list entries, database maps.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-07-31 07:02:59 +00:00
Jason Volk
dc0976a2e5
Respond with 403 instead of 404 for non-existing user.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-07-31 07:02:59 +00:00
Jason Volk
bd0c3e33e2
Loop syncv3 for robust response without re-request overhead.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-07-30 23:34:21 +00:00
Jason Volk
1bb16c8b73
Additional span logging of counter state; trace logging of contents.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-07-30 23:34:21 +00:00
Jason Volk
59b62b1453
Fix partial v3 syncs on post-timeout pass; fix partial state on room join.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-07-30 23:34:21 +00:00
Jason Volk
95e49d3cb8
Fix map_or calling function.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-07-30 19:09:46 +00:00
Jason Volk
25164e030d
Hide own user from user directory search results.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-07-30 19:09:46 +00:00
Jason Volk
df7cd58618
Support matching room_id as publicrooms search term.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-07-29 04:18:21 +00:00
Jason Volk
ce25d79e66
Flatten authorised-join check queries.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-07-29 04:18:21 +00:00
Jason Volk
71ef093edc
Unbox and pin various either-or futures.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-07-29 04:18:21 +00:00
Jason Volk
066097a83d
Optimize user and appservice token queries.
...
Split/cleanup api::router auth delegator.
Signed-off-by: Jason Volk <jason@zemos.net >
2025-07-29 04:18:20 +00:00
Jason Volk
e9d0baa32e
Add granular timeout configs for sync longpolling.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-07-27 11:34:15 +00:00
Jason Volk
29ac62ec27
Fix zero since-token value not used as initial sync condition.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-07-27 11:03:12 +00:00
Jason Volk
8c8985e8f2
Add user_id to v3 sync span; add span for sync token association.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-07-27 11:03:12 +00:00
Jason Volk
730920b571
Collect v5 typing events concurrent with other extensions.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-07-27 07:04:10 +00:00
Jason Volk
66334bdd53
Move syncv3 typings event for user.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-07-27 07:04:10 +00:00
Jason Volk
4c35bfbda4
Fix M_UNKNOWN error which should be M_BAD_ALIAS.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-07-26 07:29:30 +00:00
Jason Volk
ba51748ad3
Add missing upper-bounded calls; improve snake-sync windowing.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-07-26 05:52:30 +00:00
Jason Volk
63dfe8f7e3
Add upper-bound for presence_since().
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-07-26 05:36:19 +00:00
Jason Volk
c6836e51b2
Add upper-bound to readreceipts_since() and callsites.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-07-26 04:44:09 +00:00
Jason Volk
33a9fce828
dedup room directory banned server check.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-07-26 02:26:09 +00:00
Jason Volk
e09a2c0e0f
Window sync ranges below any partially completed writes.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-07-25 21:55:37 +00:00
Jason Volk
992abfab8f
Separate cached body from request body in snake-sync; cleanup.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-07-25 21:55:37 +00:00
Jason Volk
85a84f93c7
Fix misinterpretation of filter.room.include_leave in sync v3.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-07-25 21:55:37 +00:00
Jason Volk
0d439188e8
Fix sequence windowing for sync v3 invite/leave/knock rooms.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-07-25 20:07:21 +00:00
Jason Volk
0fcb072239
Refactor counter increment sites for TwoPhaseCounter.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-07-25 10:32:52 +00:00
Jason Volk
23c75855ba
Split api/client/register from api/client/account suite.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-07-24 23:13:01 +00:00
Jason Volk
c9adee86f5
Unify calculate_state_changes in syncv3
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-07-24 22:17:30 +00:00
Jason Volk
3c47516c85
Pipeline private read receipt fetch; cleanup tuples syncv3.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-07-24 22:17:30 +00:00
Jason Volk
299d3230a1
Optimize typing event collection.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-07-24 22:17:30 +00:00
Tyler Mayoff
9ea8fbc482
Add typing indicators to sync v5.
...
Co-authored-by: Jade Ellis <jade@ellis.link >
2025-07-24 22:17:30 +00:00
Jason Volk
190269f616
Simplify Pdu Hashes struct.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-07-24 04:07:28 +00:00
Jason Volk
2a627baa96
Fix excessive nesting.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-07-24 04:07:27 +00:00
Jason Volk
18f8d6c65c
Rebox future segmentations.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-07-24 04:07:27 +00:00
Jason Volk
c8d35cca57
Refactor to async closures.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-07-24 04:07:27 +00:00
Jason Volk
cca0f20148
Replace several expects with error coercions.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-07-24 04:07:27 +00:00