[WebRTC]Upgrade to m148#1192
Conversation
📝 WalkthroughWalkthroughThe PR updates all Swift Package, Xcode project, and CocoaPods WebRTC references from version 145.8.0 to 148.0.0. ChangesWebRTC version update
Estimated code review effort: 1 (Trivial) | ~5 minutes Possibly related PRs
Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 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: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@StreamVideo-XCFramework.podspec`:
- Line 27: Harden the WebRTC archive download and extraction steps in
StreamVideo-XCFramework.podspec lines 25-29 and StreamVideo.podspec lines 26-30:
make both curl commands fail on HTTP errors and validate the downloaded zip
against a trusted checksum before unzipping, aborting on any failure. Keep the
existing archive source and extraction flow otherwise unchanged.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 5a71cfa0-26d3-454a-9d23-812a8a05d98c
⛔ Files ignored due to path filters (1)
Sources/StreamVideo/Generated/SystemEnvironment+Version.swiftis excluded by!**/generated/**
📒 Files selected for processing (4)
Package.swiftStreamVideo-XCFramework.podspecStreamVideo.podspecStreamVideo.xcodeproj/project.pbxproj
| spec.prepare_command = <<-CMD | ||
| mkdir -p Frameworks/ | ||
| curl -sL "https://github.com/GetStream/stream-video-swift-webrtc/releases/download/145.8.0/StreamWebRTC.xcframework.zip" -o Frameworks/StreamWebRTC.zip | ||
| curl -sL "https://github.com/GetStream/stream-video-swift-webrtc/releases/download/148.0.0/StreamWebRTC.xcframework.zip" -o Frameworks/StreamWebRTC.zip |
There was a problem hiding this comment.
🔒 Security & Privacy | 🟠 Major | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -euo pipefail
# Inspect the relevant podspecs around the cited lines.
for f in StreamVideo-XCFramework.podspec StreamVideo.podspec; do
echo "===== $f ====="
nl -ba "$f" | sed -n '1,120p'
echo
done
# Locate all WebRTC download/extraction commands and any checksum handling.
rg -n --hidden --no-ignore-vcs -S \
'curl -sL|curl --fail|sha256|shasum|openssl dgst|prepare_command|StreamWebRTC\.xcframework\.zip|StreamWebRTC\.zip' \
StreamVideo-XCFramework.podspec StreamVideo.podspecRepository: GetStream/stream-video-swift
Length of output: 250
🏁 Script executed:
#!/bin/bash
set -euo pipefail
python3 - <<'PY'
from pathlib import Path
files = ["StreamVideo-XCFramework.podspec", "StreamVideo.podspec"]
for f in files:
print(f"===== {f} =====")
lines = Path(f).read_text().splitlines()
for i, line in enumerate(lines, 1):
if "curl -sL" in line or "prepare_command" in line or "sha256" in line or "StreamWebRTC" in line:
start = max(1, i - 4)
end = min(len(lines), i + 6)
for j in range(start, end + 1):
print(f"{j:4}: {lines[j-1]}")
print()
PY
rg -n -S 'curl -sL|curl --fail|sha256|shasum|openssl dgst|prepare_command|StreamWebRTC\.xcframework\.zip|StreamWebRTC\.zip' \
StreamVideo-XCFramework.podspec StreamVideo.podspecRepository: GetStream/stream-video-swift
Length of output: 5524
🏁 Script executed:
#!/bin/bash
set -euo pipefail
python3 - <<'PY'
import urllib.request
url = "https://raw.githubusercontent.com/GetStream/stream-video-swift-webrtc/148.0.0/Package.swift"
print("FETCH", url)
data = urllib.request.urlopen(url, timeout=20).read().decode("utf-8")
for needle in ["acc7330ece327c68dfa5b90d82c49dcec9847ef13b1a6b989c0a2de16d9e1ff0", "StreamWebRTC.xcframework.zip"]:
idx = data.find(needle)
print(needle, "FOUND" if idx != -1 else "NOT_FOUND")
if idx != -1:
start = max(0, idx - 120)
end = min(len(data), idx + 120)
print(data[start:end])
print()
PYRepository: GetStream/stream-video-swift
Length of output: 2858
🌐 Web query:
GetStream stream-video-swift-webrtc 148.0.0 Package.swift checksum StreamWebRTC.xcframework.zip acc7330ece327c68dfa5b90d82c49dcec9847ef13b1a6b989c0a2de16d9e1ff0
💡 Result:
As of July 13, 2026, there is no official GetStream stream-video-swift-webrtc release version 148.0.0 [1][2]. The latest releases in the GetStream WebRTC repository track specific WebRTC versions (e.g., version 145.10.0 was released on June 10, 2026) [2]. Additionally, the checksum acc7330ece327c68dfa5b90d82c49dcec9847ef13b1a6b989c0a2de16d9e1ff0 does not correspond to any known StreamWebRTC.xcframework.zip file in the GetStream ecosystem [3][1][2]. The provided string appears unrelated to the standard Swift Package Manager checksums used by the GetStream SDK, which are typically associated with specific binary release assets on GitHub [3][2]. If you are encountering this checksum or version number in a project configuration, it may be a manual error, an unofficial patch, or a misconfiguration. It is recommended to use the official versions and checksums provided in the GetStream releases page [1].
Citations:
- 1: https://github.com/GetStream/stream-video-swift-webrtc/releases
- 2: https://github.com/GetStream/stream-video-swift-webrtc/releases/tag/145.10.0
- 3: https://github.com/GetStream/stream-video-swift-webrtc/blob/main/Package.swift
Harden both WebRTC download steps. StreamVideo-XCFramework.podspec#L25-L29 and StreamVideo.podspec#L26-L30 still download and unzip the archive without --fail or checksum validation; add fail-closed curl handling and verify the zip before extraction.
📍 Affects 2 files
StreamVideo-XCFramework.podspec#L27-L27(this comment)StreamVideo.podspec#L28-L28
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@StreamVideo-XCFramework.podspec` at line 27, Harden the WebRTC archive
download and extraction steps in StreamVideo-XCFramework.podspec lines 25-29 and
StreamVideo.podspec lines 26-30: make both curl commands fail on HTTP errors and
validate the downloaded zip against a trusted checksum before unzipping,
aborting on any failure. Keep the existing archive source and extraction flow
otherwise unchanged.
Generated by 🚫 Danger |
Public Interface🚀 No changes affecting the public interface. |
SDK Size
|
martinmitrevski
left a comment
There was a problem hiding this comment.
there's an issue with the size, plus some of the checks are failing
|
The sizing issue it's probably because the current m148 release is debug including dsyms. AS this is a releases just for internal testing we can expect that prior or releasing m148 we will make a new release build that won't have this size difference. |
🔗 Issue Links
Resolves https://linear.app/stream/issue/IOS-1876/webrtcmigrate-to-m148
🎯 Goal
Describe why we are making this change.
📝 Summary
Provide bullet points with the most important changes in the codebase.
🛠 Implementation
Provide a detailed description of the implementation and explain your decisions if you find them relevant.
🎨 Showcase
Add relevant screenshots and/or videos/gifs to easily see what this PR changes, if applicable.
imgimg🧪 Manual Testing Notes
Explain how this change can be tested manually, if applicable.
☑️ Contributor Checklist
🎁 Meme
Provide a funny gif or image that relates to your work on this pull request. (Optional)
Summary by CodeRabbit