Commit Graph
276 Commits
Author SHA1 Message Date
theS1LV3R 23a51bcf96 fix: Set initial backoff time to 90 days immediately
As per the MSC:
> This MSC recommends homeservers should wait a minimum of 24 hours
> and should wait no longer than 90 days, balancing the need to respect
> the server's intent to be offline whilst allowing for potential future
> changes in server operation or domain ownership.

And as per nex:
> Technically the MSC said it should be up to 90 days, but they'll never
> make me parse cache-control!
2026-11-12 14:26:17 +00:00
Jade Ellis 0368097791 fix(service/sending): Prevent panics and fix receipt limit in federation sender 2026-11-10 20:02:18 +00:00
Jade Ellis 24b1e2ebe8 refactor(service): Use SyncRwLock and SyncMutex for in-memory services
Convert in-memory data structures in appservice, rooms::typing, and sync
wakers to use SyncRwLock and SyncMutex. Drop appservice locks before
making outbound network requests in room alias queries and federation
invites.
2026-10-28 21:48:22 +00:00
Erwan Leboucher fe0ab62124 refactor: Unify retry backoff helpers 2026-10-12 11:14:01 +01:00
Erwan Leboucher 5185045cb6 feat(metrics): Record metrics with OpenTelemetry and export over OTLP 2026-10-12 10:03:14 +01:00
Erwan Leboucher f14c401f39 feat: Add Prometheus metrics endpoint 2026-10-12 10:03:12 +01:00
Jade Ellis c3ba97adb6 style: Resolve clippy warnings in database and service 2026-10-07 00:17:35 +01:00
Jade Ellis 5d55b413a2 feat: Send private read receipts to appservices 2026-10-06 23:56:30 +01:00
Jade Ellis 7ce47be4de feat: Send read receipts and typing indicators to appservices 2026-10-06 23:56:28 +01:00
timedout 550dd0160a fix: SEC8
Reviewed-By: Ginger <ginger@gingershaped.computer>
Reviewed-By: Jade <jade@ellis.link>
Reviewed-By: Jacob Taylor <jacob@explodie.org>
2026-09-28 02:00:37 +01:00
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