317 Commits

Author SHA1 Message Date
871babd870 u
Some checks failed
Dependencies / Bans, Licenses, Sources (push) Has been cancelled
Dependencies / Advisories (push) Has been cancelled
2025-03-09 12:32:26 +08:00
693f09cdb8 v 2025-03-09 12:18:20 +08:00
3db65c39fd u 2025-03-09 09:38:01 +08:00
c8e4008e21 u 2025-03-09 09:36:46 +08:00
8635b434cd t 2025-03-09 09:34:08 +08:00
Jason Volk
7da56bf7f4 fix some tests
Signed-off-by: Jason Volk <jason@zemos.net>
2025-02-05 11:26:08 +00:00
Jason Volk
ac37db212a fix lints
Signed-off-by: Jason Volk <jason@zemos.net>
2025-01-01 22:20:39 +00:00
Jason Volk
d3ed3194eb replace constant with function parameter for io-parallelism
Signed-off-by: Jason Volk <jason@zemos.net>
2024-12-24 13:52:53 +00:00
Jason Volk
307186ebdc optimize IO for iterative_auth_check and get_power_level_for_sender
Signed-off-by: Jason Volk <jason@zemos.net>
2024-12-24 13:52:53 +00:00
Jason Volk
1a550585bf state-res: parallelize fetches within some loops
Signed-off-by: Jason Volk <jason@zemos.net>
2024-12-03 23:56:43 +00:00
Jason Volk
9c84a3be3e state-res: fetch event_auth state events in parallel
Signed-off-by: Jason Volk <jason@zemos.net>
2024-12-03 23:05:10 +00:00
Jason Volk
c1f5f3f20b optimize PL deserialization
add generalized map_as_vec deserializer

Signed-off-by: Jason Volk <jason@zemos.net>
2024-12-03 13:43:30 +00:00
Kévin Commaille
13a546056e chore: Remove unnecessary lifetimes 2024-11-29 17:45:04 -05:00
Charles Hall
bab06ed375 stateres: make separate O(n) instead of O(n^2)
This way my poor CPU only has to do ~600,000 iterations to resolve
Matrix HQ from scratch. The old algorithm required ~85,000,000,000.

As a treat, we can also drop the dependency on itertools.
2024-11-29 17:43:43 -05:00
Charles Hall
3a2ee354fc stateres: add tests for separate fn
This function has terrible perf so I want to try improving it, but I
need some examples to test against to make sure I don't break anything.
2024-11-29 17:36:48 -05:00
Charles Hall
e31b9dd3a4 state-res: refactor tiebreaking logic for clarity 2024-11-29 17:35:08 -05:00
strawberry
97e2fb6df1
state-res: fix allow knock -> leave on same state_key and sender
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-11-20 22:57:53 -05:00
strawberry
d1f635764e
state-res: fix incorrect knock join_rule checks
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-11-20 19:34:39 -05:00
strawberry
8c323cf6e6 clarify confusing knock event auth warning
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-11-19 19:07:47 -05:00
Charles Hall
aff5d8532f state-res: improve tracing spans and events
slight modifications, mainly just restricting these to
debug log level to prevent incurring the overhead of
the instruments, and tiny adjustments for async state res

