From 1a353b216d9eda94f12424a810ee372cf400bd8e Mon Sep 17 00:00:00 2001 From: jack Date: Thu, 11 Sep 2025 12:18:49 +0200 Subject: [PATCH] Defer Nostr setup logs until Tor is ready; fix subscribe coalescing and reconnect generation - Move "Connecting to Nostr relays" log after awaitReady() - Log "Queuing subscription" when Tor not ready; only coalesce when handler exists - Clear coalescer on unsubscribe - Cancel stale reconnect timers using connectionGeneration - Remove app-level TorDidBecomeReady reset to avoid duplicate reconnects - Debounce path-change restarts --- bitchat/Nostr/NostrRelayManager.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bitchat/Nostr/NostrRelayManager.swift b/bitchat/Nostr/NostrRelayManager.swift index 559bc8af..49ce5c04 100644 --- a/bitchat/Nostr/NostrRelayManager.swift +++ b/bitchat/Nostr/NostrRelayManager.swift @@ -77,7 +77,6 @@ class NostrRelayManager: ObservableObject { /// Connect to all configured relays func connect() { - SecureLogger.log("🌐 Connecting to \(relays.count) Nostr relays (via Tor)", category: SecureLogger.session, level: .debug) // Ensure Tor is started early and wait for readiness off-main; then hop back to connect. Task.detached { let ready = await TorManager.shared.awaitReady() @@ -86,6 +85,7 @@ class NostrRelayManager: ObservableObject { SecureLogger.log("❌ Tor not ready; aborting relay connections (fail-closed)", category: SecureLogger.session, level: .error) return } + SecureLogger.log("🌐 Connecting to \(self.relays.count) Nostr relays (via Tor)", category: SecureLogger.session, level: .debug) for relay in self.relays { self.connectToRelay(relay.url) }