diff --git a/Localizable.xcstrings b/Localizable.xcstrings index a5e01356..5ed3fbb3 100644 --- a/Localizable.xcstrings +++ b/Localizable.xcstrings @@ -8224,6 +8224,17 @@ } } }, + "device.role.name.routerlate" : { + "extractionState" : "manual", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Router Late" + } + } + } + }, "device.role.name.sensor" : { "extractionState" : "manual", "localizations" : { @@ -8487,6 +8498,17 @@ } } }, + "device.role.routerlate" : { + "extractionState" : "manual", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Infrastructure node that always rebroadcasts packets once but only after all other modes, ensuring additional coverage for local clusters. Visible in Nodes list." + } + } + } + }, "device.role.sensor" : { "extractionState" : "migrated", "localizations" : { diff --git a/Meshtastic/Enums/DeviceEnums.swift b/Meshtastic/Enums/DeviceEnums.swift index 2128fafa..3f76054f 100644 --- a/Meshtastic/Enums/DeviceEnums.swift +++ b/Meshtastic/Enums/DeviceEnums.swift @@ -22,6 +22,7 @@ enum DeviceRoles: Int, CaseIterable, Identifiable { case repeater = 4 case router = 2 case routerClient = 3 + case routerLate = 11 var id: Int { self.rawValue } var name: String { @@ -48,6 +49,8 @@ enum DeviceRoles: Int, CaseIterable, Identifiable { return "device.role.name.clientHidden".localized case .lostAndFound: return "device.role.name.lostAndFound".localized + case .routerLate: + return "device.role.name.routerlate".localized } } @@ -75,6 +78,8 @@ enum DeviceRoles: Int, CaseIterable, Identifiable { return "device.role.clienthidden".localized case .lostAndFound: return "device.role.lostandfound".localized + case .routerLate: + return "device.role.routerlate".localized } } @@ -84,7 +89,7 @@ enum DeviceRoles: Int, CaseIterable, Identifiable { return "apps.iphone" case .clientMute: return "speaker.slash" - case .router, .routerClient: + case .router, .routerClient, .routerLate: return "wifi.router" case .repeater: return "repeat" @@ -127,6 +132,8 @@ enum DeviceRoles: Int, CaseIterable, Identifiable { return Config.DeviceConfig.Role.clientHidden case .lostAndFound: return Config.DeviceConfig.Role.lostAndFound + case .routerLate: + return Config.DeviceConfig.Role.routerLate } } } diff --git a/Meshtastic/Helpers/Mqtt/MqttClientProxyManager.swift b/Meshtastic/Helpers/Mqtt/MqttClientProxyManager.swift index 62e07b72..9c3947c0 100644 --- a/Meshtastic/Helpers/Mqtt/MqttClientProxyManager.swift +++ b/Meshtastic/Helpers/Mqtt/MqttClientProxyManager.swift @@ -47,8 +47,8 @@ class MqttClientProxyManager { var password = node.mqttConfig?.password if host == defaultServerAddress { - username = ProcessInfo.processInfo.environment["publicMqttUsername"] - password = ProcessInfo.processInfo.environment["publicMqttPsk"] + // username = ProcessInfo.processInfo.environment["publicMqttUsername"] + // password = ProcessInfo.processInfo.environment["publicMqttPsk"] useSsl = false } let root = node.mqttConfig?.root?.count ?? 0 > 0 ? node.mqttConfig?.root : "msh"