Commit Graph
7096 Commits
Author SHA1 Message Date
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
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