chore: record rn-webrtc and livekit merge-bases#33
Merged
santhoshvai merged 114 commits intomasterfrom Apr 21, 2026
Merged
Conversation
1a03f67 android: drop UVC camera support ( Saúl Ibarra Corretgé 2024-04-04 17:11:34 +0200)
* ios: update webrtc to 114.5735.10 * make podspec fuzzy
157729c ios: update webrtc to 114.5735.10 (#7) ( davidliu 2024-05-03 17:45:56 +0900) 495658d ci: fix build (react-native-webrtc#1562) ( davidliu 2024-05-03 17:18:31 +0900) 822cac7 release 118.0.7 ( Saúl Ibarra Corretgé 2024-04-18 13:32:21 +0200) 882f8b1 release 118.0.6 ( Saúl Ibarra Corretgé 2024-04-11 23:03:33 +0200) 8dfc9c3 Revert "android, ios: remove track when removed from peerconnection (react-native-webrtc#1525)" (react-native-webrtc#1550) ( Johnathon Weaver 2024-04-17 14:38:36 +0800) c0c446a ios: fix not being able to deactivate encodings ( Saúl Ibarra Corretgé 2024-04-11 22:31:38 +0200) 5d85486 android,ios: don't reject promise for getStats (react-native-webrtc#1541) ( davidliu 2024-04-11 00:58:52 +0900) f1bc9ff Update AndroidInstallation.md ( davidliu 2024-04-09 12:01:07 +0900)
4e442f1 Update android webrtc to 114.5735.11 ( davidliu 2024-05-22 15:47:12 +0900)
29210ac android: release audio device module after creating factory ( davidliu 2024-06-21 22:05:29 +0900)
* webrtc: update WebRTC to M124 * api: allow sdpMid / sdpLineIndex to be null in RTCIceCandidate Having both as null is still an error. Fixes: react-native-webrtc#1518 * ios: refactor rendering in RTCVideoView The way the renderer is implemented is as follows: there is a UIView which holds on to a RTCMTLVideoView, which does the actual rendering in metal. Rather than using our own home-grown mechanism to layout the views, just make sure the Metal view takes 100% of the space of our view, and then use the `videoContentMode` property to set it to cover or contain, matching the way a browser would do it. This greatly simplifies the code because we lonnger care about the video size, the Metal renderer makes the adjustments autmagically. In addition, the mirror and object-fit properties are only applied once, when they change, not on every layout change, which is unnecessary. * ios: add all available camera device types * preserve order * release 124.0.1 20cf1d5 preserve order ( Burak KIYAK 2024-05-03 13:41:59 +0200) 64e8298 ios: add all available camera device types ( Burak KIYAK 2024-04-30 12:30:38 +0200) f36b6b8 ios: refactor rendering in RTCVideoView ( Saúl Ibarra Corretgé 2024-06-11 09:35:36 +0200) * build(deps-dev): bump braces from 3.0.2 to 3.0.3 (react-native-webrtc#1578) Bumps [braces](https://github.com/micromatch/braces) from 3.0.2 to 3.0.3. - [Changelog](https://github.com/micromatch/braces/blob/master/CHANGELOG.md) - [Commits](micromatch/braces@3.0.2...3.0.3) --- updated-dependencies: - dependency-name: braces dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * mark for beta release --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: Saúl Ibarra Corretgé <saghul@jitsi.org> Co-authored-by: omerts <omerts3@gmail.com> Co-authored-by: Saúl Ibarra Corretgé <s@saghul.net> Co-authored-by: Burak KIYAK <brkkyk@gmail.com> Co-authored-by: Burak KIYAK <bkiyak@turnitin.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
49af0ad ios: Add audioProcessingModule to WebRTCModuleOptions (#13) ( davidliu 2024-07-26 14:22:57 +0900) 774f39e android: declare a dependency on androidx.core 1.7.0 ( davidliu 2024-06-25 19:37:49 +0900) 6986a6e Update README.md ( davidliu 2024-06-24 14:30:33 +0900) e0740f0 Update README.md to avoid confusion with the original ( davidliu 2024-06-24 14:30:17 +0900)
ffd5936 android,ios: update webrtc to 125.0.4 ( davidliu 2024-08-05 00:25:40 +0900) 09f609b release 124.0.3 ( Saúl Ibarra Corretgé 2024-07-08 10:43:08 +0200) 3e11c99 misc: ignore Android build files when releasing to npm ( Saúl Ibarra Corretgé 2024-07-08 10:42:23 +0200) a45efdc release 124.0.2 ( Saúl Ibarra Corretgé 2024-07-08 10:39:16 +0200) 160ece9 ios: fix compatibility with RN >= 0.73 ( Saúl Ibarra Corretgé 2024-06-27 23:04:49 +0200) 5fdb6ad android: declare dependency on androidx.core 1.7.0 (react-native-webrtc#1586) ( davidliu 2024-06-26 00:30:02 +0900) 0a36e9d android: release audio manager module after creating factory ( davidliu 2024-06-21 22:04:45 +0900) 54b5607 build(deps-dev): bump braces from 3.0.2 to 3.0.3 (react-native-webrtc#1578) ( dependabot[bot] 2024-06-13 17:59:14 +0800) 232fc06 release 124.0.1 ( Saúl Ibarra Corretgé 2024-06-13 10:45:44 +0200) 20cf1d5 preserve order ( Burak KIYAK 2024-05-03 13:41:59 +0200) 64e8298 ios: add all available camera device types ( Burak KIYAK 2024-04-30 12:30:38 +0200) f36b6b8 ios: refactor rendering in RTCVideoView ( Saúl Ibarra Corretgé 2024-06-11 09:35:36 +0200) bbd903c api: allow sdpMid / sdpLineIndex to be null in RTCIceCandidate ( omerts 2024-06-04 14:42:40 +0300) ff6110e webrtc: update WebRTC to M124 ( Saúl Ibarra Corretgé 2024-06-03 14:33:18 +0200)
* ios: add support for external cameras on iPad * ci: remove flipper from gumtestapp (react-native-webrtc#1608) These were causing build errors recently, and were generally unneeded anyways. * pc: align createDataChannel with standard - Throw TypeError if no argument passed - Stringify the label Fixes: react-native-webrtc#1605 * android: report actual size in camera MediaStreamTrack settings (react-native-webrtc#1598) * ios: fix exception in iOS 17+ w/ Xcode 15.4 * android: remove no longer used replace rule from manifest (react-native-webrtc#1609) * sender: fix serializing RTCRtpSendParameters It's possible for user code to replace encodings entirely. Thus, the resulting array will not have RTCRtpEncodingParameters object instances, but plain objects. Handle it by deep-cloning the objects with JSON.parse(JSON.stringify(x)) since that will take care of appropriately serializing them, no matter the type. * misc: make serialization more resilient Don't directly call toJSON, but rather rely on JSON serialization to do it when cloning. * release 124.0.4 89557ca misc: make serialization more resilient ( Saúl Ibarra Corretgé 2024-08-14 11:53:32 +0200) 6cfedd7 sender: fix serializing RTCRtpSendParameters ( Saúl Ibarra Corretgé 2024-08-14 11:11:08 +0200) ac7f578 android: remove no longer used replace rule from manifest (react-native-webrtc#1609) ( Saúl Ibarra Corretgé 2024-08-07 17:17:03 +0200) f6667c8 ios: fix exception in iOS 17+ w/ Xcode 15.4 ( mtdxc 2024-08-07 17:22:10 +0800) 4c34ae1 android: report actual size in camera MediaStreamTrack settings (react-native-webrtc#1598) ( davidliu 2024-08-07 17:56:57 +0900) fb02a5b pc: align createDataChannel with standard ( Saúl Ibarra Corretgé 2024-08-06 15:28:24 +0200) c0ddefd ci: remove flipper from gumtestapp (react-native-webrtc#1608) ( davidliu 2024-08-07 16:00:01 +0900) a1bb18a ios: add support for external cameras on iPad ( mtdxc 2024-07-10 20:25:23 +0800) * ios: Add RTCAudioSession helper methods needed for CallKit (react-native-webrtc#1614) * Fix package name references --------- Co-authored-by: mtdxc <mtdxc@126.com> Co-authored-by: Saúl Ibarra Corretgé <s@saghul.net> Co-authored-by: Saúl Ibarra Corretgé <saghul@jitsi.org>
503ec7f ios: fix crash in iOS 26 simulator ( Saúl Ibarra Corretgé 2025-10-07 17:00:30 +0200) ea08b32 Update building WebRTC docs ( Kota 2025-09-20 22:59:25 +0900) 0ab26cb fix: typo in _validatePermissionDescriptor method name ( yoohaso 2025-09-05 18:38:40 +0900) bf0c944 pc: handle null when normalizing options ( Saúl Ibarra Corretgé 2025-08-13 10:56:11 +0200) de82ad3 android: fix NPE in gUM ( Saúl Ibarra Corretgé 2025-08-06 14:12:36 +0200)
We need to get the video track in the executor to make sure all operations are serialized, but rather than blocking the UI thread to wait for the result, post the result back to the UI thread after we get it.
Browsers (Chrome, Firefox, Safari) throw an InvalidStateError when addIceCandidate is called on a closed RTCPeerConnection, as per the W3C WebRTC spec. This change aligns react-native-webrtc with that behavior by throwing an error instead of silently proceeding. This is consistent with how addTrack and removeTrack already handle the closed state in this codebase. Fixes: react-native-webrtc#1795
The '/index' suffix in the imports is unnecessary as the package resolves correctly without it. This change simplifies the import statements across multiple files.
… event attributes Updated MediaDevices, MediaStream, MediaStreamTrack, RTCDataChannel, and RTCPeerConnection classes to use getter and setter methods for event attributes instead of the defineEventAttribute function. This change enhances code readability and maintainability.
Bumps [flatted](https://github.com/WebReflection/flatted) from 3.2.7 to 3.4.2. - [Commits](WebReflection/flatted@v3.2.7...v3.4.2) --- updated-dependencies: - dependency-name: flatted dependency-version: 3.4.2 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com>
124.0.7 plus vendored event-target-shim --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: mtdxc <mtdxc@126.com> Co-authored-by: Saúl Ibarra Corretgé <s@saghul.net> Co-authored-by: Saúl Ibarra Corretgé <saghul@jitsi.org> Co-authored-by: Saba <msabaeian@gmail.com> Co-authored-by: Dmitry <dimon.fly.mail@mail.ru> Co-authored-by: YUN HANSOL <46476678+yoohaso@users.noreply.github.com> Co-authored-by: yoohaso <solhanyun@gmail.com> Co-authored-by: Johnathon Weaver <weaver123_johnathon@hotmail.com> Co-authored-by: Oliver Lazoroski <oliver.lazoroski@gmail.com> Co-authored-by: Rakesh Merugu <mrakesh0608@outlook.com> Co-authored-by: hmeerlo <herman@meerlo.com> Co-authored-by: Kota <kota@yatagai.com> Co-authored-by: Martin Liu <m@rtin.sh> Co-authored-by: naveenkirugulige <naveenkirugulige@gmail.com> Co-authored-by: wuxinfei <wuxinfei@bytedance.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: davidliu <davidliu@deviange.net>
fe4ce0f upgrade libwebrtc to m144 (livekit#68) ( Hiroshi Horie 2026-03-25 18:09:01 +0900)
Bumps [picomatch](https://github.com/micromatch/picomatch) from 2.3.1 to 2.3.2. - [Release notes](https://github.com/micromatch/picomatch/releases) - [Changelog](https://github.com/micromatch/picomatch/blob/master/CHANGELOG.md) - [Commits](micromatch/picomatch@2.3.1...2.3.2) --- updated-dependencies: - dependency-name: picomatch dependency-version: 2.3.2 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com>
134ca86 Expose audio engine APIs (livekit#62) ( Hiroshi Horie 2026-03-31 17:21:03 +0800)
Co-authored-by: wuxinfei <wuxinfei@bytedance.com>
# Why
The current iOS implementation uses a compile-time simulator guard that always skips camera capture setup on Simulator. That makes simulator behavior diverge from runtime capability and blocks valid camera flows when a runtime video source is available.
# How
This change replaces the unconditional simulator skip in `createVideoTrack(...)` with a simulator-only runtime camera availability check:
- Add a runtime guard on Simulator using `AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo`.
- Keep camera capture setup enabled when a runtime video device is available.
- Preserve fallback behavior when no runtime video device is available.
- Leave non-simulator platforms unchanged.
# Test Plan
- iOS Simulator without a runtime video device: verify `getUserMedia({ video: true })` keeps existing no-camera fallback behavior (no capture controller setup).
- iOS Simulator with a runtime video device available: verify `getUserMedia({ video: true })` follows normal camera capture setup and starts capture.
- Physical iOS device: verify camera track creation behavior remains unchanged.
Validation attempted in this checkout:
- Code-path validation via focused diff review.
- No device/simulator runtime execution performed in this environment.
Squash-merge of PR #31 flattened the merge commits that advanced the merge-base. This ghost merge (-s ours) records that master has seen rn-webrtc/master up to this point without changing any files. All upstream changes were already cherry-picked into master.
Squash-merge of PR #31 flattened the merge commits that advanced the merge-base. This ghost merge (-s ours) records that master has seen livekit/master up to this point without changing any files. All relevant changes were already cherry-picked into master.
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.
Summary
rn-webrtc/masterandlivekit/master.git merge rn-webrtc/masterorgit merge livekit/masterwould replay all 40 + 72 upstream commits again.git merge -s ours) that record the merge-bases without changing any files.What this changes
-s ourskeeps our tree exactly as-is8bd5e0a(original fork point) →f7b6382(HEAD at sync time)09f609b(original fork point) →4880685(HEAD at sync time)Why
Without these ghost merges, the next sync would have to re-triage all 112 upstream commits (including the ones we intentionally skipped like PIP, release bumps, and reverted changes).
Important
Do NOT squash-merge this PR. Use regular "Create a merge commit" to preserve the merge commits. Squash-merge would flatten them again and defeat the purpose.
Test plan
git diff master..HEADshows no file changesgit log --oneline --right-only master...rn-webrtc/masterreturns 0 commitsgit log --oneline --right-only master...livekit/masterreturns 0 commits🤖 Generated with Claude Code