Skip to content

fix(playback): manage Deno and retry YouTube sign-in failures - #110

Open
wakamex wants to merge 4 commits into
NUber-dev:mainfrom
wakamex:fix/node-playback
Open

wakamex wants to merge 4 commits into
NUber-dev:mainfrom
wakamex:fix/node-playback

Conversation

@wakamex

@wakamex wakamex commented Sep 20, 2026 •

Copy link
Copy Markdown
Contributor

I hit MEDIA_ERR_SRC_NOT_SUPPORTED and “Failed to load because no supported source was found” on Windows 11 with v0.5.1. Cached liked tracks played, but uncached search results and later radio tracks failed. yt-dlp rejected anonymous requests with a sign-in check, and the saved session also needed a JavaScript runtime to solve the player challenges.

This installs Deno 2.8.3 from its official release, verifies its SHA-256, and explicitly selects it for playback and metadata lookups. Playback starts anonymously and retries sign-in rejections once with a temporary copy of the selected account's saved cookies. The copy is removed after use; yt-dlp cannot overwrite the encrypted account jar. Deno is updated with app releases, while yt-dlp keeps its existing self-update behavior.

I pinned 2.8.3 to retain the original macOS 10.15 minimum on Intel and macOS 11 on Apple Silicon. Deno 2.9 introduced a macOS 12 requirement. The pin meets yt-dlp's minimum of Deno 2.3.0, but 2.8 is outside Deno's current LTS line.

  • The updated Rust installer and downloader passed the original failing track on Windows with a fresh challenge cache. I observed Deno running both challenge lookups. The saved-session retry succeeded, the temporary cookie files were removed, and the complete 158.381-second Opus file decoded without errors.
  • All 28 Rust tests pass locally, and the real Deno installation/reuse smoke test passes on Linux.
  • The verified official macOS binaries declare deployment targets of 10.12 on Intel and 11.0 on Apple Silicon. Application testing on Catalina and Big Sur remains open.
  • CI passed: frontend build, typecheck, lint and tests; Rust tests and real Deno installation/reuse checks on Windows, macOS and Linux.

Related: #83, #85.

@wakamex wakamex changed the title fix(playback): manage Node and retry YouTube sign-in failures fix(playback): manage Deno and retry YouTube sign-in failures Sep 20, 2026
Drop the signed-in retry. yt-dlp would receive Google's rotated session
cookies and discard them with its temporary jar while the app keeps
replaying the old values, the pattern that revoked sessions in v0.2.0,
and every retried download would be tied to the user's account.

A failed Deno download no longer blocks yt-dlp setup or playback: the
stream path uses Deno only when it is already installed and otherwise
leaves yt-dlp to its own runtime discovery. Setup still fetches Deno,
and the next launch retries a failed download. A working install is
remembered, so tracks no longer spawn `deno --version` each time.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants