CloudStream Mega Update: Reliable Disable, Multi-Select, Smart Sources, Folders, Auto-Maintenance, Unified Progress, and VPN Check#2867
Open
parabamol63 wants to merge 9 commits into
Conversation
…s, Folders, Auto-Maintenance, Unified Progress, and VPN Check
fire-light42
requested changes
Jun 3, 2026
fire-light42
left a comment
Collaborator
There was a problem hiding this comment.
- Read our AI Policy https://github.com/recloudstream/cloudstream/blob/master/AI-POLICY.md
- Writing a pull request with many features makes the review process really hard, and as such each of these features should be a separate and small pull request.
The central error-handling utilities (safe, safeAsync, launchSafe, safeApiCall, and the deprecated normalSafeApiCall/suspendSafeApiCall) caught Throwable and turned any failure into null / a Failure resource. This also swallowed CancellationException, breaking coroutine structured concurrency: cancelling a job would be silently absorbed (and even logged as an error) instead of propagating. Rethrow CancellationException before the generic catch so cancellation keeps propagating while genuine errors are still logged. Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
…n, harden WebView and Runtime.exec - Move hardcoded TMDB API key from SearchSuggestionApi to BuildConfig (sourced from env var TMDB_API_KEY / local.properties tmdb.key) - Change CS3IPlayer.ignoreSSL default from true to false so SSL certificate validation is enforced unless explicitly opted out - SSLTrustManager: reject null/empty certificate chains, log when accepting unverified certificates - WebViewResolver: cancel on SSL errors instead of blindly proceeding - WebviewFragment RepoApi: block non-HTTPS repository URLs from the JavaScript interface - Use Runtime.exec(String[]) array form instead of string form to prevent potential command injection in getprop and logcat calls Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
…JsUnpacker, StringUtils) Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
…-utils Refactor duplicated result UI code into shared helpers
…tests test: add unit tests for least-covered library utils
fix: security hardening — remove hardcoded API key, fix SSL validation, harden WebView and exec calls
…cellation Propagate CancellationException in core safe/launchSafe error helpers
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This update introduces seven major features designed to transform CloudStream into a more reliable, intelligent, and user-friendly media center.
✨ New Features
🛠️ Technologies Added/Improved