159 Commits

Author SHA1 Message Date
Jonas Platte
1e19de9579
state-res: Return borrows from Event::{prev_events, auth_events} 2021-09-13 19:02:35 +02:00
Jonas Platte
34a10b87c5
state-res: Return borrows from Event::{event_type, state_key} 2021-09-13 19:02:35 +02:00
Jonas Platte
660cd97962
state-res: Remove todo comment
EventId has the same ordering as str.
2021-09-13 19:02:35 +02:00
Jonas Platte
91e6a1c65c
state-res: Use HashSet::retain 2021-09-13 19:02:35 +02:00
Jonas Platte
1a4b7903b8
state-res: Replace if let with match 2021-09-13 19:02:35 +02:00
Jonas Platte
324fb58a62
state-res: Simplify get_auth_chain_diff signature
It never returned Err(_), so the return type shouldn't be Result<_>.
2021-09-13 19:02:35 +02:00
Jonas Platte
290c61820b
state-res: Remove unused function parameters 2021-09-13 19:02:35 +02:00
Jonas Platte
17ffade52b
state-res: Use named fields instead of multiline messages for tracing events 2021-09-13 19:02:35 +02:00
Jonas Platte
43c8df18ad
state-res: Use match instead of repeatedly comparing the same variable 2021-09-13 19:02:34 +02:00
Jonas Platte
b4c22d5783
state-res: Further simplify valid_membership_change 2021-09-13 19:02:34 +02:00
Jonas Platte
22cee51e1a
state-res: Replace two uses of map_or with simpler match 2021-09-13 19:02:34 +02:00
Jonas Platte
d1fa58abb2
state-res: Make logic a bit easier to read 2021-09-13 19:02:34 +02:00
Jonas Platte
d8637d3b30
state-res: Replace map_or_else with simpler alternatives 2021-09-13 19:02:34 +02:00
Jonas Platte
4d0064330a
state-res: Inline get_named_level 2021-09-13 19:02:34 +02:00
Jonas Platte
8b4d019861
state-res: More fetch_state deduplication 2021-09-13 19:02:34 +02:00
Jonas Platte
f9f4106757
state-res: Don't call .to_string() for server name comparison 2021-09-13 19:02:34 +02:00
Jonas Platte
7f4eba5a5c
state-res: Inline get_user_power_level 2021-09-13 19:02:34 +02:00
Jonas Platte
4259e9ec0c
state-res: Deduplicate a few redundant function calls 2021-09-13 19:02:34 +02:00
Jonas Platte
f00b4a0984
state-res: Remove fetch_state parameter from a few more functions 2021-09-13 19:02:34 +02:00
Jonas Platte
4bba58d781
state-res: Move more fetch_state calls into auth_check (from sub-functions) 2021-09-13 19:02:34 +02:00
Jonas Platte
a6377067cd
state-res: Don't turn Int into i64 internally 2021-09-13 19:02:34 +02:00
Jonas Platte
b0d475eac3
state-res: Inline can_send_invite 2021-09-13 19:02:34 +02:00
Jonas Platte
983ce8451f
state-res: Inline check_event_sender_in_room 2021-09-13 19:02:34 +02:00
Jonas Platte
359a0cb125
state-res: Don't pass fetch_state to valid_membership_change 2021-09-13 19:02:34 +02:00
Jonas Platte
0a93780e83
state-res: Move tests/utils.rs to src/test_utils.rs 2021-09-13 19:02:34 +02:00
Jonas Platte
6b1f027b88
state-res: Raise an error (don't panic) on invalid power-levels event 2021-09-13 19:02:34 +02:00
Jonas Platte
40f99cb364
state-res: Update verify_third_party_invite signature
Use &UserId instead of &str.
2021-09-13 19:02:34 +02:00
Jonas Platte
76fa15f248
state-res: Rename Event::kind to event_type 2021-09-13 19:02:33 +02:00
Jonas Platte
a56814a4f4
state-res: Fix up doc comments 2021-09-13 19:02:33 +02:00
Jonas Platte
4bea59caef
state-res: Remove StateResolution type
… making its associated functions free instead.
2021-09-13 19:02:33 +02:00
Jonas Platte
cc9336e444
state-res: Take ownership of events to sort in reverse_topological_power_sort
Avoids clones.
2021-09-13 19:02:33 +02:00
Jonas Platte
ebd812bcda
Add missing semicolons 2021-09-13 19:02:33 +02:00
Jonas Platte
815fd19a33
state-res: Remove pointless shifting around of Vec elements 2021-08-31 20:40:36 +02:00
Jonas Platte
9c5b2e3d8c
state-res: Only depend on maplit for tests / benches 2021-08-31 19:19:17 +02:00
Jonas Platte
a3707b1a3a
state-res: Remove pointless .unwrap() 2021-08-31 19:02:03 +02:00
Devin Ragotzy
886c33eac3
state-res: Use fetch state closure instead of auth_chain 2021-08-26 12:29:33 +02:00
Devin Ragotzy
b7d0970335
state-res: Remove dead code and stale comments 2021-08-10 15:22:47 +02:00
Devin Ragotzy
318f3186ad
state-res: Replace unwraps with expect or errors 2021-08-10 15:22:47 +02:00
Devin Ragotzy
01515aea41
state-res: Fix clippy warnings 2021-08-10 15:22:47 +02:00
Timo Kösters
e31b4d5c98
state-res: Add more information to warnings 2021-08-10 15:22:47 +02:00
Timo Kösters
3a0ee7740f
state-res: Change BTreeMap/Set to HashMap/Set 2021-08-10 15:22:47 +02:00
Timo Kösters
d970501c85
state-res: Revert calculating the auth chain in ruma
In a previous commit I moved the auth chain calculation code to ruma
because I thought I could optimize it by only taking auth chains from
conflicted events instead of all events. It turned out that was wrong
and now I removed that algorithm again (the full auth chains are now
passed in as an argument to state_res::resolve again).
2021-08-10 15:22:47 +02:00
Timo Kösters
17afbabd92
state-res: Calculate auth_events and fix bug when calculating common events 2021-08-10 15:22:46 +02:00
Devin Ragotzy
b8c54d8e2b
state-res: Pass fetch_event closure as owned F not &F 2021-08-10 15:22:46 +02:00
Devin Ragotzy
c55dab7122
misc-errors: Allow or make error enums non_exhaustive 2021-08-10 15:22:26 +02:00
Devin Ragotzy
dc7e0091f6
state-res: Make some room_version enums non_exhaustive 2021-08-10 15:22:26 +02:00
Devin Ragotzy
a4e6cc7c42
state-res: Use closure to fetch unknown events during state-res
state-res: Remove event_map arg from all functions

state-res: Remove get_or_load_event helper func and fix resolve docs
2021-08-10 15:22:26 +02:00
Jonas Platte
4dfaad104b
Enable clippy lint str_to_string 2021-07-02 23:02:50 +02:00
Devin Ragotzy
fae5385753 state-res: Make all pub structs non_exhaustive 2021-06-18 20:53:06 +02:00
Jonas Platte
e622803679
Use bool::then to simplify some code 2021-06-17 19:43:22 +02:00