Repository navigation
release: merge v3 into dev for v3.10.0 - #260
Open
1Lucas1apk wants to merge 150 commits into
Open
1Lucas1apk wants to merge 150 commits into
1Lucas1apk wants to merge 150 commits into
Conversation
fix: handle object-form ipBlocks in routeplanner status
improve: reuse route planner ip block entry type
setDucking was declared in the route interface and already implemented on Player, but PlayerManager never got the bridging method, so toggling ducking crashed with a 500
fix: wire setDucking into PlayerManager
Moved bootstrap and server logic into their own modules. Cleaned up index.ts and simplified the startup and IPC flow. Removed unnecessary code, types and comments. 🚧 Cleanup #1
(All thanks to JustEvil because i just replicated this and put on your fixes lol) Fixes this error: Cannot read properties of null (reading 'canStop')
Refactored server initialization with synchronous constructor and 3-phase startup. Encapsulated monitor timers in WeakMap and delegated voice routing to VoiceRouter. Removed internal defensive checks and ghost properties. Delegated worker source caching and load updating to WorkerManager. 🚧 Cleanup #2
When useBunServer is enabled, createBunServer initializes Bun.serve(), which binds and starts listening immediately. Calling listenHttpServer afterwards caused a TypeError because Bun server instances do not have an .on() method.
fix: skip listenHttpServer when using native Bun server
If you want to select a specific lyrics source from the params you now can.
this should fix urls with extra queries failing to resolve
This should fix insta audios again (direct playback).
Mint a fresh PO token inline when the server reports limited playback, instead of tearing down the whole session. Full recovery now only runs after sustained failures or media stalls. Corrected the VideoPlaybackAbrRequest namings. Start bandwidth timing at first byte, excluding handshake. Merge contiguous buffer chunks sharing one backing store. The base i used for this commit (namings, contiguous buffer etc is from LuanRT/googlevideo#54, credits to him.)
YouTube audio now downloads in bigger pieces when the connection is healthy. After 3 clean responses it allows chunks up to 4 MB instead of stopping at 512 KB, and it drops back to 512 KB as soon as anything fails. It also checks how full the playback buffer is and asks for less when the buffer is nearly full. Fixed too: a 416 response in the middle of a track used to cut playback short. Now the stream only ends when the download is actually finished, otherwise it grabs a fresh link and keeps going.
Support multiple rotating proxies via lyrics.musixmatch.proxy array with round-robin selection and automatic rotation on captcha or 403. Also report health metrics to the global ProxyManager.
Add pattern matching and search query extraction for YouTube Music (/search?q=...) and standard YouTube (/results?search_query=...) browser search URLs directly in YouTubeSource.resolve.
Add pattern matching and browseId resolution for YouTube Music (/browse/...) and YouTube browse URLs, resolving canonical album playlists directly.
Add full support for Naver Chzzk (치지직) live streams, VODs and clips. Support HLS AAC audio-only playback, search queries (chsearch) and fix live HLS discontinuity-sequence tag parsing in PlaylistParser.
Replace stream.pipe(passthrough) with explicit data and drain event handlers to prevent playback deadlocks and mid-track freezing.
Support track, album, and playlist resolution, multi-search with zmsearch, dynamic session HMAC-SHA512 signing, and audio streaming with geobypass.
Add opusComplexity (0–10) for playback and HLS encoding. Default to 6 to reduce CPU usage, with a possible audio quality tradeoff. Yet i din't notice any while testing. If you want the quality that were before this commit, set the complexity to 10.
Support track, album, playlist, toplist, and singer resolution, declarative audio stream validation via executeVariant with backpressure, and fallback searching for VIP-restricted tracks.
Run biome check with write and unsafe flags across all files in src to enforce consistent formatting, import sorting, and linting rules.
Signed-off-by: Lucas Morais Rodrigues <76886832+1Lucas1apk@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Consolidates the accumulated changes from
v3intodevas preparation for thev3.10.0release.This merge brings the existing development history together and establishes the next release baseline.
Release
Target version:
3.10.0Notes