mirror of
https://github.com/euzu/tuliprox.git
synced 2026-10-13 19:32:36 +02:00
* fix(hls): keep provider affinity after reconnect lease expiry - Remember the provider that last delivered media for reconnect-capable playback (HLS, DASH, Catchup, VOD) beyond the lease window. The preference holds no slot, never forces grace and falls back to the lineup when the provider is full. - End it on provider failure, preemption, kick, timeout or admin terminate; stale cleanups are rejected by binding tag, request ID and session token. Retry token claims stay bounded. - Terminate and kick now release the HLS binding they acquired. - Add reverse_proxy.stream.provider_affinity_ttl_secs (default 120, max 86400) with Web UI field, docs and translations. - Testkit: pause_millis steps, TTL overrides and the m3u-hls-provider-affinity-after-lease-expiry scenario. * fix(hls): keep provider affinity after reconnect lease expiry - Remember the provider that last delivered media for reconnect-capable playback (HLS, DASH, Catchup, VOD) beyond the lease window. The preference holds no slot, never forces grace and falls back to the lineup when the provider is full. - End it on provider failure, preemption, kick, timeout or admin terminate; stale cleanups are rejected by binding tag, request ID and session token. Retry token claims stay bounded. - Terminate and kick now release the HLS binding they acquired. - Add reverse_proxy.stream.provider_affinity_ttl_secs (default 120, max 86400) with Web UI field, docs and translations. - Testkit: pause_millis steps, TTL overrides and the m3u-hls-provider-affinity-after-lease-expiry scenario. * fix(hls): keep provider affinity after reconnect lease expiry - Remember the provider that last delivered media for reconnect-capable playback (HLS, DASH, Catchup, VOD) beyond the lease window. The preference holds no slot, never forces grace and falls back to the lineup when the provider is full. - End it on provider failure, preemption, kick, timeout or admin terminate; stale cleanups are rejected by binding tag, request ID and session token. Retry token claims stay bounded. - Terminate and kick now release the HLS binding they acquired. - Add reverse_proxy.stream.provider_affinity_ttl_secs (default 120, max 86400) with Web UI field, docs and translations. - Testkit: pause_millis steps, TTL overrides and the m3u-hls-provider-affinity-after-lease-expiry scenario. --------- Co-authored-by: euzu <euzu@proton.me>