diff --git a/NucleicRemote/NucleicRemote/Models/RemoteStore.swift b/NucleicRemote/NucleicRemote/Models/RemoteStore.swift index 1c32681..6c4f67b 100644 --- a/NucleicRemote/NucleicRemote/Models/RemoteStore.swift +++ b/NucleicRemote/NucleicRemote/Models/RemoteStore.swift @@ -530,6 +530,11 @@ final class RemoteStore: ObservableObject { IdentityStore.savePairedHost(host) self.activeHostID = host.fingerprint } + cb.meshRosterChanged = { [weak self] in + // Mesh "join": a Mac was learned or revoked via gossip. Reconnect to every paired Mac + // (connecting the newcomer) and drop any that left — without switching the active host. + self?.reconnect() + } cb.tailnetStatus = { [weak self] status, loginURL in self?.tailnetStatus = status self?.tailnetLoginURL = loginURL