From 880813f256cb5580178da0a7241a347c90b99ef7 Mon Sep 17 00:00:00 2001 From: jack <212554440+jackjackbits@users.noreply.github.com> Date: Sun, 19 Oct 2025 18:24:17 +0200 Subject: [PATCH] Fix GeoRelay prefetch isolation (#837) Co-authored-by: jack --- bitchat/Nostr/GeoRelayDirectory.swift | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/bitchat/Nostr/GeoRelayDirectory.swift b/bitchat/Nostr/GeoRelayDirectory.swift index 490123d0..45523e1a 100644 --- a/bitchat/Nostr/GeoRelayDirectory.swift +++ b/bitchat/Nostr/GeoRelayDirectory.swift @@ -284,7 +284,10 @@ final class GeoRelayDirectory { object: nil, queue: .main ) { [weak self] _ in - self?.prefetchIfNeeded(force: true) + guard let self else { return } + Task { @MainActor in + self.prefetchIfNeeded(force: true) + } } observers.append(torReady) @@ -294,7 +297,10 @@ final class GeoRelayDirectory { object: nil, queue: .main ) { [weak self] _ in - self?.prefetchIfNeeded() + guard let self else { return } + Task { @MainActor in + self.prefetchIfNeeded() + } } observers.append(didBecomeActive) #elseif os(macOS) @@ -303,7 +309,10 @@ final class GeoRelayDirectory { object: nil, queue: .main ) { [weak self] _ in - self?.prefetchIfNeeded() + guard let self else { return } + Task { @MainActor in + self.prefetchIfNeeded() + } } observers.append(didBecomeActive) #endif