From b40c57f227b5381dca401260f5e33825b4aeccf6 Mon Sep 17 00:00:00 2001 From: Jannis Braun <151788261+TheZwiss@users.noreply.github.com> Date: Mon, 20 Apr 2026 17:41:34 +0200 Subject: [PATCH] fix: call resolvePendingPeers before early return in processOutboxTick MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When all peers are pending (no active peers with outbox entries), processOutboxTick returned early at line 141 before reaching resolvePendingPeers at line 302. Pending peers were never resolved because the only code path to resolvePendingPeers was after the active-peer delivery loop — which never ran. --- packages/server/src/utils/federationWorker.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/server/src/utils/federationWorker.ts b/packages/server/src/utils/federationWorker.ts index 054afa0e..801a696b 100644 --- a/packages/server/src/utils/federationWorker.ts +++ b/packages/server/src/utils/federationWorker.ts @@ -139,6 +139,9 @@ async function processOutboxTick(): Promise { .all(); if (entries.length === 0) { + // No active-peer entries to deliver, but pending peers may still need + // handshake resolution. Always run resolvePendingPeers() before returning. + await resolvePendingPeers(); return; }