Fixes
- Comments load again. YouTube moved the avatar field inside each comment, and the bundled youtubei.js read the old field without a guard, so every comment request failed.
- Long videos no longer stop with a session expired message. The player rebuilt YouTube's playback session token before it sent the token back, and it lost bytes in the process. YouTube could not place the session, refused to serve the stream, and answered the retry flood with an error.
- The player follows the redirects that YouTube sends during playback. It dropped them before, and it kept asking the host that YouTube had just moved it away from.
- Tabs, history, subscriptions and playlists are visible again. The app pinned its data directory to a path that holds no profile, so it opened empty while the real profile sat untouched beside it.
- A background tab no longer rewrites the address of the active tab, and it no longer requests a channel as if the channel were a video.
- The player no longer throws an error when a tab closes while a video still loads.
- Videos with dubbed audio or with several audio languages no longer stall. The player truncated the identifier of those audio formats.
- A thrown JavaScript error now reports itself as an exception. It appeared as a player error with no code before.
Build
- The Nix build takes the Electron major version from package.json. The build restated that value before, the copy drifted, and the app then ran on an older Chromium than the one it targets.
- The repository has a
./devscript. It starts the development server on NixOS, where a bareyarn devcannot run.