Files
voice-cat/PROGRESS.md
T
Talon 35617e9708
Build and test / test (macos-latest) (push) Canceled after 0s
Build and test / test (ubuntu-24.04) (push) Canceled after 0s
Build and test / test (windows-latest) (push) Canceled after 0s
Build and test / apple-client (push) Canceled after 0s
Add signed iOS release workflow
2026-09-21 04:05:40 +02:00

1.9 KiB

VoiceCat status

Updated: 2026-09-20

Current state

VoiceCat's supported implementation is .NET 10. The managed protocol, crypto, TLS, server, CLI, client state, audio engine, Windows client, macOS client, and iOS client are implemented. Retired implementations and compatibility projects have been removed; this tree contains only the supported product and its required native media boundaries.

The source-of-truth layout is:

  • proto/voicecat.proto — wire schema.
  • src/ — protocol, crypto, codec/DSP bindings, server, client core, audio, and CLI.
  • tests/VoiceCat.Tests/ — managed behavior and integration tests.
  • clients/windows/ — WinForms application over the managed core.
  • clients/apple/ — AppKit and UIKit applications over the managed core.
  • native/media/ and native/rnnoise/ — required Opus/RNNoise shim and vendored RNNoise.
  • native/apple/broadcast/ — required ReplayKit upload extension and shared ring producer.

Release gates

  • Run real multi-person calls on Windows, macOS, and physical iOS hardware, including adaptive 20/40/60 ms buffering, duration-aware DRED/FEC, and mismatched input/output endpoints.
  • Complete NVDA and VoiceOver navigation/announcement passes.
  • Exercise iOS background/lock, interruption, Bluetooth, route-change, ReplayKit, and iOS 27 ScreenCaptureKit paths on devices. Verify distinct left/right capture with the stereo microphone preset, including changing mono/stereo while joined, and Windows desktop/per-app stereo sharing.
  • Complete Developer ID signing/notarization. The iOS host and ReplayKit extension have been distribution-signed and packaged locally; upload the IPA for Apple's server-side validation.
  • Run the published Linux container and a 30-minute-or-longer server soak.

Working rule

Keep this file short. It records only current state and open release gates. Git history is the implementation diary.