diff --git a/Meshtastic/Persistence/UpdateCoreData.swift b/Meshtastic/Persistence/UpdateCoreData.swift index 7aa3d902..04907eff 100644 --- a/Meshtastic/Persistence/UpdateCoreData.swift +++ b/Meshtastic/Persistence/UpdateCoreData.swift @@ -188,7 +188,7 @@ func upsertNodeInfoPacket (packet: MeshPacket, context: NSManagedObjectContext) subtitle: "\(newUser.longName ?? "unknown".localized)", content: "New Node has been discovered", target: "nodes", - path: "meshtastic:///nodes?nodenum=\(newUser.num)" + path: "meshtastic:///nodes?nodenum=\(newUser.num)&detail=nodeMap" ) ] manager.schedule() @@ -235,7 +235,7 @@ func upsertNodeInfoPacket (packet: MeshPacket, context: NSManagedObjectContext) fetchedNode[0].channel = Int32(packet.channel) } - if let nodeInfoMessage = try? NodeInfo(serializedData: packet.decoded.payload) { + if let nodeInfoMessage = try? NodeInfo(serializedBytes: packet.decoded.payload) { fetchedNode[0].hopsAway = Int32(nodeInfoMessage.hopsAway) fetchedNode[0].favorite = nodeInfoMessage.isFavorite diff --git a/Meshtastic/Router/Router.swift b/Meshtastic/Router/Router.swift index 4fc6d7e2..4af7956d 100644 --- a/Meshtastic/Router/Router.swift +++ b/Meshtastic/Router/Router.swift @@ -79,14 +79,14 @@ class Router: ObservableObject { } func routeNodes(_ components: URLComponents) { - let nodeId = components.queryItems? - .first(where: { $0.name == "nodenum" })? - .value - .flatMap(Int64.init) - let detail = components.queryItems? - .first(where: { $0.name == "detail" })? - .value - route(to: .nodes(NodeListNavigationState(selectedNodeNum: nodeId, details: detail != nil ? NodeDetails(rawValue: detail!) : nil))) + let nodeId = components.queryItems? + .first(where: { $0.name == "nodenum" })? + .value + .flatMap(Int64.init) + let detail = components.queryItems? + .first(where: { $0.name == "detail" })? + .value + route(to: .nodes(NodeListNavigationState(selectedNodeNum: nodeId, details: detail != nil ? NodeDetails(rawValue: detail!) : nil))) } private func routeMap(_ components: URLComponents) { diff --git a/Meshtastic/Views/Nodes/NodeList.swift b/Meshtastic/Views/Nodes/NodeList.swift index 4bfed93b..6f38410f 100644 --- a/Meshtastic/Views/Nodes/NodeList.swift +++ b/Meshtastic/Views/Nodes/NodeList.swift @@ -251,7 +251,7 @@ struct NodeList: View { await searchNodeList() } } - .onChange(of: router.navigationState) { _ in + .onChange(of: router.navigationState) { state in // Handle deep link routing if case .nodes(let selected) = router.navigationState { self.selectedNode = selected?.selectedNodeNum.flatMap {