Skip to content

v0.2.1 — the diagnostics read-out

Choose a tag to compare

@GLinnik21 GLinnik21 released this 10 Aug 15:28
· 670 commits to main since this release

v0.2.1 — so a broken television can report itself

Playback does not start on webOS 5 and newer, and nobody working on this owns such a television. This release adds an on-screen diagnostics read-out you can photograph, and fixes the two ways the app used to fail with no message at all.

If you used v0.2.0 or earlier: rotate your Plex token

The app's diagnostic log recorded a URL containing your Plex access token in full, written whenever an audio track was switched. Anyone holding that token can reach your Plex account and your media as you. The log file was readable by any process on the television, and earlier release notes asked people to send that file in when reporting a problem — so nothing had to go wrong at your end for this to matter.

Every release up to and including v0.2.0 is affected. This one is not.

What to do: open https://app.plex.tv/desktop/#!/settings/devices, remove this device, and sign in again on the television. That invalidates the old token. It costs you one QR scan.

What is fixed, and what is not: the token is never written now, and every line the app's own logger emits passes a scrub on the way out, so the same mistake cannot recur through a different call site. The log still records your server's name, its address and what you have been watching — that is what it is for — so it is still not a file to post publicly. The new diagnostics panel is different: it carries none of that, by design.

What's new

  • A diagnostics read-out you can photograph. During playback press the button on the on-screen controls — the third round one, beside Subtitles and Audio — and tick Stats for nerds. A panel appears showing what the app is actually doing: which video-plane mechanism your firmware uses, how far the pipeline got, whether the demuxer produced anything, what was fed to the decoder and whether it was accepted, HTTP status, and the codec chain from your file through your server to what was declared to the decoder. It stays up while you watch, takes no buttons, and turns off by unticking the same box.
  • Two silent failures now say what happened. Both used to leave a spinner on screen forever with nothing in the log: a demuxer that opened the stream and produced no frames now reports a playback error, and a Load the television's media pipeline refused now reports one too, instead of waiting for a completion callback that can never arrive.

The panel deliberately shows no server name, no address, no account details and no media title, so it is safe to post publicly. The rest of the photograph is your television, though — pause on something you do not mind posting, or crop to the panel.

Fixed

  • The exported window was told a 4K stream was 1080p on webOS 5 and newer, so the video plane was set up for the wrong source size.
  • The on-screen controls were unreachable in exactly the state worth reporting. With playback stuck buffering and the controls timed out, the app treated them as hidden while still drawing them, so focus could never reach the buttons — including the new .

Compatibility

  • Plays video, verified by watching it — 2019 LG sets. One television, which reports platform release 4.10 (LG markets this generation as webOS 4.5).
  • Starts, signs in and browses, but video does not start — webOS 6 and 10. Reported on real hardware by mariotaku of webosbrew on 2026-08-09, running v0.2.0 (apps-repo#224): the app opens and the library works, and pressing play leaves a spinner that never resolves. Nothing else there is known to be broken.
  • Starts, and nothing further is known — every other firmware from webOS 4.0 up. Checked against fourteen real firmware inventories. That grades whether the process starts and says nothing about whether video plays.
  • Does not start — webOS 3.9.2 and older.

If your set is in the middle two groups, tell us what happened. It working is as useful a report as it failing.

Help test this release

If you have a webOS 5, 6 or 10 television, one photograph settles what has been guesswork for weeks. Turn on the diagnostics panel as above, photograph it, and open an issue. That is the whole bug report. It working is as useful a report as it failing.

Known issues

  • Playback does not start on webOS 5 and newer. If you have such a set, the diagnostics panel turns that into a report we can act on.
  • Codec capability is asserted rather than probed. The app tells your server it can handle HEVC, 4K and 10-bit because the developer's television can. On a lower-end panel that is wrong, and so is the fallback.

Installing

Download com.beb.plxnative_0.2.1_arm.ipk and install it with the Homebrew Channel or dev-manager-desktop. You do not need a rooted TV.

Nothing in this distribution chain is signed, so this sha256 is what tells you the file you have is the file published here:

019b4e1405afb8cea88d99c7da5125e0bc9888294a71297938536309801a5ca3  com.beb.plxnative_0.2.1_arm.ipk

This release was built and published by hand rather than by GitHub Actions, which is why two things below are true of it and of no other release. Compare the hash yourself — the ipk.sha256 asset records a path rather than a bare filename, so sha256sum -c will not find your download. And the bundled FFmpeg libraries carry the directory they were built in, so this package is not reproducible by anyone else at all; a hash from your own rebuild will differ, and that is not tampering.

This package bundles FFmpeg under LGPL-2.1-or-later and its complete corresponding source — the pristine upstream tarball and the exact configure invocation — is attached to this release. Installing and checking a download covers the rest, and exactly what was built, verified and shipped — including which release gates did not run — is in the technical audit for v0.2.1.