feat(debug): GUI toggle for DRED verbose logs + macOS mic permission
DRED verbose logs (off by default — keeps logcat clean in normal use): - wzp-codec: DRED_VERBOSE_LOGS atomic flag with dred_verbose_logs() / set_dred_verbose_logs() helpers - opus_enc: gate "DRED enabled" + libopus version logs behind the flag - desktop/src-tauri/engine.rs: gate DredRecvState parse log, reconstruction log, classical PLC log, and DRED-counter fields in the Android recv heartbeat (non-verbose path still logs basic recv stats) - Tauri commands set_dred_verbose_logs / get_dred_verbose_logs - Settings panel gets a "DRED debug logs (verbose, dev only)" checkbox; preference persists in wzp-settings localStorage and is pushed to Rust on save and on app boot macOS mic permission: - Add desktop/src-tauri/Info.plist with NSMicrophoneUsageDescription. Without it, modern macOS silently denies CoreAudio capture for ad-hoc-signed Tauri builds — capture starts but every callback hands you zeros. Symptom: phones could not hear desktop client, desktop could still hear phones (playout has no TCC gate). The Tauri 2 bundler auto-merges this file into WarzonePhone.app's Contents/Info.plist on the next build, so first launch will pop the standard mic prompt. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -110,6 +110,22 @@ struct PingResult {
|
||||
server_fingerprint: String,
|
||||
}
|
||||
|
||||
/// Toggle DRED verbose logging at runtime (gates the chatty per-frame
|
||||
/// reconstruction + parse logs in opus_enc and engine.rs). Wired to the
|
||||
/// "DRED debug logs" checkbox in the GUI settings panel.
|
||||
#[tauri::command]
|
||||
fn set_dred_verbose_logs(enabled: bool) {
|
||||
wzp_codec::set_dred_verbose_logs(enabled);
|
||||
tracing::info!(enabled, "DRED verbose logs toggled");
|
||||
}
|
||||
|
||||
/// Read the current DRED verbose logging flag (so the GUI can hydrate
|
||||
/// its checkbox on startup without trusting localStorage alone).
|
||||
#[tauri::command]
|
||||
fn get_dred_verbose_logs() -> bool {
|
||||
wzp_codec::dred_verbose_logs()
|
||||
}
|
||||
|
||||
/// Ping a relay to check if it's online, measure RTT, and get server identity.
|
||||
#[tauri::command]
|
||||
async fn ping_relay(relay: String) -> Result<PingResult, String> {
|
||||
@@ -687,6 +703,7 @@ pub fn run() {
|
||||
deregister,
|
||||
set_speakerphone, is_speakerphone_on,
|
||||
get_call_history, get_recent_contacts, clear_call_history,
|
||||
set_dred_verbose_logs, get_dred_verbose_logs,
|
||||
])
|
||||
.run(tauri::generate_context!())
|
||||
.expect("error while running WarzonePhone");
|
||||
|
||||
Reference in New Issue
Block a user