Files
voice-cat/PROGRESS.md
T
Talon 0372baf589
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
Fix iOS voice capture and screen sharing
2026-09-21 14:14:15 +02:00

43 lines
2.2 KiB
Markdown

# 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.
The physical-device iOS voice path now supports ReplayKit fallback and stable Apple VPIO
voice-chat capture using a paced 20 ms handoff. Stereo microphone routing remains an open device
gate: the stereo preset currently receives duplicated mono samples despite selecting the built-in
stereo capsule.
## 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.