Three Qobuz Connect fixes - #793
Open
Gjuju wants to merge 3 commits into
Open
Conversation
PhilipVinc
approved these changes
Sep 10, 2026
The startup reset that clears every renderer flag lists param='qbzctive', which matches nothing, so qbzactive is the only flag left set when the worker restarts. A player whose worker restarts while Qobuz Connect is active then shows the Renderer Active overlay with nothing playing, and it stays there until the flag is cleared by hand. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
isQobuzUpgradable() reads the installed version of librespot and compares it against the qobuz-connect entry in cfg_plugin. The two can never match, so the function always reports that an upgrade is available. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The setting was read as `quality_fallback_behaviour`. Every other reference
spells it `quality_fallback_behavior` -- the schema row, qbz-config.php, the
template and autocfg.php -- so the lookup returned nothing and the command sent
to the daemon carried no value:
qbzd settings set audio.quality_fallback_behavior
error: the following required arguments were not provided: <VALUE>
sysCmd() discards that, so the daemon silently kept its own default and the
Quality fallback behavior selector had no effect.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Gjuju
force-pushed
the
contrib/qobuz-connect-fixes
branch
from
September 10, 2026 12:52
3f21ac5 to
c6e992c
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Three Qobuz Connect fixes
All found while testing Qobuz Connect on 10.3.4.
1. The Qobuz active flag is never reset. In
worker.php, the startup reset that clears every renderer flag listsparam='qbzctive', which matches nothing.qbzactiveis therefore the only flag that survives a worker restart: when the worker restarts while Qobuz Connect is active, the Renderer Active overlay comes back with nothing playing and stays until the flag is cleared by hand.2.
isQobuzUpgradable()queries the wrong package. Inrenderer.php, it reads the installed version oflibrespotand compares it against theqobuz-connectentry incfg_plugin. The two can never match, so the function always reports that an upgrade is available.3.
renderer.phpstartQobuz()— readsquality_fallback_behaviour(British)while the schema row,
qbz-config.php, the template andautocfg.phpallspell it
behavior. It is the only British spelling in the tree, so thelookup returns nothing and the daemon gets the command with no value:
sysCmd()discards that, so the Quality fallback behavior selector neverreaches the daemon.
Validation
Measured on x86_64 and on a Raspberry Pi running stock 10.3.4, same method:
set the daemon to the value moOde does not want, then run startQobuz().
always_fallbackalways_fallback— the configured value never arrivesalways_fallbackalways_skip— the configured value landsThe other two changes are code reading only.