upgrade to m145 webrtc and noise-cancellation lib#1678
Conversation
PR checklist ✅All required conditions are satisfied:
🎉 Great job! This PR is ready for review. |
WalkthroughThis PR updates the Android Video SDK to use newer snapshot versions of Stream components. The version catalog is bumped to snapshot releases, and the Gradle build configuration is extended with Sonatype's Maven snapshots repository to resolve those pre-release artifacts. ChangesDependency Updates
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 inconclusive)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ 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 `@settings.gradle.kts`:
- Line 18: The unscoped Maven snapshots repo can pull unrelated -SNAPSHOT
transitive artifacts; update the repository declaration that currently uses
maven { url = uri("https://central.sonatype.com/repository/maven-snapshots/") }
to add a content filter that only includes the io.getstream group (or a regex
matching io.getstream) so only Stream snapshots (e.g., streamWebRTC,
streamNoiseCancellation) are resolved; modify the maven repository block to use
content { includeGroup("io.getstream") } or
includeGroupByRegex("io\\.getstream(\\..*)?") as appropriate.
🪄 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: Repository UI
Review profile: CHILL
Plan: Pro
Run ID: 1b9fc921-ece8-457b-b47c-52c455716f23
📒 Files selected for processing (2)
gradle/libs.versions.tomlsettings.gradle.kts
| repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) | ||
| repositories { | ||
| google() | ||
| maven { url = uri("https://central.sonatype.com/repository/maven-snapshots/") } |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Verify current blast radius of SNAPSHOT usage and repo scoping.
set -euo pipefail
echo "== Snapshot versions in version catalog =="
rg -n '=\s*".*-SNAPSHOT"' gradle/libs.versions.toml
echo
echo "== Snapshot repo declarations in settings =="
rg -n 'maven-snapshots|snapshotsOnly|includeGroup' settings.gradle.ktsRepository: GetStream/stream-video-android
Length of output: 337
🏁 Script executed:
# Check the complete settings.gradle.kts to understand repo configuration context
head -n 40 settings.gradle.ktsRepository: GetStream/stream-video-android
Length of output: 1124
🏁 Script executed:
# Verify the artifact groups for the snapshot dependencies
rg -A 5 'streamWebRTC|streamNoiseCancellation' gradle/libs.versions.toml | head -n 20Repository: GetStream/stream-video-android
Length of output: 1151
🏁 Script executed:
# Search for how these snapshot artifacts are declared in actual dependencies
rg 'streamWebRTC|streamNoiseCancellation' --type gradle -A 2 -B 2Repository: GetStream/stream-video-android
Length of output: 223
🏁 Script executed:
# Search for all snapshot dependencies across gradle files
rg '\-SNAPSHOT' --type gradle-kts --type gradleRepository: GetStream/stream-video-android
Length of output: 109
🏁 Script executed:
# Also check if there are any other snapshot repos or references
rg 'snapshot' -i settings.gradle.ktsRepository: GetStream/stream-video-android
Length of output: 162
🏁 Script executed:
# Search for all SNAPSHOT references in gradle files
rg '\-SNAPSHOT' . --type gradle -B 2 -A 2Repository: GetStream/stream-video-android
Length of output: 56
🏁 Script executed:
# Also check build.gradle.kts files in modules to see what snapshots they depend on
fd 'build\.gradle\.kts$' | xargs rg -l 'SNAPSHOT' 2>/dev/null | head -5Repository: GetStream/stream-video-android
Length of output: 56
🏁 Script executed:
# Broader search for SNAPSHOT in all gradle config files
find . -type f \( -name '*.gradle' -o -name '*.gradle.kts' -o -name '*.toml' \) -exec rg 'SNAPSHOT' {} + 2>/dev/nullRepository: GetStream/stream-video-android
Length of output: 207
🏁 Script executed:
# Check if there are any comments or TODOs about snapshots
rg 'snapshot|SNAPSHOT' settings.gradle.kts -i -B 2 -A 2Repository: GetStream/stream-video-android
Length of output: 275
Scope the snapshots repository to Stream snapshots only.
The unscoped snapshots repo can unintentionally resolve unrelated -SNAPSHOT transitive artifacts, reducing determinism. Since only io.getstream snapshots are needed (streamWebRTC and streamNoiseCancellation), apply content filtering.
Suggested fix
- maven { url = uri("https://central.sonatype.com/repository/maven-snapshots/") }
+ maven {
+ url = uri("https://central.sonatype.com/repository/maven-snapshots/")
+ mavenContent { snapshotsOnly() }
+ content { includeGroup("io.getstream") }
+ }📝 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.
| maven { url = uri("https://central.sonatype.com/repository/maven-snapshots/") } | |
| maven { | |
| url = uri("https://central.sonatype.com/repository/maven-snapshots/") | |
| mavenContent { snapshotsOnly() } | |
| content { includeGroup("io.getstream") } | |
| } |
🤖 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 `@settings.gradle.kts` at line 18, The unscoped Maven snapshots repo can pull
unrelated -SNAPSHOT transitive artifacts; update the repository declaration that
currently uses maven { url =
uri("https://central.sonatype.com/repository/maven-snapshots/") } to add a
content filter that only includes the io.getstream group (or a regex matching
io.getstream) so only Stream snapshots (e.g., streamWebRTC,
streamNoiseCancellation) are resolved; modify the maven repository block to use
content { includeGroup("io.getstream") } or
includeGroupByRegex("io\\.getstream(\\..*)?") as appropriate.
SDK Size Comparison 📏
|
|



Goal
Upgrading to m145 version of webrtc
Implementation
Describe the implementation
Updated the latest m145 webrtc and the corresponding noise cancellation lib that supports this webrtc version
Testing
Test all things related to video and audio call, audio filters, background, noise cancellation
☑️Contributor Checklist
General
developbranchCode & documentation
stream-video-examples)☑️Reviewer Checklist
🎉 GIF
Please provide a suitable gif that describes your work on this pull request
Summary by CodeRabbit