Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions sample-apps/react-native/dogfood/ios/Podfile
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ end
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'
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🏁 Script executed:

# First, locate and examine the Podfile
fd -type f -name "Podfile" | head -5

Repository: 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 -20

Repository: 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/null

Repository: GetStream/stream-video-js

Length of output: 241


🏁 Script executed:

# Find Podfile
find . -name "Podfile" 2>/dev/null

Repository: GetStream/stream-video-js

Length of output: 115


🏁 Script executed:

# Find podspec files
find . -name "*.podspec*" 2>/dev/null | head -20

Repository: 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 -50

Repository: GetStream/stream-video-js

Length of output: 2025


🏁 Script executed:

# Find package.json with react-native-webrtc
rg "react-native-webrtc" -t json | head -20

Repository: 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.podspec

Repository: 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/null

Repository: 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.podspec

Repository: 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 1

Repository: GetStream/stream-video-js

Length of output: 6515


🏁 Script executed:

# Search for any references to StreamWebRTC versions
rg "StreamWebRTC" -B 2 -A 2

Repository: 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 -100

Repository: 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.

Suggested change
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.


platform :ios, min_ios_version_supported
prepare_react_native_project!

Expand Down
22 changes: 12 additions & 10 deletions sample-apps/react-native/dogfood/ios/Podfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -3025,10 +3025,10 @@ PODS:
- SocketRocket
- stream-react-native-webrtc
- Yoga
- stream-react-native-webrtc (137.1.0):
- stream-react-native-webrtc (137.1.3-alpha.1):
- React-Core
- StreamWebRTC (~> 137.0.54)
- stream-video-react-native (1.28.3):
- StreamWebRTC (~> 137.0.62)
- stream-video-react-native (1.29.3):
- boost
- DoubleConversion
- fast_float
Expand Down Expand Up @@ -3058,7 +3058,7 @@ PODS:
- stream-react-native-webrtc
- Yoga
- StreamVideoNoiseCancellation (1.0.3)
- StreamWebRTC (137.0.54)
- StreamWebRTC (137.0.62)
- VisionCamera (4.7.2):
- VisionCamera/Core (= 4.7.2)
- VisionCamera/React (= 4.7.2)
Expand Down Expand Up @@ -3164,6 +3164,7 @@ DEPENDENCIES:
- "stream-io-video-filters-react-native (from `../node_modules/@stream-io/video-filters-react-native`)"
- "stream-react-native-webrtc (from `../node_modules/@stream-io/react-native-webrtc`)"
- "stream-video-react-native (from `../node_modules/@stream-io/video-react-native-sdk`)"
- StreamWebRTC (from `https://raw.githubusercontent.com/GetStream/stream-video-swift-webrtc/137.0.62/StreamWebRTC.podspec`)
- VisionCamera (from `../node_modules/react-native-vision-camera`)
- Yoga (from `../node_modules/react-native/ReactCommon/yoga`)

Expand All @@ -3172,7 +3173,6 @@ SPEC REPOS:
- React-Codegen
- SocketRocket
- StreamVideoNoiseCancellation
- StreamWebRTC

EXTERNAL SOURCES:
boost:
Expand Down Expand Up @@ -3364,6 +3364,8 @@ EXTERNAL SOURCES:
:path: "../node_modules/@stream-io/react-native-webrtc"
stream-video-react-native:
:path: "../node_modules/@stream-io/video-react-native-sdk"
StreamWebRTC:
:podspec: https://raw.githubusercontent.com/GetStream/stream-video-swift-webrtc/137.0.62/StreamWebRTC.podspec
VisionCamera:
:path: "../node_modules/react-native-vision-camera"
Yoga:
Expand Down Expand Up @@ -3464,13 +3466,13 @@ SPEC CHECKSUMS:
stream-chat-react-native: 2ad28c26fbc0b8cb20d675c6b2674871d78f914f
stream-io-noise-cancellation-react-native: 56787bb94ff912ee17661f4b24a3c4f9551f38ba
stream-io-video-filters-react-native: 8fdd1a1fcade0dcd699fd2e5b61b2152c0056219
stream-react-native-webrtc: dd4bc6e9717e6d90204008c22a44bc1c1f605e3b
stream-video-react-native: 63ec01f16adaca07717fa2af9d58700a1d1037b8
stream-react-native-webrtc: 597cb88fd251d388f2629856a80f956a056d4d5e
stream-video-react-native: 5be434cde5f0981f5832aa8099bf479bd239eeab
StreamVideoNoiseCancellation: 41f5a712aba288f9636b64b17ebfbdff52c61490
StreamWebRTC: 57bd35729bcc46b008de4e741a5b23ac28b8854d
StreamWebRTC: 655de87a633d873dd49f2629da0db0eceaccd0bf
VisionCamera: 891edb31806dd3a239c8a9d6090d6ec78e11ee80
Yoga: cc4a6600d61e4e9276e860d4d68eebb834a050ba

PODFILE CHECKSUM: aa62ba474533b73121c2068a13a8b909b17efbaa
PODFILE CHECKSUM: f9fdd5e502c59d6faf695896851e1819dd97645e

COCOAPODS: 1.16.2
COCOAPODS: 1.15.2
2 changes: 1 addition & 1 deletion sample-apps/react-native/dogfood/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
"@react-navigation/native": "^7.1.18",
"@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",
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

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.

"@stream-io/video-filters-react-native": "workspace:^",
"@stream-io/video-react-native-sdk": "workspace:^",
"axios": "^1.12.2",
Expand Down
15 changes: 14 additions & 1 deletion yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -7431,6 +7431,19 @@ __metadata:
languageName: node
linkType: hard

"@stream-io/react-native-webrtc@npm:137.1.3-alpha.1":
version: 137.1.3-alpha.1
resolution: "@stream-io/react-native-webrtc@npm:137.1.3-alpha.1"
dependencies:
base64-js: "npm:1.5.1"
debug: "npm:4.3.4"
event-target-shim: "npm:6.0.2"
peerDependencies:
react-native: ">=0.73.0"
checksum: 10/3ff3b7fd1cf1f59b9e7c1980772fea94409e1c04c383e924553ad932806537b8a01c7cf8d720a297b39e59139baa8d12448987e717077d5164d83afeee973e62
languageName: node
linkType: hard

"@stream-io/stream-video-react-tutorial@workspace:sample-apps/react/stream-video-react-tutorial":
version: 0.0.0-use.local
resolution: "@stream-io/stream-video-react-tutorial@workspace:sample-apps/react/stream-video-react-tutorial"
Expand Down Expand Up @@ -7658,7 +7671,7 @@ __metadata:
"@rnx-kit/metro-config": "npm:^2.1.2"
"@rnx-kit/metro-resolver-symlinks": "npm:^0.2.6"
"@stream-io/noise-cancellation-react-native": "workspace:^"
"@stream-io/react-native-webrtc": "npm:137.1.0"
"@stream-io/react-native-webrtc": "npm:137.1.3-alpha.1"
"@stream-io/video-filters-react-native": "workspace:^"
"@stream-io/video-react-native-sdk": "workspace:^"
"@types/react": "npm:~19.1.17"
Expand Down