Commit Graph
3 Commits
Author SHA1 Message Date
jackandClaude Opus 4.8 3619ce081d Adapt invalid-receipt test to quarantine semantics after rebase
The structurally invalid record is now quarantined aside on first
lookup instead of staying in place globally fail-closed, so the test
clears the .corrupt file before exercising journal validation alone.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-26 14:15:37 +02:00
jackandjack 77fe2eb1b9 Make private media deletion transactional 2026-07-26 14:15:37 +02:00
jackandGitHub fb451bc6d0 Persist authenticated private-media delivery receipts (#1466)
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.
2026-07-26 14:00:21 +02:00