Some activities are federated to relays before followers
What happened?
Some federation code paths call RelayService.deliverToRelays
at the same time or even after calling DeliverManager.execute
. This results in relay jobs being queued before the follower jobs, which produces a race condition where a remote instance can receive the relayed activity before the directly speaking.
For some fediverse software (including Misskey and Sharkey), relayed activities are treated differently from directly-federated ones. In the *Key case, relayed notes are marked with the silent
flag which prevents them from showing in timelines or generating notifications. Sending activities to recipients before the relays greatly decreases the chance of that race condition happening.
What did you expect to happen?
Outgoing activities should federate in the correct order.
Version
2025.3.0-dev
Instance
enby.life
What type of issue is this?
backend
How do you deploy Sharkey on your server? (Server-side issues only)
build from source
What operating system are you using? (Server-side issues only)
Ubuntu Server 24.04
Contribution Guidelines
By submitting this issue, you agree to follow our Contribution Guidelines
- I agree to follow this project's Contribution Guidelines
- I have searched the issue tracker for similar issues, and this is not a duplicate.