Jason Volk
6a583a359e
Support v1/v2 prev_events/auth_events outgoing federation format. ( #12 )
...
Support v1/v2 prev_events/auth_events when handling outlier pdu. (#12 )
Signed-off-by: Jason Volk <jason@zemos.net >
2025-09-05 05:45:41 +00:00
Jason Volk
eec6e45358
Improve error messages for missing auth event and invalid join validations.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-09-05 05:45:41 +00:00
Jason Volk
aa413ae601
Implement room purge after last local user leaves. ( resolves #83 )
...
Consume a state_lock for room delete call.
Signed-off-by: Jason Volk <jason@zemos.net >
2025-08-30 11:45:32 +00:00
Jason Volk
7c19d1e1ff
Fix unnecessary backfill requests after reaching m.room.create.
...
Cleanup condition.
Signed-off-by: Jason Volk <jason@zemos.net >
2025-08-30 11:45:32 +00:00
Jason Volk
616f20f273
Fix unused lifetims.
...
Fix unused pub(crate).
Allow implicit hasher.
Fix unused self.
Signed-off-by: Jason Volk <jason@zemos.net >
2025-08-30 11:13:14 +00:00
Jason Volk
7bc47e58d0
Add state_cache iteration for local pending invitees to room.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-08-30 10:04:24 +00:00
Jason Volk
12bdfe3b66
Optimize backfill_if_required conditions.
...
Optimize backfill_pdu.
Signed-off-by: Jason Volk <jason@zemos.net >
2025-08-29 06:49:04 +00:00
Jason Volk
9c290bc513
Fix latest key backup determination.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-08-29 06:49:04 +00:00
Jason Volk
757d38e891
Optimize expected auth types checking.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-08-29 06:49:04 +00:00
Jason Volk
4b66911886
Eliminate redundant duplicate auth and matching room check.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-08-29 06:49:04 +00:00
Jason Volk
7977512d5d
Fix additional cases for room_id.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-08-29 02:17:46 +00:00
Jason Volk
f58081838e
Log error for send_join auth_check failure.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-08-29 02:17:46 +00:00
Jason Volk
ce6212b161
Add room_version argument and reorg convert_outgoing_federation_event.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-08-28 23:28:20 +05:00
Jason Volk
0aea56f02a
Optimize OnceServices; simplify init.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-08-28 23:28:20 +05:00
dasha_uwu
d05d3f710f
Room deletion ( fixes #43 )
2025-08-28 23:28:20 +05:00
Jason Volk
7a3496869b
Remove associated pushers on device delete. ( fixes #120 )
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-08-28 23:28:20 +05:00
dasha_uwu
146b72265d
Skip serialization for appservice id
2025-08-28 23:28:20 +05:00
dasha_uwu
8e9c6661b2
Membership refactor
...
Introduce deactivate, membership services
Move membership and user deactivation functions from api crate into those services
2025-08-28 23:28:20 +05:00
dasha_uwu
3dd984eff9
clippy: add must_use attribute
2025-08-28 23:28:20 +05:00
dasha_uwu
bcd4f80149
Move server user presence handling to presence service
2025-08-28 23:28:20 +05:00
dasha_uwu
f51a7b12b5
Make Service.interrupt async
2025-08-28 23:28:20 +05:00
dasha_uwu
3a1649bcaf
Add config option for creating admin room non-federated ( closes #118 )
2025-08-28 23:28:20 +05:00
dasha_uwu
4884c55be7
Split disable_room, ban_room functions
2025-08-28 23:28:13 +05:00
dasha_uwu
b5890b9664
Services refactor
...
Replace structs of Dep<Service> with OnceServices, so each service has a Services reference
Remove service name => Service map
Flatten Services.rooms
Make reqwest Clients lazy initialized (client service)
2025-08-28 23:15:59 +05:00
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
4bb83a1972
Fix version 12 outgoing federation format.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-08-26 02:40:25 +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
dasha_uwu
6a6f77a100
Simplify feature condition.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-08-11 10:24:40 +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
00f11a9e8f
Additional instrumentation around global counter events.
2025-08-06 06:45:43 +00:00
Jason Volk
b00361d274
Add specific shorteventid to shortstatehash query function.
...
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
a0dc37e024
Fetch prev_events concurrently.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-08-04 05:13:06 +00:00
Jason Volk
003257693b
Fetch outlier and auth chains concurrently.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-08-04 00:48:30 +00:00
Jason Volk
4b84e7c31a
Flatten and dedup append_incoming branch in upgrade_outlier.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-08-02 18:00:20 +00:00
Jason Volk
4237f21903
Renames for several event_handler service files, fn's and args.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-08-02 18:00:20 +00:00
Jason Volk
4ac61fd87b
Remove federation_handletime for now.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-08-02 18:00:20 +00:00
Jason Volk
d217927000
Split fetch_outlier; abstract backoff stanzas into fn.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-08-02 18:00:20 +00:00
Jason Volk
4b9b85f671
ABI encapsulations; generate leaf code in pub fn's rather than inling them.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-08-02 18:00:20 +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
5d963abda6
Combine rooms timeline service data unit into mod; eliminate wrappers.
...
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
0d7eeb7766
Extend the append count guards over subsequent operations.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-08-01 09:14:58 +00:00
Jason Volk
0b15ab2006
Ensure unwind safety in dispatch sequence.
...
Ensure await safety/efficiency in retirement sequence.
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
2e0b156de0
Fix missing user account data sync watcher.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-07-30 19:28:16 +00:00
Jason Volk
80015a6a30
Fix missed rustfmt let due to comment in chain.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-07-30 19:09:46 +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
bf12e05dae
Add meta iteration for public rooms.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-07-29 04:18:21 +00:00