Update some last heard dates if they aer 0

This commit is contained in:
Garth Vander Houwen 2024-08-15 13:43:31 -07:00
parent 72b7cc3e3c
commit 2415ef28af
4 changed files with 24 additions and 7 deletions

View file

@ -638,7 +638,12 @@ func routingPacket (packet: MeshPacket, connectedNodeNum: Int64, context: NSMana
fetchedMessage[0].receivedACK = true
}
fetchedMessage[0].ackSNR = packet.rxSnr
fetchedMessage[0].ackTimestamp = Int32(truncatingIfNeeded: packet.rxTime)
if packet.rxTime == 0 {
fetchedMessage[0].ackTimestamp = Int32(Date().timeIntervalSince1970)
} else {
fetchedMessage[0].ackTimestamp = Int32(truncatingIfNeeded: packet.rxTime)
}
if fetchedMessage[0].toUser != nil {
fetchedMessage[0].toUser!.objectWillChange.send()
@ -727,7 +732,12 @@ func telemetryPacket(packet: MeshPacket, connectedNode: Int64, context: NSManage
return
}
mutableTelemetries.add(telemetry)
fetchedNode[0].lastHeard = Date(timeIntervalSince1970: TimeInterval(Int64(truncatingIfNeeded: packet.rxTime)))
if packet.rxTime == 0 {
fetchedNode[0].lastHeard = Date()
} else {
fetchedNode[0].lastHeard = Date(timeIntervalSince1970: TimeInterval(packet.rxTime))
}
fetchedNode[0].telemetries = mutableTelemetries.copy() as? NSOrderedSet
}
try context.save()
@ -866,7 +876,9 @@ func textMessageAppPacket(
newMessage.fromUser?.publicKey = packet.publicKey
newMessage.fromUser?.pkiEncrypted = packet.pkiEncrypted
}
if packet.rxTime > 0 {
if packet.rxTime == 0 {
newMessage.fromUser?.userNode?.lastHeard = Date()
} else {
newMessage.fromUser?.userNode?.lastHeard = Date(timeIntervalSince1970: TimeInterval(Int64(packet.rxTime)))
}
}

View file

@ -148,6 +148,9 @@ func upsertNodeInfoPacket (packet: MeshPacket, context: NSManagedObjectContext)
if packet.rxTime > 0 {
newNode.firstHeard = Date(timeIntervalSince1970: TimeInterval(Int64(packet.rxTime)))
newNode.lastHeard = Date(timeIntervalSince1970: TimeInterval(Int64(packet.rxTime)))
} else {
newNode.firstHeard = Date()
newNode.lastHeard = Date()
}
newNode.snr = packet.rxSnr
newNode.rssi = packet.rxRssi
@ -233,9 +236,8 @@ func upsertNodeInfoPacket (packet: MeshPacket, context: NSManagedObjectContext)
fetchedNode[0].num = Int64(packet.from)
if packet.rxTime > 0 {
fetchedNode[0].lastHeard = Date(timeIntervalSince1970: TimeInterval(Int64(packet.rxTime)))
if fetchedNode[0].firstHeard == nil {
fetchedNode[0].lastHeard = Date(timeIntervalSince1970: TimeInterval(Int64(packet.rxTime)))
}
} else {
fetchedNode[0].lastHeard = Date()
}
fetchedNode[0].snr = packet.rxSnr
fetchedNode[0].rssi = packet.rxRssi
@ -363,6 +365,8 @@ func upsertPositionPacket (packet: MeshPacket, context: NSManagedObjectContext)
fetchedNode[0].lastHeard = Date(timeIntervalSince1970: TimeInterval(Int64(positionMessage.time)))
} else if packet.rxTime > 0 {
fetchedNode[0].lastHeard = Date(timeIntervalSince1970: TimeInterval(Int64(packet.rxTime)))
} else {
fetchedNode[0].lastHeard = Date()
}
fetchedNode[0].snr = packet.rxSnr
fetchedNode[0].rssi = packet.rxRssi

View file

@ -96,6 +96,7 @@ struct UserList: View {
}
Text(user.longName ?? "unknown".localized)
.font(.headline)
.allowsTightening(true)
Spacer()
if user.userNode?.favorite ?? false {
Image(systemName: "star.fill")

View file

@ -29,8 +29,8 @@ struct NodeListItem: View {
VStack(alignment: .leading) {
HStack {
Text(node.user?.longName ?? "unknown".localized)
.fontWeight(.medium)
.font(.headline)
.allowsTightening(true)
if node.favorite {
Spacer()
Image(systemName: "star.fill")