Skip to content

Got an interesting question today about #Fedify's outgoing #queue design!

Uncategorized
  • Got an interesting question today about #Fedify's outgoing #queue design!

    Some users noticed we create separate queue messages for each recipient inbox rather than queuing a single message and handling the splitting later. There's a good reason for this approach.

    In the #fediverse, server response times vary dramatically—some respond quickly, others slowly, and some might be temporarily down. If we processed deliveries in a single task, the entire batch would be held up by the slowest server in the group.

    By creating individual queue items for each recipient:

    • Fast servers get messages delivered promptly
    • Slow servers don't delay delivery to others
    • Failed deliveries can be retried independently
    • Your UI remains responsive while deliveries happen in the background

    It's a classic trade-off: we generate more queue messages, but gain better resilience and user experience in return.

    This is particularly important in federated networks where server behavior is unpredictable and outside our control. We'd rather optimize for making sure your posts reach their destinations as quickly as possible!

    What other aspects of Fedify's design would you like to hear about? Let us know!

    #ActivityPub #fedidev