Commit Graph
266 Commits
Author SHA1 Message Date
timedout 286897de88 feat: Don't send unsigned data over federation 2026-09-27 17:32:46 +01:00
Jade Ellis 71e101a4dc style: Run formatting 2026-09-11 15:54:42 +01:00
Erwan Leboucher 9d7c8be390 fix(sender): Only claim a destination when the send is allowed 2026-09-11 14:17:45 +00:00
Ginger 9fbabe2210 chore: Reformat with latest nightly 2026-09-01 12:55:05 -04:00
timedout 6129f7f87a fix: Don't insert a status at all if we're in backoff 2026-08-26 13:24:19 +01:00
Ginger eadcea8034 chore: Clippy fixes 2026-08-25 12:37:13 -04:00
Renovate BotandGinger 746a2686e3 chore(deps): Update ruma digest to 83d80c8
Co-authored-by: Ginger <ginger@gingershaped.computer>
2026-08-25 13:53:39 +00:00
timedout f1a77e0404 fix: Address review comments 2026-08-20 00:57:11 +00:00
timedout 9af60bcf62 feat: Lower default backoff base for a gentler backoff curve 2026-08-20 00:57:11 +00:00
timedout b73b3532f2 fix: Don't set retrying status when retrying is illegal 2026-08-20 00:57:11 +00:00
timedout 7352edc6e4 fix: Treat any non-ok response as a server error in sender
Otherwise we never back off sending failed requests
2026-08-20 00:57:11 +00:00
timedout a916fdf09a fix: Mark even more error codes as stale based on observed data 2026-08-20 00:57:11 +00:00
timedout 768933b025 fix: Don't stop tracking servers when there's nothing more to send despite being inflight 2026-08-20 00:57:11 +00:00
timedout 46f0483395 fix: Correctly insert running status only if the sender should attempt to send 2026-08-20 00:57:11 +00:00
timedout f7773760a6 fix(sender): Don't attempt to send concurrent transactions to a remote 2026-08-20 00:57:11 +00:00
timedout 6104c68768 style: Centralise decision for stale marker 2026-08-20 00:57:11 +00:00
timedout ef5bf7c977 feat: Clear destinations cache when a remote is potentially stale 2026-08-20 00:57:11 +00:00
timedout 2d713c1631 feat: Use an explicit backoff base value 2026-08-20 00:57:11 +00:00
timedout 79c9f7da30 chore: Tidy up backoff helper code 2026-08-20 00:57:11 +00:00
timedout bc1826de66 feat: Hook transaction senders into health tracking 2026-08-20 00:57:11 +00:00
timedout e1866df682 feat: Trace why remotes get health marked 2026-08-20 00:57:11 +00:00
timedout 785db0bdba chore: Move health tracking to federation service
Otherwise federation would have to depend on sender
2026-08-20 00:57:11 +00:00
timedout 6ae66eed1b feat: Mark servers as online/offline based on transaction responses 2026-08-20 00:57:11 +00:00
timedout 0c8b51c0f4 feat: Add server health tracking 2026-08-20 00:57:11 +00:00
timedout 98bc859023 fix: Actually default to core count for sender_workers
Closes #2092
2026-08-03 14:18:32 +01:00
Erwan Leboucher 43197f695c feat(sync): Add MSC4354 sticky events 2026-08-02 17:28:00 +00:00
Erwan Leboucher 8481efb482 chore(deps): Update Ruma 2026-08-01 23:50:48 +02:00
Renovate BotandGinger 8addb41b5a chore(deps): Update ruma digest to 04d5d68
Co-authored-by: Ginger <ginger@gingershaped.computer>
2026-07-26 22:54:42 +00:00
timedout 2d65d47498 fix: Load bearing mut refs 2026-06-27 18:37:33 +01:00
timedout e4922814b9 refactor: Add better documentation to sender service, add additional logging traces
This is a surprise tool that will help us later!
2026-06-27 18:37:33 +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 aa2f506996 style: Document & refactor sending service 2026-06-27 18:36:44 +01:00
Ginger e70004c98f chore: Clippy fixes 2026-04-28 09:16:56 -04:00
Ginger 24f7e1d658 chore: Clippy fixes 2026-04-28 09:16:51 -04:00
Ginger 3e1f97487f fix: Resolve errors in recently added services 2026-04-28 09:16:51 -04:00
Jade Ellis a4e64383b7 refactor: Ruma upstraming, bake a little more 2026-04-28 09:16:51 -04:00
GingerandJade Ellis 204bc1367e refactor: Ruma upstreaming, half-baked edition
Co-authored-by: Jade Ellis <jade@ellis.link>
2026-04-28 09:16:51 -04:00
timedout 01f6893c07 feat: Reduce verbosity of "remote server couldn't process pdu" warning
(cherry picked from commit 8b206564aa)
2026-04-18 01:11:48 +01:00
timedout 37888fb670 fix: Limit body read size of remote requests (CWE-409)
Reviewed-By: Jade Ellis <jade@ellis.link>
2026-03-03 19:54:34 +00:00
Jason VolkandJade Ellis 1a7bda209b feat: Implement Dehydrated Devices MSC3814
Co-authored-by: Jade Ellis <jade@ellis.link>
Signed-off-by: Jason Volk <jason@zemos.net>
2026-03-03 19:39:53 +00:00
Katie Kloss 92a848f74d fix: Crash before starting on OpenBSD
core_affinity doesn't return any cores on OpenBSD, so we try to
clamp(1, 0). This is Less Good than fixing that crate, but at
least allows the server to start up.
2026-02-20 10:13:54 +00:00
Jade Ellis 344d68dabc fix: Use correct token handlers for Ruma 2026-01-09 19:42:14 +00:00
Jade Ellis d3ee9c407a fix: Apply timeouts in more places 2026-01-09 19:42:13 +00:00
timedout 5ac82f36f3 feat: Consolidate antispam checks into a service
Also adds support for the spam checker join rule, and Draupnir callbacks
2026-01-05 20:10:28 +00:00
timedoutandJade Ellis 0956779802 feat: Add Meowlnir invite interception support
Co-authored-by: Jade Ellis <jade@ellis.link>
2026-01-05 20:10:27 +00:00
Jade Ellis aed15f246a refactor: Clean up logging issues
Primary issues: Double escapes (debug fmt), spans without levels
2026-01-05 18:28:57 +00:00
Jade Ellis 987c5eeb03 refactor: Promote handling unsigned data out of timeline
Also fixes:
- Transaction IDs leaking in event route
- Age not being set for event relations or threads
- Both of the above for search results

Notes down concern with relations table
2025-12-21 17:12:33 +00:00
Ginger 07dfc5528d refactor(sync/v3): Split load_joined_room into smaller functions 2025-12-07 19:58:24 +00:00
Ginger 2940bc69c1 fix(sync/v3): Cleanup part 1: mostly fix redundant data in state 2025-12-07 19:58:24 +00:00
nexy7574 7e4071c117 Implement room v12 (#943)
**Does not yet work!** Currently, state resolution does not correctly resolve conflicting states. Everything else appears to work as expected, so stateres will be fixed soon, then we should be clear for takeoff.

Also: a lot of things currently accept a nullable room ID that really just don't need to. This will need tidying up before merge. Some authentication checks have also been disabled temporarily but nothing important.

A lot of things are tagged with `TODO(hydra)`, those need resolving before merge. External contributors should PR to the `hydra/public` branch, *not* ` main`.

---

This PR should be squash merged.

Reviewed-on: https://forgejo.ellis.link/continuwuation/continuwuity/pulls/943
Co-authored-by: nexy7574 <git@nexy7574.co.uk>
Co-committed-by: nexy7574 <git@nexy7574.co.uk>
2025-09-17 20:46:03 +00:00