Repository navigation
Releases: 6ebeng/jackett-webos
Release list
v0.1.1 - webOS 4.x fixes
Fixes for older LG TVs (webOS 4.x). Verified end-to-end on firmware 05.50.00 / webOS API 4.1.0.
Fixed
Version picker never loaded
listVersions / selectVersion (plus checkUpdate and the autostart methods) were never declared in services.json, so Luna rejected the calls outright. The release list was also fetched as a single ~1 MB line and scanned with grep -o, which is quadratic on long lines and outran the call timeout on an older CPU. It now fetches 40 releases and splits the JSON into lines before matching — 40 tags in about 2 seconds.
Data directory fell back to /tmp instead of /media/developer
The directory probe tested for write access first, but status polls run in the jailed service context which cannot write the root-owned data dir, so it silently resolved to /tmp — a different directory than the elevated installer had used. An existing install is now detected before any write probe, so every context agrees on the same path.
Update always failed with error:extract
/media/developer and /media/cryptofs are the same ~630 MB partition, which cannot hold the archive plus the old and new app at once. The archive is now staged in /tmp (tmpfs) when it has more room, and the old app is removed before unpacking, so the app partition only ever holds the unpacked app. Extraction success is judged by the presence of the jackett binary rather than tar's exit code, since tar reports success on the empty stream a failed gzip leaves behind. A partition that runs dry mid-unpack now reports error:diskspace and the UI explains what to do about it.
Archive was left behind after extraction
Every exit path — success or failure — now prunes the archive, partial downloads and release metadata from both staging locations. A failed run used to leave ~50 MB behind permanently, which is what starved the partition and caused the extract failures above.
Autostart reported "Unavailable"
The Homebrew Channel was only probed relative to our own install root, so it was missed when the app and the Homebrew Channel live on different roots. Both roots are now probed by absolute path. Enabling autostart also no longer answers an unconditional success — it reports what actually happened and explains the failure.
API key showed blank
It was read by the Node service, which is jailed on these firmwares and cannot open the data dir. The elevated control script now reports it in the status JSON. The key is set to 1 by default on a fresh install and then left alone, so a key regenerated from Jackett's own web UI survives restarts — the old code rewrote it on every start.
Also
- Corrected the stated download size in the UI (the ARM32 musl asset is ~46 MB, not ~95 MB).
Verified on device
| Check | Result |
|---|---|
| Version list | 40 releases in 2 s |
| Data directory | /media/developer/Jackett |
| Fresh install | 29 s, 116 MB unpacked, no leftovers |
| Update | 67 s, ends running, free space unchanged |
| Autostart | Boot hook installed and removed correctly |
| API key | Reported as 1; Torznab API returns HTTP 200 |