diff --git a/Meshtastic/Helpers/MeshPackets.swift b/Meshtastic/Helpers/MeshPackets.swift
index 809bdbcc..96db5fd2 100644
--- a/Meshtastic/Helpers/MeshPackets.swift
+++ b/Meshtastic/Helpers/MeshPackets.swift
@@ -847,8 +847,16 @@ func textMessageAppPacket(
}
if fetchedUsers.first(where: { $0.num == packet.from }) != nil {
newMessage.fromUser = fetchedUsers.first(where: { $0.num == packet.from })
- newMessage.fromUser?.publicKey = packet.publicKey
- newMessage.fromUser?.pkiEncrypted = packet.pkiEncrypted
+ if !(newMessage.fromUser?.publicKey?.isEmpty ?? true) {
+ /// We have a key, check if it matches
+ if newMessage.fromUser?.publicKey != newMessage.publicKey {
+ newMessage.fromUser?.keyMatch = false
+ }
+ } else {
+ /// We have no key, set it
+ newMessage.fromUser?.publicKey = packet.publicKey
+ newMessage.fromUser?.pkiEncrypted = packet.pkiEncrypted
+ }
if packet.rxTime > 0 {
newMessage.fromUser?.userNode?.lastHeard = Date(timeIntervalSince1970: TimeInterval(Int64(packet.rxTime)))
}
diff --git a/Meshtastic/Meshtastic.xcdatamodeld/MeshtasticDataModelV 42.xcdatamodel/contents b/Meshtastic/Meshtastic.xcdatamodeld/MeshtasticDataModelV 42.xcdatamodel/contents
index 432be802..b92f33f6 100644
--- a/Meshtastic/Meshtastic.xcdatamodeld/MeshtasticDataModelV 42.xcdatamodel/contents
+++ b/Meshtastic/Meshtastic.xcdatamodeld/MeshtasticDataModelV 42.xcdatamodel/contents
@@ -432,6 +432,7 @@
+