Fix wantRangeTestPackets to correctly follow rangeTestConfig.enabled (#1489)

This commit is contained in:
Mike Robbins 2025-10-30 17:35:40 -04:00 committed by GitHub
parent 402cb836b5
commit 2ee6cdfcba
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 9 additions and 7 deletions

View file

@ -34,12 +34,10 @@ extension AccessoryManager {
// Set initial unread message badge states
appState.unreadChannelMessages = fetchedNodeInfo[0].myInfo?.unreadMessages(context: context) ?? 0
appState.unreadDirectMessages = fetchedNodeInfo[0].user?.unreadMessages(context: context, skipLastMessageCheck: true) ?? 0 // skipLastMessageCheck=true because we don't update lastMessage on our own connected node
}
if fetchedNodeInfo.count == 1 && fetchedNodeInfo[0].rangeTestConfig?.enabled == true {
wantRangeTestPackets = true
}
if fetchedNodeInfo.count == 1 && fetchedNodeInfo[0].storeForwardConfig?.enabled == true {
wantStoreAndForwardPackets = true
// Set wantRangeTestPackets and wantStoreAndForwardPackets
wantRangeTestPackets = fetchedNodeInfo[0].rangeTestConfig?.enabled ?? false
wantStoreAndForwardPackets = fetchedNodeInfo[0].storeForwardConfig?.enabled ?? false
}
} catch {
Logger.data.error("Failed to find a node info for the connected node \(error.localizedDescription, privacy: .public)")

View file

@ -141,7 +141,7 @@ class AccessoryManager: ObservableObject, MqttClientProxyManagerDelegate {
let transports: [any Transport]
// Config
public var wantRangeTestPackets = true
public var wantRangeTestPackets = false
var wantStoreAndForwardPackets = false
var shouldAutomaticallyConnectToPreferredPeripheral = true

View file

@ -110,6 +110,8 @@ struct RangeTestConfig: View {
}
.onChange(of: enabled) { _, newEnabled in
if newEnabled != node?.rangeTestConfig?.enabled { hasChanges = true }
// Note: even if this is the connected node, we don't have to update AccessoryManager.wantRangeTestPackets here, because the node will reboot after we save config changes, and we'll pick up the new value after we reconnect.
}
.onChange(of: save) { _, newSave in
if newSave != node?.rangeTestConfig?.save { hasChanges = true }

View file

@ -167,6 +167,8 @@ struct StoreForwardConfig: View {
}
.onChange(of: enabled) { oldEnabled, newEnabled in
if oldEnabled != newEnabled && newEnabled != node!.storeForwardConfig!.enabled { hasChanges = true }
// Note: even if this is the connected node, we don't have to update AccessoryManager.wantStoreAndForwardPackets here, because the node will reboot after we save config changes, and we'll pick up the new value after we reconnect.
}
.onChange(of: isServer) { oldIsServer, newIsServer in
if oldIsServer != newIsServer && newIsServer != node!.storeForwardConfig!.isRouter { hasChanges = true }