0
Fork 0
mirror of https://github.com/immich-app/immich.git synced 2025-02-04 01:09:14 -05:00

fix(server): Return the original path for gif playback (#2022)

* fix(server): Return the original path for gifs.

Usually browser is able to play them directly.

* fix(server): Better place for the condition.

* fix(server): gif viewing works properly.
This commit is contained in:
Skyler Mäntysaari 2023-03-22 21:56:00 +02:00 committed by GitHub
parent 6239b3b309
commit 6da50626e1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -279,17 +279,20 @@ export class AssetService {
/** /**
* Serve file viewer on the web * Serve file viewer on the web
*/ */
if (query.isWeb) { if (query.isWeb && asset.mimeType != 'image/gif') {
res.set({ res.set({
'Content-Type': 'image/jpeg', 'Content-Type': 'image/jpeg',
}); });
if (!asset.resizePath) { if (!asset.resizePath) {
Logger.error('Error serving IMAGE asset for web', 'ServeFile'); Logger.error('Error serving IMAGE asset for web', 'ServeFile');
throw new InternalServerErrorException(`Failed to serve image asset for web`, 'ServeFile'); throw new InternalServerErrorException(`Failed to serve image asset for web`, 'ServeFile');
} }
if (await processETag(asset.resizePath, res, headers)) { if (await processETag(asset.resizePath, res, headers)) {
return; return;
} }
await fs.access(asset.resizePath, constants.R_OK | constants.W_OK); await fs.access(asset.resizePath, constants.R_OK | constants.W_OK);
fileReadStream = createReadStream(asset.resizePath); fileReadStream = createReadStream(asset.resizePath);
@ -299,7 +302,7 @@ export class AssetService {
/** /**
* Serve thumbnail image for both web and mobile app * Serve thumbnail image for both web and mobile app
*/ */
if (!query.isThumb && allowOriginalFile) { if ((!query.isThumb && allowOriginalFile) || (query.isWeb && asset.mimeType === 'image/gif')) {
res.set({ res.set({
'Content-Type': asset.mimeType, 'Content-Type': asset.mimeType,
}); });