fix(web): flip HLS_STREAMING feature flag default to true
Some checks are pending
Veza CI / Backend (Go) (push) Waiting to run
Veza CI / Frontend (Web) (push) Waiting to run
Veza CI / Rust (Stream Server) (push) Waiting to run
Veza CI / Notify on failure (push) Blocked by required conditions
E2E Playwright / e2e (full) (push) Waiting to run
Security Scan / Secret Scanning (gitleaks) (push) Waiting to run

Backend default was flipped to HLS_STREAMING=true on Day 17 of the
v1.0.9 sprint (config.go:418), and docker-compose.{prod,staging}.yml
already pass HLS_STREAMING=true to the backend service. The frontend
feature flag in apps/web/src/config/features.ts kept the old `false`
default with a stale comment about matching the backend — so HLS
playback was silently skipped on every deploy that didn't override
VITE_FEATURE_HLS_STREAMING=true.

Net effect: useAudioPlayerLifecycle treated `FEATURES.HLS_STREAMING`
as false → fell through to the MP3 range fallback even when the
transcoder had segments ready. Adaptive bitrate was on paper, off in
practice.

Flipped the default to true with a refreshed comment. Operators can
still set VITE_FEATURE_HLS_STREAMING=false for unit tests or
playback-regression bisection.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
senke 2026-04-30 15:45:01 +02:00
parent bf24a5e3ce
commit c323d37c30

View file

@ -49,14 +49,19 @@ export const FEATURES = {
* HLS Streaming
* Backend endpoints: /api/v1/tracks/:id/hls/info, /api/v1/tracks/:id/hls/status
*
* Default is `false` to match backend `HLS_STREAMING` env (off by default).
* When off, playback goes through `/api/v1/tracks/:id/stream` (MP3 range requests).
* Enable via VITE_FEATURE_HLS_STREAMING=true in environments where the backend
* transcoder is actually running.
* Default flipped to `true` in v1.0.10 polish to match backend
* `HLS_STREAMING=true` (Day 17 of the v1.0.9 sprint). Adaptive
* bitrate via HLS is the canonical playback path; MP3 range
* requests via `/api/v1/tracks/:id/stream` remain a fallback when
* the browser can't play HLS or the transcoder hasn't produced
* segments yet.
*
* Set VITE_FEATURE_HLS_STREAMING=false to opt out (unit-test envs
* without a transcoder, or to bisect playback regressions).
*/
HLS_STREAMING: parseFeatureEnv(
import.meta.env.VITE_FEATURE_HLS_STREAMING,
false,
true,
),
/**