⚠️ This issue respects the following points: ⚠️
Bug description
occ theming:config <imageKey> (where <imageKey> is background, logo,
logoheader, or favicon) always reports "is currently not set" even when
the value IS set and the UI serves it correctly. The read-back code reads
from theming.<key> but image values are stored at theming.<key>Mime.
Fix is 9 lines in apps/theming/lib/Command/UpdateConfig.php (around
line 84). Display value is the MIME type, matching the existing set-path
echo convention.
Bug present since **NC 21.0.0** (commit
[`9b7bdfef79c8`](https://github.com/nextcloud/server/commit/9b7bdfef79c8))
Potential Patch
diff --git a/apps/theming/lib/Command/UpdateConfig.php b/apps/theming/lib/Command/UpdateConfig.php
index 6236f8664456..f10aaee0d0b3 100644
--- a/apps/theming/lib/Command/UpdateConfig.php
+++ b/apps/theming/lib/Command/UpdateConfig.php
@@ -82,7 +82,15 @@ class UpdateConfig extends Command {
}
if ($value === null) {
- $value = $this->config->getAppValue('theming', $key, '');
+ // Image-type keys (background, logo, logoheader, favicon) are stored
+ // at "<key>Mime" in app config — same convention the list-all branch
+ // above and ImageManager::getImage() use. Without this remap, the
+ // single-key read always returns '' for image keys regardless of
+ // whether one is set.
+ $storageKey = in_array($key, ImageManager::SUPPORTED_IMAGE_KEYS, true)
+ ? $key . 'Mime'
+ : $key;
+ $value = $this->config->getAppValue('theming', $storageKey, '');
if ($value !== '') {
$output->writeln('<info>' . $key . ' is currently set to ' . $value . '</info>');
} else {
Steps to reproduce
-
On a fresh Nextcloud 33.0.3 instance, set a logo via the admin Theming
UI or OCC:
occ theming:config logo /path/to/logo.png
# → "Updated logoMime to image/png"
-
Confirm the logo is being served — visit the NC web UI; the custom logo
appears in the header.
-
Read the value back via OCC:
Expected behavior
logo is currently set to image/png (or whatever MIME type was uploaded).
I would suggest returning the URL with v=tag would be more useful but for consistency this seems like the expectation
Nextcloud Server version
33
Present since v21
Operating system
None
PHP engine version
None
Web server
None
Database engine version
None
Is this bug present after an update or on a fresh install?
None
Are you using the Nextcloud Server Encryption module?
None
What user-backends are you using?
Configuration report
List of activated Apps
Nextcloud Signing status
Nextcloud Logs
Additional info
No response
Bug description
occ theming:config <imageKey>(where<imageKey>isbackground,logo,logoheader, orfavicon) always reports "is currently not set" even whenthe value IS set and the UI serves it correctly. The read-back code reads
from
theming.<key>but image values are stored attheming.<key>Mime.Fix is 9 lines in
apps/theming/lib/Command/UpdateConfig.php(aroundline 84). Display value is the MIME type, matching the existing set-path
echo convention.
Potential Patch
Steps to reproduce
On a fresh Nextcloud 33.0.3 instance, set a logo via the admin Theming
UI or OCC:
occ theming:config logo /path/to/logo.png # → "Updated logoMime to image/png"Confirm the logo is being served — visit the NC web UI; the custom logo
appears in the header.
Read the value back via OCC:
Expected behavior
logo is currently set to image/png(or whatever MIME type was uploaded).I would suggest returning the URL with v=tag would be more useful but for consistency this seems like the expectation
Nextcloud Server version
33
Present since v21
Operating system
None
PHP engine version
None
Web server
None
Database engine version
None
Is this bug present after an update or on a fresh install?
None
Are you using the Nextcloud Server Encryption module?
None
What user-backends are you using?
Configuration report
List of activated Apps
Nextcloud Signing status
Nextcloud Logs
Additional info
No response