timedout
54e89daa46
perf: Don't try to fetch prevs we already fetched
...
graphs are hard
2026-06-27 20:28:56 +01:00
timedout
770343b1c0
fix: Fall back to legacy behaviour when prev events are missed from get_missing_events
2026-06-27 20:28:53 +01:00
timedout
4cf13a8e5a
style: Use more explicit variable names
2026-06-27 20:28:48 +01:00
timedout
b73f34454f
style: Use user_can_send_message
2026-06-27 20:27:44 +01:00
timedout
754f239241
style: Re-use GET_MISSING_EVENTS_MAX_BATCH_SIZE
2026-06-27 20:27:41 +01:00
timedout
8e845235d2
feat: Add !admin debug rooms-by-extremity-count command
2026-06-27 20:27:38 +01:00
timedout
04ffccdeac
chore: Reformat
2026-06-27 20:23:29 +01:00
timedout
447b68e306
fix: Prevent arbitrary state injection attack
2026-06-27 20:23:27 +01:00
timedout
7471141eba
style: Check power levels before attempting to send extremity squashes
...
Solves a problem where the console screams in agony when local users can't send dummy events
2026-06-27 20:23:26 +01:00
timedout
a1fba2218d
perf: Squash weird mutable variable
2026-06-27 20:23:23 +01:00
timedout
22c7fa1b08
style: Fix up some TODOs
2026-06-27 20:23:19 +01:00
timedout
9028b18792
style: Adjust docstrings and dodgy comment
2026-06-27 20:21:43 +01:00
timedout
a5bf0f2bfb
fix: Default PDU content to empty object instead of literal NULL
2026-06-27 20:21:39 +01:00
timedout
2e33760575
fix: un-forget how streams work
2026-06-27 20:21:37 +01:00
timedout
3b8788d5d2
perf: Remove huge clone and tackle TODOs
2026-06-27 20:21:35 +01:00
timedout
00a9ef1c06
feat: Automatically squash extremities when they exceed a threshold
...
Attempts to tackle #1844
2026-06-27 20:21:32 +01:00
timedout
fd0f458978
style: Tidy up
2026-06-27 20:21:30 +01:00
timedout
3ff2797b11
fix: Make fetch_state_ids_from_backfill_servers candidate-free safe
2026-06-27 20:21:28 +01:00
timedout
f0e4f53f03
style: Resolve lint complaints
2026-06-27 20:21:26 +01:00
timedout
2b486e3399
fix: Correctly handle still-missing state, always fetch full state atomically if regular fetch fails
2026-06-27 20:21:23 +01:00
timedout
29b5df8722
fix: Correct inverted boolean condition, add explicit timeout on /state fetch
2026-06-27 20:21:20 +01:00
timedout
ae378bbdb7
perf: Always fetch at least N events per GME
2026-06-27 20:21:18 +01:00
timedout
0e0c7826ab
fix: Correctly pre-populate state events vec with known events
2026-06-27 20:21:15 +01:00
timedout
fa5e0faaf7
fix: Friendly assertations
2026-06-27 20:21:12 +01:00
timedout
b07a5c780c
perf: Don't try to re-persist non-outliers we already have
2026-06-27 20:21:11 +01:00
timedout
13e240ebdb
perf: Don't add trees we already have to latest boundary
2026-06-27 20:21:07 +01:00
timedout
a701b610c5
fix: Be noisy when there's no incoming state
2026-06-27 20:21:04 +01:00
timedout
17af0e54d9
fix: Elide auth chain from fetch_and_handle_outliers
2026-06-27 20:21:01 +01:00
timedout
efb5ee0bf0
fix: Progress log in fetch_prev
2026-06-27 20:20:59 +01:00
timedout
7a681c7c43
fix: Downgrade safe assert to debug assert
2026-06-27 20:20:57 +01:00
timedout
7e87912177
fix: Don't download the world
2026-06-27 20:20:55 +01:00
timedout
e76881d64a
feat: Make logging more verbose to diagnose the aranjesplosion
2026-06-27 20:20:51 +01:00
timedout
ad98dca8c2
feat: Include timing information in debug logs
2026-06-27 20:16:53 +01:00
timedout
1fc7c033cb
fix: Don't treat prev outlier upgrades as fetch failures
2026-06-27 20:16:50 +01:00
timedout
8d4a313657
fix: Ask more servers for state_ids when origin fails to provide
...
Some servers reference events in prev_events that they might not yet have finished processing, so this allows us to at least attempt to get the state from another trustworthy server in the room that might be faster. I don't think this is too effective, however it's more effective than giving up immediately.
2026-06-27 20:16:48 +01:00
timedout
3a7259250b
fix: Remove redundant check 2
...
This may look scary, but this is safe because event auth performs the same check, and will reject the event if it doesn't reference the create event correctly.
2026-06-27 20:16:46 +01:00
timedout
9292f16cd7
fix: Remove redundant check that accidentally banned everyone
2026-06-27 20:16:44 +01:00
timedout
95473f4c24
fix: Make PDU handle errors noisier & correct error types
2026-06-27 20:16:41 +01:00
timedout
6d606d9277
fix: Make dedupe noisy, don't allow non-create event as create event
2026-06-27 20:13:30 +01:00
timedout
d1baaaab48
fix: Don't silence PDU handle logs
2026-06-27 20:13:27 +01:00
timedout
921a83825a
style: Rename gapfill helpers instruments
2026-06-27 20:13:25 +01:00
timedout
4e3b3d133d
fix: Properly remove event_id from the PDU JSON before upgrading it
2026-06-27 20:13:22 +01:00
timedout
a9376b3b04
fix: Hold a federation room lock while remotely joining a room
2026-06-27 20:13:20 +01:00
timedout
f7025af97e
fix: Replace our local extremity tracking when joining a disconnected room remotely
2026-06-27 20:13:18 +01:00
timedout
a3544ba01f
fix: Don't try and fetch zero events
2026-06-27 20:13:15 +01:00
timedout
c6acbf5440
fix: Fall back to atomic fetch when full-state fetch fails
2026-06-27 20:13:12 +01:00
timedout
ba5beac7fc
fix: Remove short-term memory loss
...
I keep writing forgetful code, it's a problem
2026-06-27 20:13:11 +01:00
timedout
4b8cf7fb25
fix: Don't try to fetch the same event endlessly
2026-06-27 20:13:08 +01:00
timedout
dc966804e6
fix: Don't repeat already-included metadata in fetch_state instrument
2026-06-27 20:13:06 +01:00
timedout
98c1a466fd
feat: Enhance reliability by fetching full state when we're missing a lot of auth events
2026-06-27 20:13:03 +01:00