From 04ab61cf6fcca5d0f6847324c78f095254d00cd0 Mon Sep 17 00:00:00 2001 From: NINJA-1029 Date: Wed, 5 Aug 2026 14:59:31 +0530 Subject: [PATCH] perf: optimize bridge outbox sweep during idle states --- bitchat/Services/MessageRouter.swift | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/bitchat/Services/MessageRouter.swift b/bitchat/Services/MessageRouter.swift index 4d8286ce..0a34539e 100644 --- a/bitchat/Services/MessageRouter.swift +++ b/bitchat/Services/MessageRouter.swift @@ -103,11 +103,12 @@ final class MessageRouter { bridgeSweepTask = Task { @MainActor [weak self] in while !Task.isCancelled { try? await Task.sleep(nanoseconds: UInt64(interval * 1_000_000_000)) + guard let self = self, !self.outbox.isEmpty else { continue } // Expire stale outbox entries in-session too — otherwise a DM // to a peer that never reconnects sits on "sending" until the // next relaunch instead of surfacing as failed. - self?.cleanupExpiredMessages() - self?.retryBridgeCourierDeposits() + self.cleanupExpiredMessages() + self.retryBridgeCourierDeposits() } } }