Co-authored-by: strawberry <strawberry@puppygock.gay>
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-11-19 19:07:42 -05:00
strawberry
cf31b8798f add more missing unspecced r0 endpoints, fix silly upload_signatures struct
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-11-19 19:00:37 -05:00
Jason Volk
f674006487 state-res: update benches for async
Signed-off-by: Jason Volk <jason@zemos.net>
2024-11-10 21:03:40 +00:00
Jason Volk
4546be5c8e state-res: fix changed Signatures type in bench code
Signed-off-by: Jason Volk <jason@zemos.net>
2024-11-10 20:38:13 +00:00
Kévin Commaille
f87f388280 events: Use Signatures in more places 2024-11-08 13:13:37 -05:00
Charles Hall
c3fb396352 state-res: improve tracing spans and events
* Make use of tracing's structured logging features
* Change some wording to align with the spec
2024-11-07 18:52:02 -05:00
Charles Hall
35e459d86e state-res: fix tiebreaking comparisons
`node` needs to be swapped with `parent` here, otherwise the
`power_level` and `age` in a `TieBreaker` inserted on the following line
are always equal, because both sides are the values for `node` rather
than a different value of `parent` on each iteration, and so the only
thing that could possibly be different is the `event_id` because that's
correctly set to `parent`. This is why I was observing tiebreaks always
being sorted by `event_id` and experiencing incorrectly resolved states.
2024-11-07 18:42:10 -05:00
strawberry
0738b7f72d Merge remote-tracking branch 'upstream/main' into conduwuit-changes
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-10-01 10:46:37 -04:00
Jonas Platte
9f8cdecae6
Upgrade outdated dependencies 2024-09-29 10:42:39 +02:00
Jason Volk
e7db44989d async state-res
Signed-off-by: Jason Volk <jason@zemos.net>
2024-09-24 22:58:36 +00:00
Jason Volk
d8d9d2030d Make state_res interface iterators +Send
Signed-off-by: Jason Volk <jason@zemos.net>
2024-09-21 00:46:57 +00:00
Jason Volk
5873bbd53e Make state-res Error +Send
Signed-off-by: Jason Volk <jason@zemos.net>
2024-09-21 00:37:55 +00:00
strawberry
b6f82a72b6 Merge remote-tracking branch 'upstream/main' into conduwuit-changes 2024-09-13 16:35:24 -04:00
Jonas Platte
1a138ed6c9 Use workspace lint configuration instead of rustflags hack 2024-09-11 07:13:32 +00:00
strawberry
69b2bc4b8c Merge remote-tracking branch 'upstream/main' into conduwuit-changes 2024-08-14 01:47:43 -04:00
Kévin Commaille
9e8008f011 chore: Make rand a workspace dependency 2024-07-16 15:02:45 +02:00
strawberry
9e29e07ae1 Merge remote-tracking branch 'upstream/main' into conduwuit-changes 2024-05-09 11:29:29 -04:00
Kévin Commaille
8ed8267e5d
Release ruma-state-res 0.11.0 2024-05-09 13:09:14 +02:00
strawberry
e6e8462c05 Merge remote-tracking branch 'upstream/main' into conduwuit-changes 2024-05-06 12:21:06 -04:00
Matthias Ahouansou
8ecbc47e55 state-res: perform extra redaction checks for v1 and v2 rooms rather than v3+ 2024-05-06 14:56:09 +02:00
strawberry
b10df150a2 Merge remote-tracking branch 'upstream/main' into conduwuit-changes 2024-05-01 15:25:44 -04:00
Jonas Platte
b6200c01a1
Upgrade itertools from 0.11 to 0.12 2024-04-28 22:53:03 +02:00
Jason Volk
37ffec73c9 state-res: downgrade info! log messages to debug!
Signed-off-by: Jason Volk <jason@zemos.net>
2024-04-16 03:21:44 -07:00
Jonas Platte
4a02b97aa3
Update website URL 2024-04-04 13:20:58 +02:00
Kévin Commaille
a8f1440698 state-res: Refactor Knock membership transition 2024-03-05 10:43:52 +01:00
Kévin Commaille
812625fab4 state-res: Disallow invite->knock membership transition
Due to a spec clarification that reverts the previous spec clarification
2024-02-28 10:34:52 +01:00
Kévin Commaille
05c88d6afc state-res: Fix new clippy warnings 2024-02-14 13:07:21 +01:00
Jonas Platte
e658b8b128
Remove 'www.' from ruma.io URLs 2023-10-12 15:44:00 +02:00
Jonas Platte
2600e4c0df
Release ruma-state-res 0.10.0 2023-10-05 17:18:04 +02:00
Jonas Platte
984cbda962
identifiers: Don't require room IDs to contain a server name
Room IDs being splittable into localpart and servername does not have
much inherent value and there are proposals like MSC4051¹ that propose
changing the format. Relaxing the rules makes Ruma forwards-compatible
with those proposals. The server_name accessor is kept because it is
used by at least one downstream, but is updated to return an `Option`.

¹ https://github.com/matrix-org/matrix-spec-proposals/pull/4051
2023-09-28 16:43:16 +02:00
Jonas Platte
31331f3165
Bring back ruma-events
Co-authored-by: Kévin Commaille <zecakeh@tedomum.fr>
2023-08-28 10:23:54 +02:00