mirror of
https://github.com/permissionlesstech/bitchat.git
synced 2026-07-25 07:25:19 +00:00
* Refactor BLE transport event handling * Make image output paths unique * Keep queued Nostr read receipts alive * Refine BLE ingress fanout * Rediscover BLE service after invalidation * Extract BLE notification retry buffer * Extract BLE inbound write buffer * Extract BLE fragment assembly buffer * Tidy secure log handling from device run * Extract BLE outbound fragment scheduler * Harden app CI media tests * Redact BLE message content from logs * Extract BLE Noise session queues * Fix BLE read receipt UI updates * Allow self-authored RSR ingress replies * Harden read receipt queue test timing * Extract BLE outbound policy and incoming file storage * Avoid duplicate BLE link snapshots during send * Canonicalize Nostr relay URLs --------- Co-authored-by: jack <jackjackbits@users.noreply.github.com>
26 lines
789 B
Swift
26 lines
789 B
Swift
import Foundation
|
|
|
|
enum BLENoisePayloadFactory {
|
|
static func privateMessage(content: String, messageID: String) -> Data? {
|
|
guard let payload = PrivateMessagePacket(messageID: messageID, content: content).encode() else {
|
|
return nil
|
|
}
|
|
|
|
return typedPayload(.privateMessage, payload: payload)
|
|
}
|
|
|
|
static func readReceipt(originalMessageID: String) -> Data {
|
|
typedPayload(.readReceipt, payload: Data(originalMessageID.utf8))
|
|
}
|
|
|
|
static func delivered(messageID: String) -> Data {
|
|
typedPayload(.delivered, payload: Data(messageID.utf8))
|
|
}
|
|
|
|
static func typedPayload(_ type: NoisePayloadType, payload: Data) -> Data {
|
|
var typed = Data([type.rawValue])
|
|
typed.append(payload)
|
|
return typed
|
|
}
|
|
}
|