Skip to content

v0.2.8

Latest

Choose a tag to compare

@itsvee0120 itsvee0120 released this 28 May 07:18

v0.2.8

This release improves private-room correctness and significantly reduces playback startup latency, especially in CLI and Render-hosted scenarios.

Highlights

  • Private rooms now reliably close when the host leaves/disconnects without transfer.
  • Stream resolution is faster and more resilient with cache, preload, and parallel fallback logic.
  • Better diagnostics for stream source/failure paths.

What changed

Private room lifecycle hardening

  • Fixed private-room host exit behavior on disconnect path:
    • If host leaves without transfer, room is ended immediately.
    • Server emits room:ended (host_left_without_transfer), disconnects members, and deletes room state.
  • Prevents unintended host auto-transfer in private rooms on host disconnect.

Server stream extraction and latency improvements

  • Added yt-dlp player-client fallback chains for datacenter environments.
  • Added structured extraction failure classification:
    • bot_challenge
    • unavailable
    • unknown
  • Added fast-fail behavior (stopOnBotChallenge) to reduce wasted retries.
  • Improved /youtube/search and /youtube/stream responses with structured code values and clearer status mapping.
  • Added stream URL server cache:
    • TTL-based (short-lived, safe for expiring YouTube URLs)
    • bounded size with eviction
  • Added in-flight dedupe for stream resolution by videoId (prevents duplicate concurrent resolution work).
  • Added background stream pre-resolution on queue:add.
  • /youtube/stream now can return cache-hit metadata (cached).

CLI stream startup improvements

  • get_stream_url now races server and local yt-dlp in parallel (first success wins).

  • Added safer cancellation cleanup for local yt-dlp subprocesses.

  • Added stream preloading in room flow (including next-track preload path).

  • Kept/expanded stream cache usage in CLI runtime.

  • Added playback debug visibility in system log:

    • ⚡ stream source: cache (local)
    • ⚡ stream source: cache (server)
    • ⚡ stream source: server live
    • ⚡ stream source: local yt-dlp

Documentation updates

  • Updated cli/README.md streaming notes to reflect:
    • server cache + pre-resolution
    • CLI parallel resolver race
    • stream source diagnostics
  • Updated root README.md to reflect:
    • private host disconnect room-destroy behavior
    • latest extraction/cache/preload architecture

Notes

  • Datacenter-hosted yt-dlp extraction can still be challenged by YouTube policies.
  • This release focuses on minimizing user-visible delay and improving fallback reliability rather than relying on a single extraction path.

Upgrade

pip install --upgrade vaux-cli==0.2.8

Verify:

vaux --version
image image image