mirror of
https://github.com/meshtastic/Meshtastic-Apple.git
synced 2026-04-20 22:13:56 +00:00
Throw out any time that is off by more than 10 seconds in either direction and use now for message timestamp
This commit is contained in:
parent
64c69abf44
commit
ee2313ff0d
6 changed files with 10 additions and 4 deletions
|
|
@ -14,7 +14,7 @@ extension ChannelEntity {
|
|||
let context = PersistenceController.shared.container.viewContext
|
||||
let fetchRequest = MessageEntity.fetchRequest()
|
||||
fetchRequest.sortDescriptors = [NSSortDescriptor(key: "messageTimestamp", ascending: true)]
|
||||
fetchRequest.predicate = NSPredicate(format: "channel == %ld AND toUser == nil AND isEmoji == false", self.index)
|
||||
fetchRequest.predicate = NSPredicate(format: "channel == %ld AND toUser == nil AND isEmoji == false", self.index)
|
||||
|
||||
return (try? context.fetch(fetchRequest)) ?? [MessageEntity]()
|
||||
}
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@ extension MyInfoEntity {
|
|||
let unreadMessages = messageList.filter { ($0 as AnyObject).read == false && ($0 as AnyObject).isEmoji == false }
|
||||
return unreadMessages.count
|
||||
}
|
||||
|
||||
var hasAdmin: Bool {
|
||||
let adminChannel = channels?.filter { ($0 as AnyObject).name?.lowercased() == "admin" }
|
||||
return adminChannel?.count ?? 0 > 0
|
||||
|
|
|
|||
|
|
@ -808,7 +808,12 @@ func textMessageAppPacket(
|
|||
let fetchedUsers = try context.fetch(messageUsers)
|
||||
let newMessage = MessageEntity(context: context)
|
||||
newMessage.messageId = Int64(packet.id)
|
||||
newMessage.messageTimestamp = Int32(bitPattern: packet.rxTime)
|
||||
/// For message display if the rx time is off by more than 20 seconds set the timestamp to now to assist sorting
|
||||
if Date().timeIntervalSince1970 < Double(packet.rxTime - 10000) || Date().timeIntervalSince1970 > Double(packet.rxTime + 10000) {
|
||||
newMessage.messageTimestamp = Int32(Date().timeIntervalSince1970)
|
||||
} else {
|
||||
newMessage.messageTimestamp = Int32(bitPattern: packet.rxTime)
|
||||
}
|
||||
newMessage.receivedACK = false
|
||||
newMessage.snr = packet.rxSnr
|
||||
newMessage.rssi = packet.rxRssi
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ import SwiftUI
|
|||
struct ContentView: View {
|
||||
@ObservedObject
|
||||
var appState: AppState
|
||||
|
||||
|
||||
@ObservedObject
|
||||
var router: Router
|
||||
|
||||
|
|
|
|||
|
|
@ -37,7 +37,6 @@ struct NodeList: View {
|
|||
@State private var isPresentingDeleteNodeAlert = false
|
||||
@State private var deleteNodeId: Int64 = 0
|
||||
|
||||
|
||||
var boolFilters: [Bool] {[
|
||||
isOnline,
|
||||
isFavorite,
|
||||
|
|
|
|||
|
|
@ -58,6 +58,7 @@ struct Routes: View {
|
|||
}
|
||||
|
||||
do {
|
||||
|
||||
guard let fileContent = String(data: try Data(contentsOf: selectedFile), encoding: .utf8) else { return }
|
||||
let routeName = selectedFile.lastPathComponent.dropLast(4)
|
||||
let lines = fileContent.components(separatedBy: "\n")
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue