From c6175b7185390b9a9f48b36cff238257102e0920 Mon Sep 17 00:00:00 2001 From: Andrew Blakeslee Moore Date: Thu, 2 Jul 2026 21:42:08 -0700 Subject: [PATCH] Add Remote Release Channel Check Nucleic-Session: 7D1A5F60-CF2F-44E6-B060-51C4C2EA79D1 Co-authored-by: Nucleic --- NucleicRemote/NucleicRemote/Models/RemoteStore.swift | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/NucleicRemote/NucleicRemote/Models/RemoteStore.swift b/NucleicRemote/NucleicRemote/Models/RemoteStore.swift index ead295a..329099f 100644 --- a/NucleicRemote/NucleicRemote/Models/RemoteStore.swift +++ b/NucleicRemote/NucleicRemote/Models/RemoteStore.swift @@ -783,12 +783,12 @@ final class RemoteStore: ObservableObject { openDiff = diff diffLoading = false case .wireError(let error): - // A channel mismatch is a permanent, connection-fatal condition (the host and this - // remote were built from incompatible release channels). Surface it as a persistent - // failure with a clear message rather than a transient bubble that the follow-on - // `.closed` would paper over with "reconnecting". + // A channel mismatch means the host and this remote were built from incompatible + // release channels. Surface it as a persistent failure with a clear message rather + // than a transient bubble; the follow-on `.closed` still schedules a backoff retry, + // so the connection recovers on its own once either side is updated to a matching + // channel. if error.code == .channelMismatch { - teardown() connectivity = .failed(error.message) break }