github NicholasBly/youtube-webos 0.6.5

latest releases: 0.7.4, 0.7.3, 0.7.2...
3 months ago

Note

Starting with this build, there are two versions available:

webOS 22+ (Optimized)

  • Runs native ES6+ code with no transpilation (translated code) for maximum performance
  • Removes 130kb+ of polyfills and compatibility layers from the compiled script: ~100kb vs. ~230kb
  • Requires webOS 22 or newer

Legacy (All Devices)

  • ES5-transpiled code with polyfills for compatibility
  • Works on webOS 3.0 and newer
  • Same functionality as all previous releases
  • ~230kb file size to stay under 250kb performance target

Code Optimizations

SponsorBlock

Performance: Implemented additional AbortController logic to fix race conditions where segments from previous videos could persist during rapid navigation
Optimization: Added debouncing to initialization and cached muted segment value to reduce CPU usage during playback

Return YouTube Dislike

Modern code improvements: Abort controller and intersection observer functions available on webOS 22 +

  • Instead of adding polyfills to support webOS 3, kept it simple and just added fallback functionality to keep the bundle light and efficient

Switched mutation observer from document.body to zylon-provider-3 to reduce an optimize CPU usage

Fixed pop in of dislike value when opening description panel

  • Implemented css builder for building/deploying description panel - more efficient and instantaneous when opening

Fixed panelContentObserver memory leak
Fixed race condition on cleanup
Fixed redundant panel queries
Fixed style pollution across instances

Force Max Quality

Switched from html body MutationObserver to polling (60-80% CPU reduction)
Fixes: memory leaks, race conditions, deduplications
All resources properly cleaned up
Code reduction

ui.js

Removed keypress and keyup eventListeners - fixes duplicate actions and unnecessary listeners
Optimized notification function - cached container reference, eliminating DOM queries after first call
Fixed redundant preventDefault calls - Cleaner logic, only prevents when needed
Fixed highlight jump race condition - Prevents default early, better error handling
Updated OLED mode - Uses cached notification container

Fixes

Fix to Subtitles toggle / comments toggle

  • Fixed webOS 3 missing polyfill for toggle comments
  • Depending on webOS you might need to toggle the YouTube player UI once for subtitles/comments to work

Fixed outro segments on webOS 5 and 6 potentially setting video playback to a time longer than the video length, causing the video to loop - #26

  • For webOS 5, the last segment skip within 0.5s of video duration will temporarily mute the video to not cause an audio blip

Fixed config UI sometimes losing focus if YouTube is loading something in the background

Fixed config UI fighting for focus if opened on top of a playing video with the progress bar visible, causing inability to scroll options temporarily

Fixed notifications duplicating on key presses

Removed

Removed debug menu for main release

Removed notifications for shortcut toggling comments in video

Don't miss a new youtube-webos release

NewReleases is sending notifications on new releases.