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
4 changes: 2 additions & 2 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,8 @@ tink = "1.9.0"
turbine = "0.13.0"
itu = "1.7.3"

streamWebRTC = "137.1.1"
streamNoiseCancellation = "1.0.4"
streamWebRTC = "145.0.0-SNAPSHOT"
streamNoiseCancellation = "3.0.0-SNAPSHOT"
streamResult = "1.3.0"
streamChat = "6.10.0"
streamLog = "1.3.2"
Expand Down
1 change: 1 addition & 0 deletions settings.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
maven { url = uri("https://central.sonatype.com/repository/maven-snapshots/") }
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

🧩 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.kts

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

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

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

Repository: GetStream/stream-video-android

Length of output: 223


🏁 Script executed:

# Search for all snapshot dependencies across gradle files
rg '\-SNAPSHOT' --type gradle-kts --type gradle

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

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

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

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

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

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

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

mavenCentral()
maven(url = "https://plugins.gradle.org/m2/")
}
Expand Down
Loading