Fix stored property in extension error by moving advertisingTimer to main class

This commit is contained in:
jack
2025-07-05 21:06:53 +02:00
parent 67f18582f0
commit 8fc0e02f1d
+11 -2
View File
@@ -97,6 +97,7 @@ class BluetoothMeshService: NSObject {
private var coverTrafficTimer: Timer?
private let coverTrafficPrefix = "☂DUMMY☂" // Prefix to identify dummy messages after decryption
private var lastCoverTrafficTime = Date()
private var advertisingTimer: Timer? // Timer for interval-based advertising
// Timing randomization for privacy
private let minMessageDelay: TimeInterval = 0.05 // 50ms minimum
@@ -1396,6 +1397,11 @@ class BluetoothMeshService: NSObject {
isEncrypted: message.isEncrypted
)
// Track last message time from this peer
if let peerID = String(data: packet.senderID.trimmingNullBytes(), encoding: .utf8) {
self.lastMessageFromPeer[peerID] = Date()
}
DispatchQueue.main.async {
self.delegate?.didReceiveMessage(messageWithPeerID)
}
@@ -1494,6 +1500,11 @@ class BluetoothMeshService: NSObject {
room: message.room
)
// Track last message time from this peer
if let peerID = String(data: packet.senderID.trimmingNullBytes(), encoding: .utf8) {
self.lastMessageFromPeer[peerID] = Date()
}
DispatchQueue.main.async {
self.delegate?.didReceiveMessage(messageWithPeerID)
}
@@ -2567,8 +2578,6 @@ extension BluetoothMeshService: CBPeripheralManagerDelegate {
}
}
private var advertisingTimer: Timer?
private func scheduleAdvertisingCycle(interval: TimeInterval) {
advertisingTimer?.invalidate()