A correctness-and-hardening release from a full release-readiness review of the
app: the Linux .deb now launches on X11/XWayland, plus a Jellyfin
playback/launch crash, a fresh-install credential-permission leak, and a set of
cast, offline, and UI fixes.
Fixed
- The Linux
.debnow launches on X11 / XWayland. The bundled Qtxcb
platform plugin hard-links a large X / xcb / xkb / font / GL library closure
that the package only partially declared, so on a minimal install an X11 (or
XWayland) session aborted at startup ("could not load the Qt platform plugin
xcb"). The package nowDependson the complete closure, proven by a clean-
container boot across Ubuntu 24.04 / 26.04 and Debian stable. v0.1.0 and
v0.1.1's.debwere affected too; Wayland sessions were never affected. - Jellyfin tracks with an unknown duration no longer crash playback — or
launch. Jellyfin reportsRunTimeTicks/UserDataas present but null
for un-probed,.strm, and some live items; the now-playing builder treated
only an absent field as missing, so such a track raised aTypeErrorwhen
played or prefetched, and — if it was the saved resume track — aborted startup
before the window appeared. Subsonic / Navidrome were unaffected. - Downloads no longer follow you across a sign-out or server switch.
In-flight and queued downloads planned against the previous server are now
cancelled on sign-out / server change, so they can't land in the next
account's offline library. - Internet radio casts reliably to DLNA and Sonos. Live / ICY radio streams
are now handed to the speaker directly instead of through the local cast relay
(matching the Chromecast path), which could stall an endless stream. - Legacy AirPlay no longer leaks a connection when a receiver drops
mid-request. - Less spurious offline flicker on a slow failover — the connectivity check
re-confirms its timing window, not just the failure count, before switching to
offline mode. - Keyboard navigation in Search no longer makes the next mouse-wheel scroll
jump back. Programmatic scrolls now reset the smooth-scroll state.
Security
- The credential file is owner-only from the very first launch. The config
file — which holds the encrypted token plus your username and server address —
was briefly created world-readable on a fresh Linux install and only tightened
to0600on the next launch; it is now tightened the moment it is first
written. (No effect on Windows, which stores credentials in the OS credential
manager.)
Performance
- Large libraries build their A–Z index faster — a per-row sort-field lookup
that is constant across a load is now computed once instead of per item.