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
timedout
bcccb4373f
fix: Calculate max iterations dynamically, and bump max prevs
2026-06-27 20:10:20 +01:00
timedout
049e2f6287
perf(wip): Improve individual events fetcher
2026-06-27 20:10:17 +01:00
timedout
b619eae9ef
fix: Don't lie about using already-known content
2026-06-27 19:49:47 +01:00
timedout
4b673692f6
fix: Be smarter when re-receiving already-seen PDUs
2026-06-27 19:49:44 +01:00
timedout
9633a37421
perf: Don't re-process events as outliers
2026-06-27 19:49:41 +01:00
timedout
d090f5d769
style: Improve logging
2026-06-27 19:49:38 +01:00
timedout
51d7a82aa3
fix: Lower floor for min depth
2026-06-27 19:49:35 +01:00
timedout
d2c183baeb
fix: Only increment mindepth on state events
2026-06-27 19:49:33 +01:00
timedout
b63eaa81d4
chore: Add newsfrag
2026-06-27 19:49:29 +01:00
timedout
94db17b53a
feat: Keep track of a min_depth value
...
Should prevent weird situations where we accidentally gapfill into backfill territory
2026-06-27 19:49:27 +01:00
timedout
ab5202677b
perf: Increase default max_fetch_prev_events to 256
2026-06-27 19:40:07 +01:00
timedout
469c1b2ed7
perf: Make max gap depth fetch configurable
2026-06-27 19:40:05 +01:00
timedout
1b5e1e9886
perf: Improve gap filling, handle missing auth events better
2026-06-27 19:40:02 +01:00
timedout
d8d7f863e5
fix: This is some bullshit I tell you
2026-06-27 19:22:08 +01:00
timedout
e8fee00df6
feat: Better prev event fetching
...
fix: Don't panic in debug mode when making an empty notary query
2026-06-27 19:14:19 +01:00