Nextcloud version (eg, 20.0.5): Nextcloud Hub 5 (27.0.2)
Operating system and version (eg, Ubuntu 20.04): all-in-one containers
Apache or nginx version (eg, Apache 2.4.25): ^whatever is included here
PHP version (eg, 7.4): -||-
The issue you are facing:
So, i’ve been pulling the little hair i have left trying to figure out why my desktop PC are not showing any thumbnails for .heic files. It works fine on my laptop which uses the same OS and browser (firefox on debian)
Turns out it’s related to scaling in the browser!
When i open a folder full off heic pictures i see nothing but the stock grey no thumb image. If i increase the zoom in firefox to 110% and refresh the page; voila! the thumbs work perfectly fine.
Looking at the requests i see that when i run 100% zoom it’s full of error 400s, bad request. Zooming in and it looks fine.
The difference being that when i run 100% zoom - if fetches thumbs in the size of 250x250, zooming in and the thumbs requested are 500x500. For some reason the nextcloud app is not able to serve the thumbs in 250x250. My desktop screen is 3440x1440 so it makes sense it wants lower res thumbs.
Note. This only happens in “Files”. Photos and other apps are OK.
Note Note: Other formats work fine. It’s only HEIC that has this issue.
Is this the first time you’ve seen this error? (Y/N): Yes
Steps to replicate it:
- Have a 3440x1440 monitor
- Open heic folder listing in “Files” in we browser
- Change zoom from 100 too 110% and refresh
The output of your Nextcloud log in Admin > Logging:
I only see logs from yesterday related to image requests even though i have tested things today so the log might not be related. Example:
[no app in context] Error: GuzzleHttp\Exception\ClientException: Client error: `POST http://nextcloud-aio-imaginary:9000/pipeline?operations=%5B%7B%22operation%22%3A%22autorotate%22%7D%2C%7B%22operation%22%3A%22fit%22%2C%22params%22%3A%7B%22width%22%3A256%2C%22height%22%3A256%2C%22stripmeta%22%3A%22true%22%2C%22type%22%3A%22png%22%2C%22norotation%22%3A%22true%22%2C%22quality%22%3A%2260%22%7D%7D%5D` resulted in a `400 Bad Request` response:
{"message":"Error while processing the image: Unsupported image output type","status":400}
at <<closure>>
0. /var/www/html/custom_apps/fulltextsearch_elasticsearch/vendor/guzzlehttp/guzzle/src/Middleware.php line 72
GuzzleHttp\Exception\RequestException::create("*** sensitive parameters replaced ***")
1. /var/www/html/custom_apps/fulltextsearch_elasticsearch/vendor/guzzlehttp/promises/src/Promise.php line 209
GuzzleHttp\Middleware::GuzzleHttp\{closure}("*** sensitive parameters replaced ***")
2. /var/www/html/custom_apps/fulltextsearch_elasticsearch/vendor/guzzlehttp/promises/src/Promise.php line 158
GuzzleHttp\Promise\Promise::callHandler(1, "*** sensitive parameters replaced ***", "*** sensitive parameters replaced ***")
3. /var/www/html/custom_apps/fulltextsearch_elasticsearch/vendor/guzzlehttp/promises/src/TaskQueue.php line 52
GuzzleHttp\Promise\Promise::GuzzleHttp\Promise\{closure}("*** sensitive parameters replaced ***")
4. /var/www/html/custom_apps/fulltextsearch_elasticsearch/vendor/guzzlehttp/promises/src/Promise.php line 251
GuzzleHttp\Promise\TaskQueue->run(true)
5. /var/www/html/custom_apps/fulltextsearch_elasticsearch/vendor/guzzlehttp/promises/src/Promise.php line 227
GuzzleHttp\Promise\Promise->invokeWaitFn()
6. /var/www/html/custom_apps/fulltextsearch_elasticsearch/vendor/guzzlehttp/promises/src/Promise.php line 272
GuzzleHttp\Promise\Promise->waitIfPending()
7. /var/www/html/custom_apps/fulltextsearch_elasticsearch/vendor/guzzlehttp/promises/src/Promise.php line 229
GuzzleHttp\Promise\Promise->invokeWaitList()
8. /var/www/html/custom_apps/fulltextsearch_elasticsearch/vendor/guzzlehttp/promises/src/Promise.php line 69
GuzzleHttp\Promise\Promise->waitIfPending()
9. /var/www/html/custom_apps/fulltextsearch_elasticsearch/vendor/guzzlehttp/guzzle/src/Client.php line 189
GuzzleHttp\Promise\Promise->wait()
10. /var/www/html/lib/private/Http/Client/Client.php line 297
GuzzleHttp\Client->request("post", "http://nextclou ... e", ["/mnt/ncdata/fi ... "])
11. /var/www/html/lib/private/Preview/Imaginary.php line 147
OC\Http\Client\Client->post("http://nextclou ... e", [["[{\"operation ... "])
12. /var/www/html/lib/private/Preview/GeneratorHelper.php line 62
OC\Preview\Imaginary->getCroppedThumbnail(["OC\\Files\\Node\\File"], 256, 256, false)
13. /var/www/html/lib/private/Preview/Generator.php line 397
OC\Preview\GeneratorHelper->getThumbnail(["OC\\Preview\\Imaginary"], ["OC\\Files\\Node\\File"], 256, 256)
14. /var/www/html/lib/private/Preview/Generator.php line 255
OC\Preview\Generator->generateProviderPreview(["OC\\Files\\SimpleFS\\SimpleFolder"], ["OC\\Files\\Node\\File"], 256, 256, false, false, "image/gif", "")
15. /var/www/html/lib/private/Preview/Generator.php line 155
OC\Preview\Generator->getSmallImagePreview(["OC\\Files\\SimpleFS\\SimpleFolder"], "*** sensitive parameters replaced ***", ["OC\\Files\\Node\\File"], "image/gif", "", false)
16. /var/www/html/lib/private/Preview/Generator.php line 116
OC\Preview\Generator->generatePreviews(["OC\\Files\\Node\\File"], [[250,250,false,"fill"]], "image/gif")
17. /var/www/html/lib/private/PreviewManager.php line 192
OC\Preview\Generator->getPreview(["OC\\Files\\Node\\File"], 250, 250, false, "fill", "*** sensitive parameters replaced ***")
18. /var/www/html/core/Controller/PreviewController.php line 144
OC\PreviewManager->getPreview(["OC\\Files\\Node\\File"], 250, 250, false, "fill")
19. /var/www/html/core/Controller/PreviewController.php line 113
OC\Core\Controller\PreviewController->fetchPreview(["OC\\Files\\Node\\File"], 250, 250, true, false, "fill")
20. /var/www/html/lib/private/AppFramework/Http/Dispatcher.php line 230
OC\Core\Controller\PreviewController->getPreviewByFileId(105931, 250, 250, true, false, "fill")
21. /var/www/html/lib/private/AppFramework/Http/Dispatcher.php line 137
OC\AppFramework\Http\Dispatcher->executeController(["OC\\Core\\Cont ... "], "getPreviewByFileId")
22. /var/www/html/lib/private/AppFramework/App.php line 183
OC\AppFramework\Http\Dispatcher->dispatch(["OC\\Core\\Cont ... "], "getPreviewByFileId")
23. /var/www/html/lib/private/Route/Router.php line 315
OC\AppFramework\App::main("OC\\Core\\Controller\\PreviewController", "getPreviewByFileId", ["OC\\AppFramewo ... "], ["core.Preview.getPreviewByFileId"])
24. /var/www/html/lib/base.php line 1071
OC\Route\Router->match("/core/preview")
25. /var/www/html/index.php line 36
OC::handleRequest()
GET /core/preview?fileId=105931&c=6bbfe5977bd962b98521ebec3fdcb971&x=250&y=250&forceIcon=0&a=1
from 192.168.3.39 by XYZ at 2023-09-06T19:27:10+00:00
The output of your config.php file in /path/to/nextcloud
(make sure you remove any identifiable information!):
Fully default from docker aio, can be fetched on your request.
The output of your Apache/nginx/system log in /var/log/____
:
192.168.3.39, 172.31.0.3 - - [07/Sep/2023:20:32:39 +0200] "GET /core/preview?fileId=94174&c=d502aa5abdddd27af0742840a67a3a46&x=250&y=250&forceIcon=0&a=1 HTTP/1.1" 400 2 "REDACTED/2023&fileid=83373" "Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/117.0"
192.168.3.39, 172.31.0.3 - - [07/Sep/2023:20:32:39 +0200] "GET /core/preview?fileId=94163&c=d4d656821e883270d084d880b10abb17&x=250&y=250&forceIcon=0&a=1 HTTP/1.1" 400 2 "REDACTED/2023&fileid=83373" "Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/117.0"
Output errors in nextcloud.log in /var/www/ or as admin user in top right menu, filtering for errors. Use a pastebin service if necessary.
https://pastebin.com/0ds0ZpX6