From 2bada2c6265439f46b41b6b3d7187921c946e827 Mon Sep 17 00:00:00 2001 From: jack Date: Sat, 5 Jul 2025 21:08:50 +0200 Subject: [PATCH] Fix build errors: make aggregationWindow mutable, fix optional unwrapping, correct function name --- bitchat/Services/BluetoothMeshService.swift | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/bitchat/Services/BluetoothMeshService.swift b/bitchat/Services/BluetoothMeshService.swift index 654a4ed2..6da429d3 100644 --- a/bitchat/Services/BluetoothMeshService.swift +++ b/bitchat/Services/BluetoothMeshService.swift @@ -126,7 +126,7 @@ class BluetoothMeshService: NSObject { // Message aggregation private var pendingMessages: [(message: BitchatPacket, destination: String?)] = [] private var aggregationTimer: Timer? - private let aggregationWindow: TimeInterval = 0.1 // 100ms window + private var aggregationWindow: TimeInterval = 0.1 // 100ms window private let maxAggregatedMessages = 5 // Optimized Bloom filter for efficient duplicate detection @@ -2557,7 +2557,7 @@ extension BluetoothMeshService: CBPeripheralManagerDelegate { scheduleAdvertisingCycle(interval: powerMode.advertisingInterval) } else { // Continuous advertising for performance mode - startAdvertisingIfNeeded() + startAdvertising() } } @@ -2574,7 +2574,7 @@ extension BluetoothMeshService: CBPeripheralManagerDelegate { // Disconnect the least active ones let toDisconnect = sortedPeripherals.dropFirst(keepCount) for peripheral in toDisconnect { - centralManager.cancelPeripheralConnection(peripheral) + centralManager?.cancelPeripheralConnection(peripheral) } } @@ -2583,7 +2583,7 @@ extension BluetoothMeshService: CBPeripheralManagerDelegate { // Stop advertising if isAdvertising { - peripheralManager.stopAdvertising() + peripheralManager?.stopAdvertising() isAdvertising = false } @@ -2598,12 +2598,12 @@ extension BluetoothMeshService: CBPeripheralManagerDelegate { return // Skip advertising in ultra low power + background } - startAdvertisingIfNeeded() + startAdvertising() // Stop advertising after a short burst (1 second) DispatchQueue.main.asyncAfter(deadline: .now() + 1.0) { [weak self] in if self?.batteryOptimizer.currentPowerMode.advertisingInterval ?? 0 > 0 { - self?.peripheralManager.stopAdvertising() + self?.peripheralManager?.stopAdvertising() self?.isAdvertising = false } }