Commit Graph

52 Commits

Author SHA1 Message Date
Jason Volk
1bd4ab0601 Optimize reference graph container value type for topological_sort.
Optimize initial container capacity estimates.

Signed-off-by: Jason Volk <jason@zemos.net>
2026-02-14 22:44:16 +00:00
Jason Volk
0564f23c96 Clarify doc comment for toplogical_sort.
Signed-off-by: Jason Volk <jason@zemos.net>
2026-02-14 18:59:43 +00:00
Jason Volk
6cd4c1a70b Move state_res topological_sort out of resolve.
Signed-off-by: Jason Volk <jason@zemos.net>
2026-02-14 18:59:43 +00:00
Jason Volk
d904d30a16 Split full_conflicted_set from resolve under separate span.
Signed-off-by: Jason Volk <jason@zemos.net>
2026-02-14 18:59:43 +00:00
Jason Volk
ac89116316 Optimize several container types in state res.
Optimize mainline sort.

Signed-off-by: Jason Volk <jason@zemos.net>
2026-02-06 15:48:57 +00:00
Jason Volk
daa869fced Additional missing tracing spans on state_res::resolve components.
Signed-off-by: Jason Volk <jason@zemos.net>
2026-01-26 20:24:44 +00:00
Jason Volk
23a3e87e93 Fix stale lint expectations.
Signed-off-by: Jason Volk <jason@zemos.net>
2026-01-26 20:24:44 +00:00
dasha_uwu
8000fcce9e Non-reserializing redaction 2026-01-26 19:28:56 +00:00
dasha_uwu
0c9a3abb71 clippy allow -> expect 2026-01-26 19:28:56 +00:00
Jason Volk
a0b98fa575 Misc debug and trace log tweaks.
Signed-off-by: Jason Volk <jason@zemos.net>
2026-01-22 09:31:46 +00:00
June Strawberry
04e66a03d3 fix and enable collapsible_if lint
Signed-off-by: June Strawberry <june@vern.cc>
2026-01-18 13:09:03 -05:00
dasha_uwu
e78bf21085 Introduce OptionFuture helpers
Optimize user directory searches
2026-01-17 06:54:24 +00:00
dasha_uwu
7b2079f714 Check PDU formats 2025-12-18 01:53:09 +00:00
Jason Volk
c9362b8605 Optimize formatted event serializations.
Signed-off-by: Jason Volk <jason@zemos.net>
2025-11-29 12:26:49 +00:00
Jason Volk
f59d62c01c Bump Ruma for CanonicalJson property name optimizations.
Signed-off-by: Jason Volk <jason@zemos.net>
2025-11-02 03:57:11 +00:00
Jason Volk
d2072080c9 Add admin query for remote alias resolve.
Signed-off-by: Jason Volk <jason@zemos.net>
2025-10-27 15:24:17 +00:00
Jason Volk
e191730950 Tracing span adjustments for ret verbosity.
Signed-off-by: Jason Volk <jason@zemos.net>
2025-10-27 15:15:12 +00:00
Jason Volk
eda45e445c Implement better fmt::Debug for pdu::Builder.
Signed-off-by: Jason Volk <jason@zemos.net>
2025-10-02 05:29:48 +00:00
Jason Volk
fed52d24e4 Implement additional Matches for RoomFilter and Filter.
Apply filter for rooms/not_rooms; sender filter for presence.

Signed-off-by: Jason Volk <jason@zemos.net>
2025-10-02 05:29:48 +00:00
Jason Volk
e6c85c97c6 Fix names and types misrepresenting PduCount as ShortEventId.
Add get_shorteventid_from_pdu_id() conversion.

Fix prev/next nearest-state interface (dev branch 642086ecfcfa).

Signed-off-by: Jason Volk <jason@zemos.net>
2025-10-02 05:29:48 +00:00
Jason Volk
83d64e0879 Implement Deserialize for RawPduId for database convenience.
Add room equality convenience on RawPduId.

Signed-off-by: Jason Volk <jason@zemos.net>
2025-10-02 05:27:48 +00:00
Jason Volk
4cae17e83d Fix missing Send bound for Future.
Signed-off-by: Jason Volk <jason@zemos.net>
2025-10-02 05:27:48 +00:00
Jason Volk
89be6dc097 Switch to Criterion for benchtests.
ci: Add benches to workflow.

