mirror of
https://github.com/permissionlesstech/bitchat.git
synced 2026-07-26 22:25:19 +00:00
Adds a durable receiver-side ledger (BLEPrivateMediaReceiptStore) mapping a deterministic private-media message ID — hash-bound to sender, recipient, and entropy-bearing filename — to the stored file before UI delivery and before the Noise-encrypted delivery ACK, so sender retries and relaunches cannot create duplicate bubbles or files. Receipts are unforgeable without the Noise session; capability bit 9 rides the existing announce bitfield (no wire-format change; rolling upgrade safe both directions). Includes review fixes: corrupt receipt records are quarantined per-record (bytes preserved at <id>.json.corrupt, only that ID fail-closed — previously one bad record silently disabled ALL inbound private media forever); the panic reset now reaches BLEService's own store instance via completePanicReset with a production-wiring test; and both content.delivery.reason.* strings ship with full 30-locale coverage.
14 lines
337 B
Swift
14 lines
337 B
Swift
import BitFoundation
|
|
|
|
extension PeerCapabilities {
|
|
/// Capabilities this build advertises in its announce packets.
|
|
/// Each feature adds its bit here when it ships.
|
|
static let localSupported: PeerCapabilities = [
|
|
.vouch,
|
|
.prekeys,
|
|
.groups,
|
|
.privateMedia,
|
|
.privateMediaReceipts
|
|
]
|
|
}
|