Harden PTT audio and the 1.7.1 release (#1423)

Centralize PTT and voice audio-session ownership, harden courier/bridge/outbox delivery and recovery, correct location and delivery-state races, add privacy/release metadata, and ship reproducible universal Arti slices with Release CI coverage.

Validated by the full iOS suite, repeated audio/fragment/performance regressions, BitFoundation tests, strict lint and dead-code analysis, universal iOS Release builds, and iOS/macOS archives.
This commit is contained in:
jack
2026-07-10 14:04:09 +02:00
committed by GitHub
parent b205a55523
commit 820c933958
91 changed files with 8381 additions and 1083 deletions
@@ -130,6 +130,14 @@ struct ChatViewModelDeliveryStatusTests {
#expect(Conversation.shouldSkipStatusUpdate(current: .delivered(to: "Peer", at: Date()), new: .sending))
#expect(Conversation.shouldSkipStatusUpdate(current: .read(by: "Peer", at: Date()), new: .sending))
#expect(Conversation.shouldSkipStatusUpdate(
current: .delivered(to: "Peer", at: Date()),
new: .failed(reason: "late transport failure")
))
#expect(Conversation.shouldSkipStatusUpdate(
current: .read(by: "Peer", at: Date()),
new: .failed(reason: "late transfer failure")
))
// A late async `.sending` (pre-handshake resend) must not visibly
// downgrade a truthful "Sent" either...
#expect(Conversation.shouldSkipStatusUpdate(current: .sent, new: .sending))