timedout
62e0b53f52
feat: Prioritise sending dummy events when the extremity count reaches 20 or more
2026-07-01 19:15:35 +01:00
timedout
9b80a99aa7
style: De-duplicate build_local_dag definitions, replace outdated comment on unwrap safety
2026-07-01 19:15:22 +01:00
timedout
bd525c100f
style: Re-use room_id parameter instead of potentially recalculating
2026-07-01 16:31:59 +01:00
timedout
e6225f3265
fix: Use infallible room ID getter
2026-07-01 16:13:55 +01:00
Charlotte 🦝 Deleńkec
54c94ca9ad
fix(appservice): Re-add room membership conditions for event sending
...
They accidentally got removed in a recent refactor
Fixes #1890
2026-07-01 10:20:57 +01:00
timedout
19a83c6891
style: Add docstrings to squasher functions
2026-06-29 18:37:04 +01:00
timedout
2bfd678c71
feat: Add jitter to extremity squasher
2026-06-29 18:29:04 +01:00
timedout
e936d18324
feat: Don't panic in build_local_dag
...
Previously the function assumed the caller had performed proper validation on the inputs (and all current callers do), but this is a poor reason to panic when sane error handling is available.
Events with no prev events now return an error, and prev events which are illegal are simply skipped.
2026-06-29 18:12:16 +01:00
timedout
90797fa3cd
fix: Avoid string roundtrip when fetching timestamps in build_local_dag
2026-06-29 17:44:13 +01:00
Jade Ellis
5199cde870
feat: Allow sending dummy events to clients
2026-06-28 03:44:23 +01:00
Jade Ellis
b6bc7dfc16
feat: Debounce extremity squashing
...
Additionaly circuit-breaks it if the squash would have only
b triggered by dummy events / other squashes
2026-06-28 01:29:52 +01:00
Jade Ellis
945ea5a78a
chore: Box large futures
2026-06-28 01:29:52 +01:00
timedout
d719fe2048
chore: Merge origin/main into nex/perf/get-missing-events
2026-06-28 01:29:23 +01:00
timedout
124241238e
refactor: Rename "synapse"-related federation methods to "slow"
...
I won't even comment on how stupid that naming was.
2026-06-27 18:37:33 +01:00
timedout
967e2cc54f
refactor: Split the users service into several modules
...
Also resolvers several lints, including needless async on create_user
2026-06-27 18:37:33 +01:00
timedout
77dab8fd20
style: Document & refactor rooms/alias service
2026-06-27 18:36:44 +01:00
timedout
10b5ca8e3a
style: Document & refactor rooms/directory service
2026-06-27 18:36:44 +01:00
timedout
f9eed42cb7
style: Document & refactor rooms/directory service
2026-06-27 18:36:44 +01:00
timedout
19f4c24c00
style: Document & refactor rooms/event_handler service
2026-06-27 18:36:44 +01:00
timedout
0a162b7bc4
style: Document & refactor rooms/lazy_loading service
2026-06-27 18:36:44 +01:00
timedout
0d1b130127
style: Document & refactor rooms/metadata service
2026-06-27 18:36:44 +01:00
timedout
5e0e82e7e8
style: Document & refactor rooms/outlier service
2026-06-27 18:36:44 +01:00
timedout
4bf0816bcc
style: Document & refactor rooms/search service
2026-06-27 18:36:44 +01:00
timedout
ecbe035b36
style: Document & refactor rooms/short service
2026-06-27 18:36:44 +01:00
timedout
4d30ee5d33
style: Document & refactor rooms/state_accessor service
2026-06-27 18:36:44 +01:00
timedout
4844c6ae3e
style: Document & refactor rooms/state_cache service
2026-06-27 18:36:44 +01:00
timedout
6603798d60
style: Document & refactor rooms/state_compressor service
2026-06-27 18:36:44 +01:00
timedout
199f6eb67b
style: Document & refactor rooms/user and rooms/timeline services
2026-06-27 18:36:44 +01:00
timedout
3b6858e936
perf: Throttle dummy events to prevent stampeding
2026-06-23 15:26:28 +01:00
timedout
7ca00e4ab9
chore: Drop unused param from handle_outlier_pdu
2026-06-20 17:08:00 +01:00
timedout
b8ca06029f
perf: Use a hashmap for full-state filtering
2026-06-20 17:08:00 +01:00
timedout
2efe8f2ec0
fix: Inverted power level check in extremity squash
2026-06-20 17:08:00 +01:00
timedout
d1aa911739
fix: Rename variables in auth event fetcher
...
Also fixes a couple bugs where events were being misattributed
2026-06-20 17:08:00 +01:00
timedout
4673282ca1
perf: Don't try to fetch prevs we already fetched
...
graphs are hard
2026-06-20 17:08:00 +01:00
timedout
0c03195aec
fix: Fall back to legacy behaviour when prev events are missed from get_missing_events
2026-06-20 17:08:00 +01:00
timedout
439bc2784d
style: Use more explicit variable names
2026-06-20 17:08:00 +01:00
timedout
689a1ce59b
style: Use user_can_send_message
2026-06-20 17:08:00 +01:00
timedout
c141503ccb
style: Re-use GET_MISSING_EVENTS_MAX_BATCH_SIZE
2026-06-20 17:08:00 +01:00
timedout
bcadecdc3b
feat: Add !admin debug rooms-by-extremity-count command
2026-06-20 17:08:00 +01:00
timedout
ab3be337cb
chore: Reformat
2026-06-20 17:08:00 +01:00
timedout
aa1281a9e0
fix: Prevent arbitrary state injection attack
2026-06-20 17:08:00 +01:00
timedout
115a2e802e
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-20 17:08:00 +01:00
timedout
968328d788
perf: Squash weird mutable variable
2026-06-20 17:08:00 +01:00
timedout
f1cde5f323
style: Fix up some TODOs
2026-06-20 17:08:00 +01:00
timedout
832ee8650b
style: Adjust docstrings and dodgy comment
2026-06-20 17:08:00 +01:00
timedout
ddb4ef539f
fix: un-forget how streams work
2026-06-20 17:08:00 +01:00
timedout
3faedc4581
perf: Remove huge clone and tackle TODOs
2026-06-20 17:08:00 +01:00
timedout
a3544353ba
feat: Automatically squash extremities when they exceed a threshold
...
Attempts to tackle #1844
2026-06-20 17:08:00 +01:00
timedout
b0612397d3
style: Tidy up
2026-06-20 17:08:00 +01:00
timedout
31737e127e
fix: Make fetch_state_ids_from_backfill_servers candidate-free safe
2026-06-20 17:08:00 +01:00