Changes to support iOS 18 Beta

This commit is contained in:
ChDel 2024-07-23 19:10:00 -07:00 committed by Blake McAnally
parent f66abd93a4
commit 3032a4d4de
6 changed files with 32 additions and 9 deletions

View file

@ -1,5 +1,5 @@
{
"originHash" : "74b3ad6215f078d89f4436b6ce0e318f145842efa3453bbe055ab76057de7d6b",
"originHash" : "af29d93455cb8f728684674f544d815b5becb17e049287cc1df8079a4855d0fc",
"pins" : [
{
"identity" : "cocoamqtt",
@ -42,8 +42,8 @@
"kind" : "remoteSourceControl",
"location" : "https://github.com/apple/swift-protobuf.git",
"state" : {
"revision" : "9f0c76544701845ad98716f3f6a774a892152bcb",
"version" : "1.26.0"
"revision" : "d57a5aecf24a25b32ec4a74be2f5d0a995a47c4b",
"version" : "1.27.0"
}
}
],

View file

@ -11,8 +11,11 @@ import MeshtasticProtobufs
extension ChannelEntity {
var allPrivateMessages: [MessageEntity] {
let context = PersistenceController.shared.container.viewContext
let fetchRequest = MessageEntity.fetchRequest()
fetchRequest.predicate = NSPredicate(format: "channel == %ld AND toUser == nil AND isEmoji == false", self.index)
self.value(forKey: "allPrivateMessages") as? [MessageEntity] ?? [MessageEntity]()
return (try? context.fetch(fetchRequest)) ?? [MessageEntity]()
}
var unreadMessages: Int {

View file

@ -21,4 +21,12 @@ extension MessageEntity {
var canRetry: Bool {
return ackError == 9 || ackError == 5 || ackError == 3
}
var tapbacks: [MessageEntity] {
let context = PersistenceController.shared.container.viewContext
let fetchRequest = MessageEntity.fetchRequest()
fetchRequest.predicate = NSPredicate(format: "replyID == %lld AND isEmoji == true", self.messageId)
return (try? context.fetch(fetchRequest)) ?? [MessageEntity]()
}
}

View file

@ -10,7 +10,11 @@ import Foundation
extension MyInfoEntity {
var messageList: [MessageEntity] {
self.value(forKey: "allMessages") as? [MessageEntity] ?? [MessageEntity]()
let context = PersistenceController.shared.container.viewContext
let fetchRequest = MessageEntity.fetchRequest()
fetchRequest.predicate = NSPredicate(format: "toUser == nil")
return (try? context.fetch(fetchRequest)) ?? [MessageEntity]()
}
var unreadMessages: Int {

View file

@ -12,18 +12,26 @@ import MeshtasticProtobufs
extension UserEntity {
var messageList: [MessageEntity] {
self.value(forKey: "allMessages") as? [MessageEntity] ?? [MessageEntity]()
let context = PersistenceController.shared.container.viewContext
let fetchRequest = MessageEntity.fetchRequest()
fetchRequest.predicate = NSPredicate(format: "((toUser == %@) OR (fromUser == %@)) AND toUser != nil AND fromUser != nil AND isEmoji == false AND admin = false AND portNum != 10", self, self)
return (try? context.fetch(fetchRequest)) ?? [MessageEntity]()
}
var sensorMessageList: [MessageEntity] {
self.value(forKey: "detectionSensorMessages") as? [MessageEntity] ?? [MessageEntity]()
let context = PersistenceController.shared.container.viewContext
let fetchRequest = MessageEntity.fetchRequest()
fetchRequest.predicate = NSPredicate(format: "(fromUser == %@) AND portNum = 10", self)
return (try? context.fetch(fetchRequest)) ?? [MessageEntity]()
}
var unreadMessages: Int {
let unreadMessages = messageList.filter { ($0 as AnyObject).read == false }
return unreadMessages.count
}
var hardwareImage: String? {
guard let hwModel else { return nil }
switch hwModel {

View file

@ -9,7 +9,7 @@ struct TapbackResponses: View {
@ViewBuilder
var body: some View {
let tapbacks = message.value(forKey: "tapbacks") as? [MessageEntity] ?? []
let tapbacks = message.tapbacks
if !tapbacks.isEmpty {
VStack(alignment: .trailing) {
HStack {