nextcloud/apps
Anna Larch 8a0080cbbb fix(theming): fix broken custom images introduced in 32.0.9
PR #58224 introduced a raster→SVG conversion path in ImageManager::getImage()
that breaks display of custom theming images. The root cause is a three-part
bug chain:

1. getImage() attempted to convert raster images (PNG/JPEG) to SVG format,
   which Imagick cannot do meaningfully and produces broken output.
2. getMimeType() returns 'application/octet-stream' for extensionless stored
   files, so the Content-Type response header was wrong.
3. Stale .svg cache files persisted after image replacement, causing
   subsequent requests to serve the wrong format.

Fix by:
- Restricting the Imagick conversion to SVG→PNG only (not raster→SVG)
- Reading the stored MIME type from IAppConfig for extensionless files in
  ThemingController::getImage()
- Deleting .svg cache files in ImageManager::delete()
- Injecting IAppConfig into ImageManager and reading the cachebuster via
  IAppConfig::getAppValueInt() so the URL returned after upload always
  carries the freshly-incremented value (IConfig::getAppValue() can return
  a stale cached value within the same request)
- Updating the FileInputField Vue component to use a reactive cacheKey ref
  that increments on every upload, so the thumbnail refreshes even when the
  MIME type of the new image is the same as the old one

AI-Assisted-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: Anna Larch <anna@nextcloud.com>
2026-05-07 19:40:49 +02:00
..
admin_audit chore: add missing Override attribute to app code 2026-04-28 21:29:28 +02:00
appstore chore(AppStore): Add translations to REUSE.toml for app store 2026-05-07 12:19:41 +02:00
cloud_federation_api chore: add missing Override attribute to app code 2026-04-28 21:29:28 +02:00
comments fix(l10n): Update translations from Transifex 2026-05-07 00:19:37 +00:00
contactsinteraction chore: add missing Override attribute to app code 2026-04-28 21:29:28 +02:00
dashboard fix(l10n): Update translations from Transifex 2026-04-29 00:20:17 +00:00
dav fix(l10n): Update translations from Transifex 2026-05-07 00:19:37 +00:00
encryption chore: add missing Override attribute to app code 2026-04-28 21:29:28 +02:00
federatedfilesharing fix(l10n): Update translations from Transifex 2026-05-03 00:19:56 +00:00
federation chore: add missing Override attribute to app code 2026-04-28 21:29:28 +02:00
files fix(l10n): Update translations from Transifex 2026-05-06 00:20:38 +00:00
files_external fix(l10n): Update translations from Transifex 2026-05-02 00:18:55 +00:00
files_reminders chore: add missing Override attribute to app code 2026-04-28 21:29:28 +02:00
files_sharing fix(l10n): Update translations from Transifex 2026-05-03 00:19:56 +00:00
files_trashbin chore: add missing Override attribute to app code 2026-04-28 21:29:28 +02:00
files_versions chore: add missing Override attribute to app code 2026-04-28 21:29:28 +02:00
lookup_server_connector chore: add missing Override attribute to app code 2026-04-28 21:29:28 +02:00
oauth2 chore: add missing Override attribute to app code 2026-04-28 21:29:28 +02:00
profile chore: add missing Override attribute to app code 2026-04-28 21:29:28 +02:00
provisioning_api fix(l10n): Update translations from Transifex 2026-05-05 00:19:23 +00:00
settings fix(l10n): Update translations from Transifex 2026-05-07 00:19:37 +00:00
sharebymail fix(l10n): Update translations from Transifex 2026-05-06 00:20:38 +00:00
systemtags Merge pull request #59985 from nextcloud/chore/psalm-v6 2026-04-29 07:20:29 +02:00
testing chore: add missing Override attribute to app code 2026-04-28 21:29:28 +02:00
theming fix(theming): fix broken custom images introduced in 32.0.9 2026-05-07 19:40:49 +02:00
twofactor_backupcodes chore: add missing Override attribute to app code 2026-04-28 21:29:28 +02:00
updatenotification feat(updatenotification): handle files_lock 2026-05-06 18:38:09 +02:00
user_ldap fix(l10n): Update translations from Transifex 2026-05-07 00:19:37 +00:00
user_status chore: add missing Override attribute to app code 2026-04-28 21:29:28 +02:00
weather_status Merge pull request #59985 from nextcloud/chore/psalm-v6 2026-04-29 07:20:29 +02:00
webhook_listeners chore: add missing Override attribute to app code 2026-04-28 21:29:28 +02:00
workflowengine fix(l10n): Update translations from Transifex 2026-05-06 00:20:38 +00:00