From c8bcc5c974b5fe8bc2134ff76b1ffef9441525e7 Mon Sep 17 00:00:00 2001 From: Siavash Sameni Date: Tue, 7 Apr 2026 19:39:31 +0400 Subject: [PATCH] fix: advertise studio profiles in handshake supported_profiles The CallOffer only advertised GOOD/DEGRADED/CATASTROPHIC. When a client uses a studio profile, the relay's choose_profile couldn't pick it. Now advertises all 6 profiles (studio 64k/48k/32k + good + degraded + catastrophic) in both Android engine and shared handshake. Also: the relay MUST be rebuilt with the new CodecId variants, otherwise it will fail to deserialize CallOffer messages containing studio QualityProfiles in supported_profiles. Co-Authored-By: Claude Opus 4.6 (1M context) --- crates/wzp-android/src/engine.rs | 3 +++ crates/wzp-client/src/handshake.rs | 3 +++ 2 files changed, 6 insertions(+) diff --git a/crates/wzp-android/src/engine.rs b/crates/wzp-android/src/engine.rs index 18450be..8e84de4 100644 --- a/crates/wzp-android/src/engine.rs +++ b/crates/wzp-android/src/engine.rs @@ -311,6 +311,9 @@ async fn run_call( ephemeral_pub, signature, supported_profiles: vec![ + QualityProfile::STUDIO_64K, + QualityProfile::STUDIO_48K, + QualityProfile::STUDIO_32K, QualityProfile::GOOD, QualityProfile::DEGRADED, QualityProfile::CATASTROPHIC, diff --git a/crates/wzp-client/src/handshake.rs b/crates/wzp-client/src/handshake.rs index 7a83edc..e7faf52 100644 --- a/crates/wzp-client/src/handshake.rs +++ b/crates/wzp-client/src/handshake.rs @@ -38,6 +38,9 @@ pub async fn perform_handshake( ephemeral_pub, signature, supported_profiles: vec![ + QualityProfile::STUDIO_64K, + QualityProfile::STUDIO_48K, + QualityProfile::STUDIO_32K, QualityProfile::GOOD, QualityProfile::DEGRADED, QualityProfile::CATASTROPHIC,