Conversation
|
📝 WalkthroughWalkthroughDependencies are updated across the iOS and JavaScript layers: a new Changes
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@sample-apps/react-native/dogfood/ios/Podfile`:
- Line 13: Move the pod declaration for StreamWebRTC into the target block to
make the Podfile intent explicit: locate the top-level line "pod 'StreamWebRTC',
podspec:
'https://raw.githubusercontent.com/GetStream/stream-video-swift-webrtc/137.0.62/StreamWebRTC.podspec'"
and cut it into the "target 'StreamReactNativeVideoSDKSample'" block (near the
"use_frameworks! :linkage => :static" statement) so the pod is declared inside
that target rather than at root scope.
In `@sample-apps/react-native/dogfood/package.json`:
- Line 24: The PR updates the react-native WebRTC dependency to the pre-release
"@stream-io/react-native-webrtc": "137.1.3-alpha.1" but does not include the
regenerated CocoaPods lock; run pod install in the iOS workspace to produce an
updated Podfile.lock that reflects the pinned StreamWebRTC (e.g., the manual pin
"StreamWebRTC 137.0.62" in the Podfile), then add and commit the updated
Podfile.lock alongside the package.json change so other contributors will get
the exact CocoaPods resolution.
| node_require('react-native/scripts/react_native_pods.rb') | ||
| node_require('react-native-permissions/scripts/setup.rb') | ||
|
|
||
| pod 'StreamWebRTC', podspec: 'https://raw.githubusercontent.com/GetStream/stream-video-swift-webrtc/137.0.62/StreamWebRTC.podspec' |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
# First, locate and examine the Podfile
fd -type f -name "Podfile" | head -5Repository: GetStream/stream-video-js
Length of output: 239
🏁 Script executed:
# Check for podspec files related to react-native-webrtc
fd -type f -name "*.podspec*" | head -20Repository: GetStream/stream-video-js
Length of output: 239
🏁 Script executed:
# Look for package.json files that might contain `@stream-io/react-native-webrtc`
fd -type f -name "package*.json" | xargs grep -l "react-native-webrtc" 2>/dev/nullRepository: GetStream/stream-video-js
Length of output: 241
🏁 Script executed:
# Find Podfile
find . -name "Podfile" 2>/dev/nullRepository: GetStream/stream-video-js
Length of output: 115
🏁 Script executed:
# Find podspec files
find . -name "*.podspec*" 2>/dev/null | head -20Repository: GetStream/stream-video-js
Length of output: 398
🏁 Script executed:
# Look at the Podfile content
cat -n sample-apps/react-native/dogfood/ios/Podfile | head -50Repository: GetStream/stream-video-js
Length of output: 2025
🏁 Script executed:
# Find package.json with react-native-webrtc
rg "react-native-webrtc" -t json | head -20Repository: GetStream/stream-video-js
Length of output: 1570
🏁 Script executed:
# Check the react-native-sdk podspec
cat -n packages/react-native-sdk/stream-video-react-native.podspecRepository: GetStream/stream-video-js
Length of output: 2174
🏁 Script executed:
# Look for any node_modules or installed podspecs
find . -path "*/node_modules/@stream-io/react-native-webrtc/*.podspec*" 2>/dev/nullRepository: GetStream/stream-video-js
Length of output: 51
🏁 Script executed:
# Search for StreamWebRTC version references in podspecs
rg "StreamWebRTC" -A 2 -B 2 packages/react-native-sdk/stream-video-react-native.podspecRepository: GetStream/stream-video-js
Length of output: 51
🏁 Script executed:
# Check if stream-react-native-webrtc exists as a pod in the repo
rg "stream-react-native-webrtc" -A 3 -B 1Repository: GetStream/stream-video-js
Length of output: 6515
🏁 Script executed:
# Search for any references to StreamWebRTC versions
rg "StreamWebRTC" -B 2 -A 2Repository: GetStream/stream-video-js
Length of output: 3171
🏁 Script executed:
# Check the dogfood app's full dependencies to understand the package structure
cat sample-apps/react-native/dogfood/package.json | head -100Repository: GetStream/stream-video-js
Length of output: 2856
Move the StreamWebRTC pod inside the target block for clarity.
The StreamWebRTC pod is declared at the root scope (line 13), before platform :ios and outside the target 'StreamReactNativeVideoSDKSample' block. While CocoaPods' implicit abstract target mechanism allows this to work, placing it alongside use_frameworks! :linkage => :static (line 36) inside the target block makes the intent clearer and is idiomatic.
Version alignment is already correct: The Podfile.lock confirms that stream-react-native-webrtc@137.1.3-alpha.1 declares StreamWebRTC (~> 137.0.62), and the manually specified 137.0.62 satisfies this constraint. No version conflict exists.
♻️ Suggested placement
-pod 'StreamWebRTC', podspec: 'https://raw.githubusercontent.com/GetStream/stream-video-swift-webrtc/137.0.62/StreamWebRTC.podspec'
-
platform :ios, min_ios_version_supported
...
target 'StreamReactNativeVideoSDKSample' do
config = use_native_modules!
use_frameworks! :linkage => :static
$RNFirebaseAsStaticFramework = true
+ pod 'StreamWebRTC', podspec: 'https://raw.githubusercontent.com/GetStream/stream-video-swift-webrtc/137.0.62/StreamWebRTC.podspec'
...
end📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| pod 'StreamWebRTC', podspec: 'https://raw.githubusercontent.com/GetStream/stream-video-swift-webrtc/137.0.62/StreamWebRTC.podspec' | |
| platform :ios, min_ios_version_supported | |
| target 'StreamReactNativeVideoSDKSample' do | |
| config = use_native_modules! | |
| use_frameworks! :linkage => :static | |
| $RNFirebaseAsStaticFramework = true | |
| pod 'StreamWebRTC', podspec: 'https://raw.githubusercontent.com/GetStream/stream-video-swift-webrtc/137.0.62/StreamWebRTC.podspec' | |
| end |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@sample-apps/react-native/dogfood/ios/Podfile` at line 13, Move the pod
declaration for StreamWebRTC into the target block to make the Podfile intent
explicit: locate the top-level line "pod 'StreamWebRTC', podspec:
'https://raw.githubusercontent.com/GetStream/stream-video-swift-webrtc/137.0.62/StreamWebRTC.podspec'"
and cut it into the "target 'StreamReactNativeVideoSDKSample'" block (near the
"use_frameworks! :linkage => :static" statement) so the pod is declared inside
that target rather than at root scope.
| "@react-navigation/native-stack": "^7.3.27", | ||
| "@stream-io/noise-cancellation-react-native": "workspace:^", | ||
| "@stream-io/react-native-webrtc": "137.1.0", | ||
| "@stream-io/react-native-webrtc": "137.1.3-alpha.1", |
There was a problem hiding this comment.
Pre-release alpha — confirm Podfile.lock is committed alongside.
The latest stable release on npm is 137.0.2, so 137.1.3-alpha.1 is an unpublished pre-release (consistent with the "DO NOT MERGE YET" label). The exact pin is appropriate here.
One operational note: the Podfile.lock should always be kept under version control — it is generated after the first run of pod install and tracks the exact version of each pod that was installed. The PR diff doesn't include an updated Podfile.lock. Committing the regenerated lock file alongside this change prevents other contributors on the branch from hitting a different (potentially conflicting) CocoaPods resolution, especially given the manually pinned StreamWebRTC 137.0.62 in the Podfile.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@sample-apps/react-native/dogfood/package.json` at line 24, The PR updates the
react-native WebRTC dependency to the pre-release
"@stream-io/react-native-webrtc": "137.1.3-alpha.1" but does not include the
regenerated CocoaPods lock; run pod install in the iOS workspace to produce an
updated Podfile.lock that reflects the pinned StreamWebRTC (e.g., the manual pin
"StreamWebRTC 137.0.62" in the Podfile), then add and commit the updated
Podfile.lock alongside the package.json change so other contributors will get
the exact CocoaPods resolution.
💡 Overview
DO NOT MERGE YET
Test plan
📝 Implementation notes
webrtc ref: GetStream/react-native-webrtc#27
How to run the iOS App
SDK setup
iOS setup
Summary by CodeRabbit