immich/server/src/utils
Eli Gao 5c80e8734b
feat: original-sized previews for non-web-friendly images (#14446)
* feat(server): extract full-size previews from RAW images

* feat(web): load fullsize preview for RAW images when zoomed in

* refactor: tweaks for code review

* refactor: rename "converted" preview/assets to "fullsize"

* feat(web/server): fullsize preview for non-web-friendly images

* feat: tweaks for code review

* feat(server): require ASSET_DOWNLOAD premission for fullsize previews

* test: fix types and interfaces

* chore: gen open-api

* feat(server): keep only essential exif in fullsize preview

* chore: regen openapi

* test: revert unnecessary timeout

* feat: move full-size preview config to standalone entry

* feat(i18n): update en texts

* fix: don't return fullsizePath when disabled

* test: full-size previews

* test(web): full-size previews

* chore: make open-api

* feat(server): redirect to preview/original URL when fullsize thumbnail not available

* fix(server): delete fullsize preview image on thumbnail regen after fullsize preview turned off

* refactor(server): AssetRepository.deleteFiles with Kysely

* fix(server): type of MediaRepository.writeExif

* minor simplification

* minor styling changes and condensed wording

* simplify

* chore: reuild open-api

* test(server): fix media.service tests

* test(web): fix photo-viewer test

* fix(server):  use fullsize image when requested

* fix file path extension

* formatting

* use fullsize when zooming back out or when "display original photos" is enabled

* simplify condition

---------

Co-authored-by: mertalev <101130780+mertalev@users.noreply.github.com>
2025-03-31 13:24:28 -04:00
..
access.ts chore: finish migrating eslint config files; bump unicorn (#17200) 2025-03-31 12:18:25 +01:00
asset.util.ts feat: original-sized previews for non-web-friendly images (#14446) 2025-03-31 13:24:28 -04:00
bytes.ts refactor: infra folder (#8138) 2024-03-20 23:15:09 -04:00
config.ts refactor: last repository (#16042) 2025-02-11 22:15:56 +00:00
database.ts feat: schema diff sql tools (#17116) 2025-03-28 10:40:09 -04:00
date.ts fix(server): adjust type of person.birthDate (#16628) 2025-03-09 21:32:05 -05:00
file.ts refactor(server): replace switch statement in sendFile with Record lookup (#16630) 2025-03-06 12:46:37 +01:00
lifecycle.ts refactor(server): version logic (#9615) 2024-05-20 20:31:36 -04:00
logger.ts feat: schema diff sql tools (#17116) 2025-03-28 10:40:09 -04:00
media.ts fix(server): set pixel format when scaling and not tonemapping (#16932) 2025-03-18 11:42:09 -05:00
mime-types.spec.ts feat: add support for JPEG 2000 (#15710) 2025-01-28 23:27:28 +00:00
mime-types.ts feat: original-sized previews for non-web-friendly images (#14446) 2025-03-31 13:24:28 -04:00
misc.spec.ts feat(server): library refresh go brrr (#14456) 2025-03-06 16:00:18 +01:00
misc.ts feat: use my.immich.app for externalDomain fallback (#17209) 2025-03-31 12:08:41 +01:00
object.ts fix(server): skip smtp validation if unchanged (#12111) 2024-08-29 14:10:09 -04:00
pagination.ts refactor: download service (#16600) 2025-03-05 08:38:23 -05:00
preferences.ts refactor(server): narrow auth types (#16066) 2025-02-12 15:23:08 -05:00
replace-template-tags.ts feat: Notification Email Templates (#13940) 2024-12-04 20:26:02 +00:00
request.ts feat: tags (#11980) 2024-08-29 12:14:03 -04:00
response.ts refactor(server): auth enums (#13552) 2024-10-17 13:17:32 -04:00
set.ts refactor: infra folder (#8138) 2024-03-20 23:15:09 -04:00
sync.ts refactor: use new updateId column for user CUD sync (#16384) 2025-02-27 09:22:02 -05:00
tag.ts refactor: migration tag repository to kysely (#16398) 2025-03-03 18:41:19 +00:00