diff --git a/js/app.js b/js/app.js index 3c520c4e..e5c8110e 100644 --- a/js/app.js +++ b/js/app.js @@ -497,12 +497,13 @@ class Application { if (source === "torrent" && hasActivePeers === false) { userLogger.warn( - "[app] Unable to switch to torrent playback: no active peers.", + "[app] Switching to torrent playback despite 0 active peers detected.", ); - this.showError( - "Torrent playback is unavailable right now because there are no active peers.", + this.showStatus( + "Warning: No peers detected. Playback may fail or stall.", + { autoHideMs: 5000 } ); - return; + // Proceed anyway } if (source === "url" && cdnUnavailable) { diff --git a/js/constants.js b/js/constants.js index 42edd083..abf8c3af 100644 --- a/js/constants.js +++ b/js/constants.js @@ -109,6 +109,8 @@ const DEFAULT_WSS_TRACKERS = Object.freeze([ "wss://tracker.files.fm:7073/announce", "wss://tracker.btorrent.xyz", "wss://tracker.novage.com.ua:443/announce", + "wss://tracker.webtorrent.dev", + "wss://open.video.lukewarlow.uk:443/announce", ]); const SANITIZED_DEFAULT_BLUR_THRESHOLD = coerceNonNegativeInteger( diff --git a/js/gridHealth.js b/js/gridHealth.js index f565ebb9..6fe39850 100644 --- a/js/gridHealth.js +++ b/js/gridHealth.js @@ -212,7 +212,7 @@ function queueProbe(magnet, cacheKey, priority = 0) { } const PROBE_CACHE_TTL_MS = 5 * 60 * 1000; -const PROBE_TIMEOUT_MS = 8000; +const PROBE_TIMEOUT_MS = 20000; const PROBE_CONCURRENCY = 96; const PROBE_POLL_COUNT = 3; const PRIORITY_BASELINE = 1_000_000; diff --git a/js/trackerConfig.js b/js/trackerConfig.js index 9e31870a..5e50f69a 100644 --- a/js/trackerConfig.js +++ b/js/trackerConfig.js @@ -1,9 +1,9 @@ import { WSS_TRACKERS as DEFAULT_WSS_TRACKERS } from "./constants.js"; -export const TRACKER_TIMEOUT_MS = 3000; -export const TRACKER_PER_MAGNET = 3; +export const TRACKER_TIMEOUT_MS = 6000; +export const TRACKER_PER_MAGNET = 10; export const HEALTH_TTL_MS = 2 * 60 * 1000; -export const CONCURRENCY = 3; +export const CONCURRENCY = 6; export const TRACKER_ERROR_COOLDOWN_MS = 60 * 1000; export function resolveTrackerList({ magnetTrackers } = {}) {