From e65b9f0c3c4d2dfd9275090cb5b579639666aa7f Mon Sep 17 00:00:00 2001 From: "Dov D." Date: Tue, 1 Sep 2026 21:46:42 -0500 Subject: [PATCH] Update ble_rnode.rs iOS seems to retain the prior name for a paired BLE device that it recognizes by some identifier that doesn't change when flashing the RNode (eg. "MeshCore Name [RNode BA2C]") and then Ratspeak doesn't show the device. (The name changes after pairing) --- crates/rns-interface/src/ble_rnode.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/crates/rns-interface/src/ble_rnode.rs b/crates/rns-interface/src/ble_rnode.rs index 9eb1131..c99d707 100644 --- a/crates/rns-interface/src/ble_rnode.rs +++ b/crates/rns-interface/src/ble_rnode.rs @@ -1434,7 +1434,7 @@ pub async fn scan_ble_devices(timeout_secs: u64) -> Result, Strin // name-only fallback covers iOS scan-response quirks where // service UUIDs are missing from the initial advert. let has_nus = service_uuids.contains(&NUS_SERVICE_UUID); - let name_match = name.starts_with("RNode"); + let name_match = name.contains("RNode"); let is_rnode = name_match && (has_nus || service_uuids.is_empty()); if !is_rnode { continue; @@ -1503,7 +1503,7 @@ async fn resolve_ble_target( // only fall back to the name on empty service lists. if props.services.is_empty() { if let Some(ref name) = props.local_name { - if name.starts_with("RNode ") { + if name.contains("RNode ") { return Ok((p.clone(), BleTargetResolutionClass::FirstRnode)); } } @@ -1835,7 +1835,7 @@ async fn connect_rnode( { if let Some(name) = properties .local_name - .filter(|name| name.starts_with("RNode ")) + .filter(|name| name.contains("RNode ")) { *generation_stable_name = Some(name); }