Signed-off-by: Jason Volk <jason@zemos.net>
2025-10-02 05:27:48 +00:00
Jason Volk
aa37e32471 Optimize Pdu prev_events and auth_events containers.
Signed-off-by: Jason Volk <jason@zemos.net>
2025-09-23 18:16:24 +00:00
Jason Volk
86103183b3 Remove unused utils.
Co-authored-by: dasha_uwu <dasha@linuxping.win>
Signed-off-by: Jason Volk <jason@zemos.net>
2025-09-23 09:02:35 +00:00
dasha_uwu
d5ce4b316f remove unnecessary as_ref 2025-09-23 05:16:29 +00:00
Jason Volk
3a78ba2b16 Support v1/v2 conditions for join/leave, creation and other operations. (#12)
Signed-off-by: Jason Volk <jason@zemos.net>
2025-09-05 05:45:41 +00:00
Jason Volk
13c9385ef7 Add v1/v2 support to gen_event_id() scheme. (#12)
Add v1/v2 and improve reference and content hashing suite. (#12)

Signed-off-by: Jason Volk <jason@zemos.net>
2025-09-05 05:45:41 +00:00
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
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
757d38e891 Optimize expected auth types checking.
Signed-off-by: Jason Volk <jason@zemos.net>
2025-08-29 06:49:04 +00:00
Jason Volk
e354be6830 Simplify Pdu from_id_val constructions.
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
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
3593b8ebf7 Implement Debug for RawPduId.
Signed-off-by: Jason Volk <jason@zemos.net>
2025-07-30 19:09:46 +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
8244d78cb2 Make Event trait Send+Sync.
Signed-off-by: Jason Volk <jason@zemos.net>
2025-07-24 04:07:27 +00:00
Jason Volk
eca01cfb3f Fix useless if let seq.
Signed-off-by: Jason Volk <jason@zemos.net>
2025-07-24 04:07:27 +00:00
Jade Ellis
34abe1cce4 fix: Allow joining via invite for knock_restricted rooms 2025-07-08 23:38:18 +00:00
Jason Volk
0463b962fd Migrate additional names in src/
Signed-off-by: Jason Volk <jason@zemos.net>
2025-05-14 03:18:13 +00:00
Jason Volk
af7dfb31bc Abstract Pdu filter matching into trait Event.
Abstract Pdu unsigned accessors into trait Event.

Abstract Pdu relation related into trait Event.

Abstract PDU content into trait Event.

Move event_id utils from pdu to event.

Signed-off-by: Jason Volk <jason@zemos.net>
2025-05-11 07:02:14 +00:00
Jason Volk
57c519bbb8 Toward abstracting Pdu into trait Event.
Signed-off-by: Jason Volk <jason@zemos.net>
2025-05-11 07:02:14 +00:00
Jade Ellis
10e63c5153 fix: Do not panic on invalid membership event content
Co-authored-by: Jason Volk <jason@zemos.net>
Signed-off-by: Jason Volk <jason@zemos.net>
2025-05-11 07:02:14 +00:00
Jason Volk
b1998dec9a Eliminate associated Id type from trait Event.
Signed-off-by: Jason Volk <jason@zemos.net>
2025-05-11 07:02:14 +00:00
Jason Volk
30c6ea4e64 Eliminate explicit parallel_fetches argument.
Signed-off-by: Jason Volk <jason@zemos.net>
2025-05-11 07:02:14 +00:00
Jason Volk
2ac94d9ce7 Remove unused Pdu::into_any_event().
Signed-off-by: Jason Volk <jason@zemos.net>
2025-05-11 07:02:14 +00:00
Jason Volk
5bcf3550ab attr_fn_like_width to 60
note the default is documented as 70 but this was not being honored by rustfmt

Signed-off-by: Jason Volk <jason@zemos.net>
2025-04-24 02:00:00 +00:00
Jason Volk
76509830e6 chain_width to 50
Signed-off-by: Jason Volk <jason@zemos.net>
2025-04-22 04:42:34 +00:00
Jason Volk
1fd881bda5 eliminate Arc impl for trait Event
Signed-off-by: Jason Volk <jason@zemos.net>
2025-04-13 05:13:00 +00:00