Commit Graph
8 Commits
Author SHA1 Message Date
vicrodh 048fd37054 docs(qbzd): document the LAN-first bind and the token in the standalone README; posture line stops nagging gated setups
The public README never mentioned that the control API binds 0.0.0.0 by
default nor how to restrict it; the boot line also told users who had set
[server] token that anyone could control playback.

cc
2026-09-13 03:36:51 -06:00
vicrodh e291eb3af4 fix: stabilize playback memory, local library sync and Qt settings
Add shared playback memory profiles, bounded disk-backed playback and storage
selection for desktop and daemon. Preserve gapless during streaming-only playback
and provide explicit cache eviction with playback confirmation.

Stop watcher read events and unchanged scans from rebuilding the local catalog.
Restore playlist/sidebar updates, folder availability feedback and player layout.
Add appearance presets and a radio-based cache settings panel with translated
trade-offs, plus consistent clipboard menus across visible Qt text editors.

Validate with Rust regressions, QML interaction tests, isolated release startup
and idle-library checks; extend the shared local and CI gates.

cx
2026-09-13 02:57:21 -06:00
vicrodh c85908e262 docs(qbzd): document non-systemd services
cx
2026-09-04 08:27:05 -06:00
vicrodh 6bfeb88c3f docs(qbzd): cover appliance and read-only deployment
cx
2026-08-27 19:51:03 -06:00
vicrodh 3b3ff54964 feat(packaging): ship an optional KWin rule to keep the miniplayer above
Measured, not assumed: under XWayland the same Qt hint DOES set
_NET_WM_STATE_ABOVE and KWin honours it, so always-on-top is not impossible —
it is only impossible for the app to ASK for it on Wayland, where no such
request exists in the core protocol.

So the app stops claiming it can pin itself and instead ships the thing that
works: a window rule matching the miniplayer by its stable, never-translated
title, narrowed by wmclass so no other app's window picks it up. The main
window is titled "QBZ", which is why the title match is exact rather than a
substring.

OPTIONAL and never applied by an installer. It is the user's window manager
and their configuration; a package that silently rewrote kwinrulesrc would be
a worse citizen than one that ships a file and a sentence of documentation.
The rationale, the two rejected routes and the import steps are in
qbz-nix-docs/qt-frontend/2026-08-04-miniplayer-keep-above-kwin.md.

cc
2026-08-04 14:56:37 -06:00
vicrodh 299a7c3237 chore(packaging): drop dead x-scheme-handler/qbz registration
qbz:// resolves nowhere in the link resolver, so the registration
advertised a scheme the app never handles. Keep
x-scheme-handler/qobuzapp (handled by the resolver) in all 7 desktop
files.

km
2026-07-22 22:56:14 -06:00
vicrodh 601188a2c0 ci: build qbzd on ubuntu-22.04 with slint-free and glibc-floor gates
cc
2026-07-14 21:12:21 -06:00
vicrodh 9de3c19468 chore(packaging): canonical icons, desktop file, and nfpm config
Icons and qbz.desktop move to packaging/ so packagers stop depending
on the retired src-tauri tree. New nfpm.yaml builds deb/rpm from the
prebuilt binary: deps are the measured ldd set (t64 alternatives on
deb, soname requires on rpm), display/GPU stack as recommends.

cc
2026-07-02 10:11:16 -06:00