Stop dropping partial BLE frames while assembling notifications

This commit is contained in:
jack
2025-10-15 00:37:40 +01:00
committed by islam
parent ed320fb0ad
commit a244c4084f
+1 -9
View File
@@ -72,15 +72,7 @@ struct NotificationStreamAssembler {
} }
if buffer.count < frameLength { if buffer.count < frameLength {
SecureLogger.warning("⚠️ Incomplete BLE frame: have \(buffer.count)B need \(frameLength)B; scanning for next header", category: .session) SecureLogger.debug("⌛ Waiting for remaining \(frameLength - buffer.count)B to complete BLE frame", category: .session)
if let nextStart = buffer.dropFirst().firstIndex(where: { $0 == 1 || $0 == 2 }) {
let dropCount = buffer.distance(from: buffer.startIndex, to: nextStart)
if dropCount > 0 {
let removed = buffer.prefix(dropCount)
buffer.removeFirst(dropCount)
dropped.append(contentsOf: removed)
}
}
break break
} }