Since this PR #52221 was implemented, the log file has been flooded with warnings stating, "Cached preview not found for file; generating a new preview." This appears to be more of an informational message rather than a warning. This PR will change it from warning to debug
Original PR
#52221
Signed-off-by: AndyXheli <andyxheli@gmail.com>
This allows to benefit from all the checks done by the preview API.
This also use the newly introduced `cacheResult` argument to limit disk usage.
Signed-off-by: Louis Chemineau <louis@chmn.me>
This allows callers to use the API without increasing the disk usage.
Example: blurhash generation, where we request a preview for all uploaded pictures, but don't want to necessarily store that preview.
Signed-off-by: Louis Chemineau <louis@chmn.me>
user_usage_report keeps a counter for files read.
The app uses
- OC_Filesystem::read hook
- Event listener (the legacy one) for IPreview::EVENT
Request for previews do not trigger the hook, hence the additional event listener.
The thumbnails for a list or grid view should not count, so we need the width and height.
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
getCachedPreview used to call `getFile`, and this calls `getDirectoryListing` (or underlying function that list directory) to find the file. This was done for every preview spec.
Now, this is done only once at the beginning of the loop, and the array is just iterated when needed to find the correct entry.
Signed-off-by: Glandos <bugs-github@antipoul.fr>
If the maximum preview generated gives some kind of invalid IImage, it's dimentions and filename can be set to zero.
And then later we do a division by zero to keep the aspect ratio of the previews.
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
Make sure that when fetching the image from the cache we don't
accidentally fetch the cropped image just because it also start with
256-256
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
The $crop parameter was not propagated to the imaginary pipeline and
instead it used the smartcrop algorithm always
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
Currently if the following situation happens
Server generates preview
Server has command removed which allows a preview to be shown
Client asks for preview, gets a 404 error when preview exists
(Mime checked before preview)
This happens more often with documents, or video as the commands are not
native PHP, they require a binary on the server.
After the fix the following would happen
Server generates preview
Server has command removed which allows a preview to be shown
Client asks for preview, gets preview which has been generated
(Mime checked after preview)
This would also allow offline generation (for example a docker image
containing the extra binaries), allowing a reduction in attack surface
of the instance serving the preview data.
Signed-off-by: Scott Dutton <scott@exussum.co.uk>