From e6b22db1f45bc456f670ed510d023ad20d2a7854 Mon Sep 17 00:00:00 2001 From: Garth Vander Houwen Date: Sun, 6 Nov 2022 09:21:46 -0800 Subject: [PATCH] Fix saving of channels when connecting device --- Meshtastic/Helpers/MeshPackets.swift | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Meshtastic/Helpers/MeshPackets.swift b/Meshtastic/Helpers/MeshPackets.swift index 27a254ea..aa3f037b 100644 --- a/Meshtastic/Helpers/MeshPackets.swift +++ b/Meshtastic/Helpers/MeshPackets.swift @@ -771,12 +771,12 @@ func channelPacket (channel: Channel, fromNum: Int64, context: NSManagedObjectCo newChannel.role = Int32(channel.role.rawValue) newChannel.psk = channel.settings.psk let mutableChannels = fetchedMyInfo[0].channels!.mutableCopy() as! NSMutableOrderedSet - if newChannel.index == 0 { - mutableChannels.removeAllObjects() + if mutableChannels.contains(newChannel) { + mutableChannels.replaceObject(at: Int(newChannel.index), with: newChannel) + } else { + mutableChannels.add(newChannel) } - mutableChannels.add(newChannel) fetchedMyInfo[0].channels = mutableChannels.copy() as? NSOrderedSet - //fetchedMyInfo[0].objectWillChange.send() do { try context.save() } catch {