Feature/connection handling (#869)

* **New Features**
  * Added an opt-in runtime liveness watchdog with diagnostics, health status, and optional automatic restart.
  * Added configurable stream cleanup capacity and eviction re-entry protection.
  * Expanded configuration and UI access for users with playlist or user permissions, with safer data sanitization.
  * Added testkit scenarios and reporting for playback, admission, provider limits, sharing, and VOD behavior.
  * Added support for experimental-branch Docker builds.

* **Bug Fixes**
  * Improved provider prioritization, shared playback capacity, cleanup, reconnect handling, and concurrent client behavior.
  * Fixed playlist parsing for declared media types.
  * Release links now use the configured destination.
This commit is contained in:
euzu
2026-09-19 10:17:23 +02:00
committed by GitHub
parent c2a636282c
commit 6a567d264e
148 changed files with 27213 additions and 3847 deletions
@@ -1213,7 +1213,7 @@ mod tests {
finish_completed_refresh_checked(&app_config, temp.path(), identity, &checkpoint, update_quality(90, 0, 0))
.await?;
let StalkerRefreshOutcome::Failed { quality_acceptances, error: _, .. } = reports.into_outcome() else {
let StalkerRefreshOutcome::Failed { quality_acceptances, .. } = reports.into_outcome() else {
return Err("expected failed Stalker completion with retained reports".into());
};
assert_eq!(
@@ -1258,7 +1258,7 @@ mod tests {
finish_completed_refresh_checked(&app_config, temp.path(), identity, &checkpoint, update_quality(90, 0, 0))
.await?;
let StalkerRefreshOutcome::Failed { quality_acceptances, error: _, .. } = reports.into_outcome() else {
let StalkerRefreshOutcome::Failed { quality_acceptances, .. } = reports.into_outcome() else {
return Err("expected failed Stalker completion with retained reports".into());
};
assert_eq!(quality_acceptances.len(), 1);