Add Remote Release Channel Check

Nucleic-Session: 7D1A5F60-CF2F-44E6-B060-51C4C2EA79D1
Co-authored-by: Nucleic <[email protected]>
This commit is contained in:
2026-07-02 21:42:08 -07:00
co-authored by Nucleic
parent d3cc7796dd
commit c6175b7185
@@ -783,12 +783,12 @@ final class RemoteStore: ObservableObject {
openDiff = diff openDiff = diff
diffLoading = false diffLoading = false
case .wireError(let error): case .wireError(let error):
// A channel mismatch is a permanent, connection-fatal condition (the host and this // A channel mismatch means the host and this remote were built from incompatible
// remote were built from incompatible release channels). Surface it as a persistent // release channels. Surface it as a persistent failure with a clear message rather
// failure with a clear message rather than a transient bubble that the follow-on // than a transient bubble; the follow-on `.closed` still schedules a backoff retry,
// `.closed` would paper over with "reconnecting". // so the connection recovers on its own once either side is updated to a matching
// channel.
if error.code == .channelMismatch { if error.code == .channelMismatch {
teardown()
connectivity = .failed(error.message) connectivity = .failed(error.message)
break break
} }