Encrypt private media before fragmentation

This commit is contained in:
jack
2026-07-10 21:00:54 +02:00
parent 733098bb63
commit 7faa9d7d4a
25 changed files with 893 additions and 138 deletions
@@ -105,6 +105,30 @@ struct TransferProgressManagerTests {
#expect(manager.snapshot(id: transferID) == nil)
_ = cancellable
}
@Test("Preflight rejection publishes cancellation without a started state")
@MainActor
func rejectBeforeStartPublishesCancellation() async {
let manager = TransferProgressManager()
let transferID = "transfer-preflight-reject"
var cancellable: AnyCancellable?
let recorder = EventRecorder()
cancellable = manager.publisher.sink { event in
if case .cancelled(let id, let sent, let total) = event {
recorder.append("cancelled:\(id):\(sent):\(total)")
}
}
manager.rejectBeforeStart(id: transferID)
let didReceive = await TestHelpers.waitUntil({
recorder.values == ["cancelled:\(transferID):0:0"]
}, timeout: 5.0)
#expect(didReceive)
#expect(manager.snapshot(id: transferID) == nil)
_ = cancellable
}
}
private final class EventRecorder: @unchecked Sendable {