mirror of
https://github.com/meshtastic/Meshtastic-Apple.git
synced 2026-04-20 22:13:56 +00:00
Merge pull request #304 from meshtastic/working_changes_2.0.12
Handle a few crashes
This commit is contained in:
commit
d58674d7f4
4 changed files with 19 additions and 14 deletions
|
|
@ -1134,6 +1134,7 @@ class BLEManager: NSObject, CBPeripheralDelegate, ObservableObject {
|
|||
let messageDescription = "🛟 Saved Bluetooth Config for \(toUser.longName ?? NSLocalizedString("unknown", comment: "Unknown"))"
|
||||
|
||||
if sendAdminMessageToRadio(meshPacket: meshPacket, adminDescription: messageDescription, fromUser: fromUser, toUser: toUser) {
|
||||
upsertBluetoothConfigPacket(config: config, nodeNum: fromUser.num, context: context!)
|
||||
return Int64(meshPacket.id)
|
||||
}
|
||||
|
||||
|
|
@ -1160,7 +1161,7 @@ class BLEManager: NSObject, CBPeripheralDelegate, ObservableObject {
|
|||
let messageDescription = "🛟 Saved Device Config for \(toUser.longName ?? NSLocalizedString("unknown", comment: "Unknown"))"
|
||||
|
||||
if sendAdminMessageToRadio(meshPacket: meshPacket, adminDescription: messageDescription, fromUser: fromUser, toUser: toUser) {
|
||||
|
||||
upsertDeviceConfigPacket(config: config, nodeNum: fromUser.num, context: context!)
|
||||
return Int64(meshPacket.id)
|
||||
}
|
||||
|
||||
|
|
@ -1188,6 +1189,7 @@ class BLEManager: NSObject, CBPeripheralDelegate, ObservableObject {
|
|||
let messageDescription = "🛟 Saved Display Config for \(toUser.longName ?? NSLocalizedString("unknown", comment: "Unknown"))"
|
||||
|
||||
if sendAdminMessageToRadio(meshPacket: meshPacket, adminDescription: messageDescription, fromUser: fromUser, toUser: toUser) {
|
||||
upsertDisplayConfigPacket(config: config, nodeNum: fromUser.num, context: context!)
|
||||
return Int64(meshPacket.id)
|
||||
}
|
||||
|
||||
|
|
@ -1204,9 +1206,7 @@ class BLEManager: NSObject, CBPeripheralDelegate, ObservableObject {
|
|||
meshPacket.id = UInt32.random(in: UInt32(UInt8.max)..<UInt32.max)
|
||||
meshPacket.priority = MeshPacket.Priority.reliable
|
||||
meshPacket.wantAck = true
|
||||
if adminIndex > 0 {
|
||||
meshPacket.channel = UInt32(adminIndex)
|
||||
}
|
||||
meshPacket.channel = UInt32(adminIndex)
|
||||
var dataMessage = DataMessage()
|
||||
dataMessage.payload = try! adminPacket.serializedData()
|
||||
dataMessage.portnum = PortNum.adminApp
|
||||
|
|
@ -1214,6 +1214,7 @@ class BLEManager: NSObject, CBPeripheralDelegate, ObservableObject {
|
|||
let messageDescription = "🛟 Saved LoRa Config for \(toUser.longName ?? NSLocalizedString("unknown", comment: "Unknown"))"
|
||||
|
||||
if sendAdminMessageToRadio(meshPacket: meshPacket, adminDescription: messageDescription, fromUser: fromUser, toUser: toUser) {
|
||||
upsertLoRaConfigPacket(config: config, nodeNum: fromUser.num, context: context!)
|
||||
return Int64(meshPacket.id)
|
||||
}
|
||||
|
||||
|
|
@ -1243,7 +1244,7 @@ class BLEManager: NSObject, CBPeripheralDelegate, ObservableObject {
|
|||
let messageDescription = "🛟 Saved Position Config for \(toUser.longName ?? NSLocalizedString("unknown", comment: "Unknown"))"
|
||||
|
||||
if sendAdminMessageToRadio(meshPacket: meshPacket, adminDescription: messageDescription, fromUser: fromUser, toUser: toUser) {
|
||||
|
||||
upsertPositionConfigPacket(config: config, nodeNum: fromUser.num, context: context!)
|
||||
return Int64(meshPacket.id)
|
||||
}
|
||||
|
||||
|
|
@ -1273,7 +1274,7 @@ class BLEManager: NSObject, CBPeripheralDelegate, ObservableObject {
|
|||
let messageDescription = "🛟 Saved Network Config for \(toUser.longName ?? NSLocalizedString("unknown", comment: "Unknown"))"
|
||||
|
||||
if sendAdminMessageToRadio(meshPacket: meshPacket, adminDescription: messageDescription, fromUser: fromUser, toUser: toUser) {
|
||||
|
||||
upsertNetworkConfigPacket(config: config, nodeNum: fromUser.num, context: context!)
|
||||
return Int64(meshPacket.id)
|
||||
}
|
||||
|
||||
|
|
@ -1302,7 +1303,7 @@ class BLEManager: NSObject, CBPeripheralDelegate, ObservableObject {
|
|||
let messageDescription = "🛟 Saved Canned Message Module Config for \(toUser.longName ?? NSLocalizedString("unknown", comment: "Unknown"))"
|
||||
|
||||
if sendAdminMessageToRadio(meshPacket: meshPacket, adminDescription: messageDescription, fromUser: fromUser, toUser: toUser) {
|
||||
|
||||
upsertCannedMessagesModuleConfigPacket(config: config, nodeNum: fromUser.num, context: context!)
|
||||
return Int64(meshPacket.id)
|
||||
}
|
||||
|
||||
|
|
@ -1359,6 +1360,7 @@ class BLEManager: NSObject, CBPeripheralDelegate, ObservableObject {
|
|||
|
||||
let messageDescription = "Saved External Notification Module Config for \(toUser.longName ?? NSLocalizedString("unknown", comment: "Unknown"))"
|
||||
if sendAdminMessageToRadio(meshPacket: meshPacket, adminDescription: messageDescription, fromUser: fromUser, toUser: toUser) {
|
||||
upsertExternalNotificationModuleConfigPacket(config: config, nodeNum: fromUser.num, context: context!)
|
||||
return Int64(meshPacket.id)
|
||||
}
|
||||
return 0
|
||||
|
|
@ -1386,6 +1388,7 @@ class BLEManager: NSObject, CBPeripheralDelegate, ObservableObject {
|
|||
|
||||
let messageDescription = "Saved WiFi Config for \(toUser.longName ?? NSLocalizedString("unknown", comment: "Unknown"))"
|
||||
if sendAdminMessageToRadio(meshPacket: meshPacket, adminDescription: messageDescription, fromUser: fromUser, toUser: toUser) {
|
||||
upsertMqttModuleConfigPacket(config: config, nodeNum: fromUser.num, context: context!)
|
||||
return Int64(meshPacket.id)
|
||||
}
|
||||
return 0
|
||||
|
|
@ -1413,7 +1416,7 @@ class BLEManager: NSObject, CBPeripheralDelegate, ObservableObject {
|
|||
let messageDescription = "Saved Range Test Module Config for \(toUser.longName ?? NSLocalizedString("unknown", comment: "Unknown"))"
|
||||
|
||||
if sendAdminMessageToRadio(meshPacket: meshPacket, adminDescription: messageDescription, fromUser: fromUser, toUser: toUser) {
|
||||
|
||||
upsertRangeTestModuleConfigPacket(config: config, nodeNum: fromUser.num, context: context!)
|
||||
return Int64(meshPacket.id)
|
||||
}
|
||||
|
||||
|
|
@ -1441,6 +1444,7 @@ class BLEManager: NSObject, CBPeripheralDelegate, ObservableObject {
|
|||
|
||||
let messageDescription = "Saved Serial Module Config for \(toUser.longName ?? NSLocalizedString("unknown", comment: "Unknown"))"
|
||||
if sendAdminMessageToRadio(meshPacket: meshPacket, adminDescription: messageDescription, fromUser: fromUser, toUser: toUser) {
|
||||
upsertSerialModuleConfigPacket(config: config, nodeNum: fromUser.num, context: context!)
|
||||
return Int64(meshPacket.id)
|
||||
}
|
||||
return 0
|
||||
|
|
@ -1466,6 +1470,7 @@ class BLEManager: NSObject, CBPeripheralDelegate, ObservableObject {
|
|||
|
||||
let messageDescription = "Saved Telemetry Module Config for \(toUser.longName ?? NSLocalizedString("unknown", comment: "Unknown"))"
|
||||
if sendAdminMessageToRadio(meshPacket: meshPacket, adminDescription: messageDescription, fromUser: fromUser, toUser: toUser) {
|
||||
upsertTelemetryModuleConfigPacket(config: config, nodeNum: fromUser.num, context: context!)
|
||||
return Int64(meshPacket.id)
|
||||
}
|
||||
return 0
|
||||
|
|
|
|||
|
|
@ -177,7 +177,7 @@ struct DeviceMetricsLog: View {
|
|||
isPresented: $isExporting,
|
||||
document: CsvDocument(emptyCsv: exportString),
|
||||
contentType: .commaSeparatedText,
|
||||
defaultFilename: String("\(node.user!.longName ?? "Node") \(NSLocalizedString("device.metrics.log", comment: "Device Metrics Log"))"),
|
||||
defaultFilename: String("\(node.user?.longName ?? "Node") \(NSLocalizedString("device.metrics.log", comment: "Device Metrics Log"))"),
|
||||
onCompletion: { result in
|
||||
if case .success = result {
|
||||
print("Device metrics log download succeeded.")
|
||||
|
|
|
|||
|
|
@ -128,7 +128,7 @@ struct BluetoothConfig: View {
|
|||
self.hasChanges = false
|
||||
|
||||
// Need to request a BluetoothConfig from the remote node before allowing changes
|
||||
if bleManager.connectedPeripheral != nil && node?.loRaConfig == nil {
|
||||
if bleManager.connectedPeripheral != nil && node?.bluetoothConfig == nil {
|
||||
print("empty bluetooth config")
|
||||
let connectedNode = getNodeInfo(id: bleManager.connectedPeripheral.num, context: context)
|
||||
if connectedNode.id > 0 {
|
||||
|
|
|
|||
|
|
@ -123,17 +123,17 @@ struct TelemetryConfig: View {
|
|||
}
|
||||
}
|
||||
.onChange(of: deviceUpdateInterval) { newDeviceInterval in
|
||||
if node != nil && node!.telemetryConfig != nil {
|
||||
if node != nil && node?.telemetryConfig != nil {
|
||||
if newDeviceInterval != node!.telemetryConfig!.deviceUpdateInterval { hasChanges = true }
|
||||
}
|
||||
}
|
||||
.onChange(of: environmentUpdateInterval) { newEnvInterval in
|
||||
if node != nil && node!.telemetryConfig != nil {
|
||||
if node != nil && node?.telemetryConfig != nil {
|
||||
if newEnvInterval != node!.telemetryConfig!.environmentUpdateInterval { hasChanges = true }
|
||||
}
|
||||
}
|
||||
.onChange(of: environmentMeasurementEnabled) { newEnvEnabled in
|
||||
if node != nil && node!.telemetryConfig != nil {
|
||||
if node != nil && node?.telemetryConfig != nil {
|
||||
if newEnvEnabled != node!.telemetryConfig!.environmentMeasurementEnabled { hasChanges = true }
|
||||
}
|
||||
}
|
||||
|
|
@ -143,7 +143,7 @@ struct TelemetryConfig: View {
|
|||
}
|
||||
}
|
||||
.onChange(of: environmentDisplayFahrenheit) { newEnvDisplayF in
|
||||
if node != nil && node!.telemetryConfig != nil {
|
||||
if node != nil && node?.telemetryConfig != nil {
|
||||
if newEnvDisplayF != node!.telemetryConfig!.environmentDisplayFahrenheit { hasChanges = true }
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue