Repository navigation
Conversation
There was a problem hiding this comment.
🔵 Needs a closer look
Native CallKit audio-session sequencing remains high-risk because the real cross-app “Hold & Accept” flow is untested.
0 open findings
What changed in this PR
Updates iOS WebRTC audio handling to recover after audio-session changes and CallKit holds.
Changes:
- Disables WebRTC audio while a call is held and restores it upon activation or cleanup.
- Upgrades FishjamWebRTC to
124.0.2.4.
| File | Description |
|---|---|
ios/RCTWebRTC/CallKitManager.m |
Coordinates WebRTC audio state with CallKit hold and activation events. |
FishjamReactNativeWebrtc.podspec |
Bumps the native WebRTC dependency. |
🧠 Review effort: Balanced
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Magmusacy
marked this pull request as ready for review
October 7, 2026 18:21
2 of 6 tasks
czerwiukk
approved these changes
Oct 9, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes iOS call audio going silent mid-call after another library deactivates the audio session or a CallKit call is held.
Problem
Changes
FishjamWebRTCto124.0.2.4on iOS and Android (iOS: recover call audio after external audio session changes webrtc#3): WebRTC restarts its audio unit when something else stops it. The fix is iOS-only; Android is bumped to keep both platforms on the same version.CallKitManagerswitches WebRTC audio off (useManualAudio+isAudioEnabled = NO) on hold, before fulfilling the hold action. CallKit deactivates the session only after that, so nothing restarts the unit while the call is held.provider:didActivateAudioSession:and when the call is cleaned up.Apps should not stop or start the microphone on the
heldevent:startMicrophone()creates a track that is never sent, so the other side hears silence after the call is resumed.Testing
iPhone 16 + fishjam-chat + browser peer, with a local
124.0.2.4build:setIsAudioActiveAsync(false)(foreground and background): audio back after ~0.4 s.