YTAF information
- YTAF version: 0.8.0 (the
webOS22+ build from Releases)
- Also reproduced identically with 0.5.3 and 0.3.4 from
webosbrew/youtube-webos — same symptoms, so this is not fork-specific.
TV information
- webOS version: 24 (2024 model)
core_os_release: 10.3.1-3006
- Firmware version (
webos_manufacturing_version): 33.31.68
- OTAID: HE_DTV_W24G_AFABATAA
- SoC: o22n2
- Model: OLED77C41LA.DEUQLJP (LG OLED C4, 77")
- Install method: webOS Dev Mode (Developer Mode app), sideloaded via
ares-install / Device Manager. TV is not rooted (no Homebrew Channel).
Issue description
This is the same symptom as many existing reports (green button does nothing, ads still play), but I dug into the root cause and found a fix that works in Dev Mode without root — sharing in case it helps other 2024+ owners and for a possible README note / alternate build.
Symptom
After a clean install, YouTube plays with ads and the green button does nothing (no options panel appears). None of the usual remedies helped: uninstalling stock YouTube first, full clean reinstalls, rebuilding from source, launching directly, and full power cycles (unplug). Identical behaviour across YTAF 0.8.0 (this fork) and webosbrew 0.5.3 / 0.3.4.
Root cause (confirmed via SSH + Chrome DevTools/CDP)
On this 2024 (webOS 24) TV, the built-in YouTube is a native Cobalt system app that owns the app ID youtube.leanback.v4. In Dev Mode (no root), a sideloaded app installed under that same ID does not override the native app — so YTAF's web app (and therefore its userscript) never actually runs. Evidence:
- After launching
youtube.leanback.v4, the running process is the native Cobalt binary, not a web app:
/media/cryptofs/apps/usr/palm/applications/youtube.leanback.v4/cobalt {"@system_native_app":true,"reason":"preload",...}
- There is no
WebAppMgr renderer with --app-id=youtube.leanback.v4, and the remote-debug port 9998 exposes no page.
luna://com.webos.applicationManager/dev/listApps → {"apps":[]} and dev/running → {"running":[]}, even though the installed files are present in /media/developer/apps/usr/palm/applications/youtube.leanback.v4/. SAM never registers the dev app.
ares-launch --close youtube.leanback.v4 → Only Dev app should be closed using /dev category_API — i.e. SAM treats the running instance as a system app, not the dev install.
So the historical mechanism (a same-ID dev app shadows the stock web app) no longer works on 2024+ TVs, because stock YouTube is now a protected native Cobalt app. Removing/replacing it would need root, which isn't currently available on C4/G4.
Workaround that fully fixes it (Dev Mode, no root)
Repackage YTAF under a distinct app ID so it doesn't collide with the protected native app. It then installs as its own tile ("YTAF AdFree") and runs correctly as a web app. Using the 0.8.0 webOS22+ .ipk:
# 1. extract the ipk
ar x youtube.leanback.v4_0.8.0_all_webOS22+.ipk
mkdir data && tar xzf data.tar.gz -C data
# 2. take the app dir and change the id/title
cp -r data/usr/palm/applications/youtube.leanback.v4 ./appdir
# edit appdir/appinfo.json:
# "id": "youtube.leanback.v4.ytaf"
# "title": "YTAF AdFree"
# 3. repackage (skip re-minify — the bundle is already built) and install
ares-package appdir --no-minify -o .
ares-install --device <tv> youtube.leanback.v4.ytaf_0.8.0_all.ipk
ares-launch --device <tv> youtube.leanback.v4.ytaf
Verified working after the rename (same TV, via CDP on 9998)
- Runs as a web app (
appType:web) loading https://www.youtube.com/tv; 9998 now exposes the page.
- Userscript is live:
window.ytaf_showOptionsPanel and window.__ytaf_sb_init are present, and JSON.parse is patched (the ad-block hook) rather than native.
- Green button opens the options panel, ads are blocked, playback works, SponsorBlock initialized. Confirmed on-screen.
Suggestion
For 2024+ (webOS 24/25) non-rooted Dev Mode users, running YTAF under an alternate app ID seems to be the only path. It might be worth either (a) noting this in the README for W24/W25 owners, or (b) offering an alternate-ID sideload build in Releases. Rooted users can instead remove the native app and keep the original ID.
Happy to provide any additional logs (full ps, dev/listApps output, CDP dumps, device_info.json / os_info.json) — just let me know what would be useful.
YTAF information
webOS22+build from Releases)webosbrew/youtube-webos— same symptoms, so this is not fork-specific.TV information
core_os_release: 10.3.1-3006webos_manufacturing_version): 33.31.68ares-install/ Device Manager. TV is not rooted (no Homebrew Channel).Issue description
This is the same symptom as many existing reports (green button does nothing, ads still play), but I dug into the root cause and found a fix that works in Dev Mode without root — sharing in case it helps other 2024+ owners and for a possible README note / alternate build.
Symptom
After a clean install, YouTube plays with ads and the green button does nothing (no options panel appears). None of the usual remedies helped: uninstalling stock YouTube first, full clean reinstalls, rebuilding from source, launching directly, and full power cycles (unplug). Identical behaviour across YTAF 0.8.0 (this fork) and webosbrew 0.5.3 / 0.3.4.
Root cause (confirmed via SSH + Chrome DevTools/CDP)
On this 2024 (webOS 24) TV, the built-in YouTube is a native Cobalt system app that owns the app ID
youtube.leanback.v4. In Dev Mode (no root), a sideloaded app installed under that same ID does not override the native app — so YTAF's web app (and therefore its userscript) never actually runs. Evidence:youtube.leanback.v4, the running process is the native Cobalt binary, not a web app:WebAppMgrrenderer with--app-id=youtube.leanback.v4, and the remote-debug port 9998 exposes no page.luna://com.webos.applicationManager/dev/listApps→{"apps":[]}anddev/running→{"running":[]}, even though the installed files are present in/media/developer/apps/usr/palm/applications/youtube.leanback.v4/. SAM never registers the dev app.ares-launch --close youtube.leanback.v4→Only Dev app should be closed using /dev category_API— i.e. SAM treats the running instance as a system app, not the dev install.So the historical mechanism (a same-ID dev app shadows the stock web app) no longer works on 2024+ TVs, because stock YouTube is now a protected native Cobalt app. Removing/replacing it would need root, which isn't currently available on C4/G4.
Workaround that fully fixes it (Dev Mode, no root)
Repackage YTAF under a distinct app ID so it doesn't collide with the protected native app. It then installs as its own tile ("YTAF AdFree") and runs correctly as a web app. Using the 0.8.0
webOS22+.ipk:Verified working after the rename (same TV, via CDP on 9998)
appType:web) loadinghttps://www.youtube.com/tv; 9998 now exposes the page.window.ytaf_showOptionsPanelandwindow.__ytaf_sb_initare present, andJSON.parseis patched (the ad-block hook) rather than native.Suggestion
For 2024+ (webOS 24/25) non-rooted Dev Mode users, running YTAF under an alternate app ID seems to be the only path. It might be worth either (a) noting this in the README for W24/W25 owners, or (b) offering an alternate-ID sideload build in Releases. Rooted users can instead remove the native app and keep the original ID.
Happy to provide any additional logs (full
ps,dev/listAppsoutput, CDP dumps,device_info.json/os_info.json) — just let me know what would be useful.