Skip to content

[stable34] fix(console): write app command loading errors to stderr - #62998

Merged
AndyScherzinger merged 1 commit into
stable34from
backport/62718/stable34
Aug 7, 2026
Merged

[stable34] fix(console): write app command loading errors to stderr#62998
AndyScherzinger merged 1 commit into
stable34from
backport/62718/stable34

Conversation

@backportbot

@backportbot backportbot Bot commented Aug 7, 2026

Copy link
Copy Markdown

Backport of PR #62718

When an app fails to load its commands from info.xml, the error was
written to stdout, while every other diagnostic in loadCommands() uses
$output->getErrorOutput(). The command itself then runs normally and
exits 0, so the message silently corrupts machine-readable output:

    $ ./occ app:list --output=json
    Connection refused
    {"enabled":{...},"disabled":{...}}
    $ echo $?
    0

Anything piping `occ <cmd> --output=json` into a JSON parser breaks, with
no non-zero exit code to detect it by.

Observed with notify_push on a setup that has the phpredis extension
loaded but no Redis configured: RedisFactory::isAvailable() only checks
whether the extension is loaded, so constructing the app's console
commands ends up calling pconnect() and throws RedisException.

--no-warnings is not a workaround for this, as it sets VERBOSITY_QUIET
and suppresses the payload too.

Route the message to the error output instead. It is still reported via
logger->error() exactly as before.

Assisted-by: ClaudeCode:claude-opus-5
Signed-off-by: Misha M.-Kupriyanov <kupriyanov@strato.de>
@backportbot
backportbot Bot requested a review from a team as a code owner August 7, 2026 05:40
@backportbot
backportbot Bot requested review from Altahrim, AndyScherzinger, artonge, icewind1991, nfebe, printminion-co, salmart-dev and susnux and removed request for a team August 7, 2026 05:40
@backportbot backportbot Bot added bug 3. to review Waiting for reviews php Pull requests that update Php code AI assisted labels Aug 7, 2026
@backportbot backportbot Bot added this to the Nextcloud 34.0.3 milestone Aug 7, 2026
@AndyScherzinger
AndyScherzinger merged commit 9d33e3b into stable34 Aug 7, 2026
222 of 225 checks passed
@AndyScherzinger
AndyScherzinger deleted the backport/62718/stable34 branch August 7, 2026 07:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

3. to review Waiting for reviews AI assisted bug php Pull requests that update Php code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants