Commit Graph

156 Commits

Author SHA1 Message Date
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
Daniel Dietzler
238c151ac3 chore: finish migrating eslint config files; bump unicorn (#17200) 2025-03-31 12:18:25 +01:00
bo0tzz
e4f83680d9 feat: use my.immich.app for externalDomain fallback (#17209)
* feat: use my.immich.app for externalDomain fallback

This is probably more useful than localhost.

* chore: remove port param

* fix: update expected value in tests

* fix: update expected value in e2e
2025-03-31 12:08:41 +01:00
Jason Rasmussen
4b4bcd23f4 feat: schema diff sql tools (#17116) 2025-03-28 10:40:09 -04:00
Mert
9f46ba8eb4 fix(server): set pixel format when scaling and not tonemapping (#16932)
set pixel format when scaling and not tonemapping
2025-03-18 11:42:09 -05:00
David Bourgault
9870ad9687 fix(server): adjust type of person.birthDate (#16628)
The API currently does not respect the documentation when returning a
person's birthDate. The doc/swagger says it will be of "YYYY-MM-DD"
format but the string is a full ISO8601-with-tz string. This causes
issue #16216 because the <input> tag is strict about supported value
formats.

I believe this was introduced by #15242 which switched some queries from
TypeORM to Kysely for the person repository. TypeORM does not parse
date, but our Kysely configuration does (explicitely).

This commits updates the types to represent both possibilities and ensure
the API always returns the correct format.
2025-03-09 21:32:05 -05:00
Jason Rasmussen
2cdbb0a37c refactor: database repository (#16593)
* refactor: database repository

* fix error reindex check

* chore: remove WIP code

---------

Co-authored-by: mertalev <101130780+mertalev@users.noreply.github.com>
2025-03-06 13:33:24 -05:00
Jonathan Jogenfors
3af26ee94a feat(server): library refresh go brrr (#14456)
* feat: brr

---------
Co-authored-by: mertalev <101130780+mertalev@users.noreply.github.com>
2025-03-06 16:00:18 +01:00
rrrockey
d84009648e refactor(server): replace switch statement in sendFile with Record lookup (#16630)
* refactor cache control handling in server/utils/file.ts

* add ability to null CacheControl.NONE

* Cache control handling comment

* Added comment to file.ts

This comment provides a better understanding of what the cacheControlHeader is doing.

* Update file.ts

Added comments

* Update server/src/utils/file.ts

* fix comments in file.ts

* run prettier with --write to fix formatting

---------

Co-authored-by: pnleguizamo <pnleguizamo@gmail.com>
Co-authored-by: drew-kearns <dkearns@iastate.edu>
Co-authored-by: Sierra (Izumi) Brown <119357873+SierraIBrown@users.noreply.github.com>
Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-03-06 12:46:37 +01:00
Jason Rasmussen
2da9e3152b refactor: download service (#16600) 2025-03-05 08:38:23 -05:00
Jason Rasmussen
d1fd0076cc refactor: migration tag repository to kysely (#16398) 2025-03-03 18:41:19 +00:00
Zack Pollard
fb907d707d refactor: use new updateId column for user CUD sync (#16384) 2025-02-27 09:22:02 -05:00
Alex
007eaaceb9 feat(web): manual face tagging and deletion (#16062) 2025-02-21 09:58:25 -06:00
Zack Pollard
ac36effb45 feat: sync implementation for the user entity (#16234)
* ci: print out typeorm generation changes

* feat: sync implementation for the user entity

wip

---------

Co-authored-by: Jason Rasmussen <jason@rasm.me>
2025-02-20 23:37:57 -05:00
Jason Rasmussen
2d7c333c8c refactor(server): narrow auth types (#16066) 2025-02-12 15:23:08 -05:00
Jason Rasmussen
fa5aeaf539 refactor: last repository (#16042) 2025-02-11 22:15:56 +00:00
Jason Rasmussen
5f3a42a132 refactor: repositories (#16038) 2025-02-11 15:12:31 -05:00
Jason Rasmussen
9d85272c2b refactor: repositories (#16036) 2025-02-11 14:08:13 -05:00
Jason Rasmussen
735f8d661e refactor: test mocks (#16008) 2025-02-11 00:47:42 +01:00
Jason Rasmussen
03948a69e2 refactor: system metadata repository (#15954) 2025-02-07 17:26:49 -05:00
ayykamp
cc0cbd705e feat: add support for JPEG 2000 (#15710)
* chore(server): add support for .jp2

* docs: add support for .jp2

* chore: fix tests

* fix formatting

* unify sorting
2025-01-28 23:27:28 +00:00
Carsten Otto
da580d4685 fix: show local dates for range in album summary (#15654)
* fix(web): show local dates for range in album summary

* fix(server): show local dates for range in album summary
2025-01-28 14:33:38 -06:00
Jason Rasmussen
d3446f3092 refactor: logging repository (#15540) 2025-01-23 08:31:30 -05:00
Jason Rasmussen
66849d0d45 refactor: migrate media repository (#15536) 2025-01-22 22:11:07 +00:00
Jason Rasmussen
36058b9b59 chore: remove unused code (#15499) 2025-01-21 16:47:48 -05:00
Jason Rasmussen
9a27a99cab refactor: config repository (#15495)
* refactor: access repository

* refactor: config repository
2025-01-21 13:13:09 -05:00
Daniel Dietzler
332a865ce6 refactor: migrate person repository to kysely (#15242)
* refactor: migrate person repository to kysely

* `asVector` begone

* linting

* fix metadata faces

* update test

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
Co-authored-by: mertalev <101130780+mertalev@users.noreply.github.com>
2025-01-21 13:12:28 -05:00
Jason Rasmussen
1745f48f3d feat: better spec urls (#15487) 2025-01-21 10:26:52 -06:00
Jason Rasmussen
b0cdd8f475 refactor: access repository (#15490) 2025-01-21 10:09:24 -06:00
Mert
fef36e6a37 chore(server)!: default max bitrate unit to kbps (#15264)
default unit to kbps
2025-01-11 22:09:19 -06:00
Mert
2e12c46980 refactor(server): use kysely (#12857) 2025-01-09 11:15:41 -05:00
Mert
fcd372238f chore(server): add support for .m2t (#15064)
* add m2t

* ordering
2025-01-03 16:28:32 -06:00
Mert
60c783bbe9 fix(server): partial fallback for hardware transcoding (#14611) 2024-12-10 12:11:19 -05:00
Lukas
1ba622adc9 feat: Add support for vob (#14590)
Add support for vob
2024-12-08 20:35:23 -06:00
Mert
07096bdcee fix(server): images with non-ascii names failing to load (#14512)
* utf-8 filename

* Update file.ts

Co-authored-by: Michel Heusschen <59014050+michelheusschen@users.noreply.github.com>

---------

Co-authored-by: Michel Heusschen <59014050+michelheusschen@users.noreply.github.com>
2024-12-06 07:43:58 -06:00
Tim Van Onckelen
292182fa7f feat: Notification Email Templates (#13940) 2024-12-04 20:26:02 +00:00
Mert
52247c3650 fix(server): always set transcoding device, prefer renderD* (#14455)
always set device, prefer renderD*
2024-12-02 20:28:50 -05:00
Eli Gao
4eb7758f56 feat(server): specify names for thumbnail files (#14425) 2024-12-01 13:21:08 -06:00
San
1c82804f63 fix(server): use hw decoding for rkmpp w/o OpenCL if possible (#13848)
* Set hardware decoding options for rkmpp when hardware decoding is enabled with no OpenCL on non-HDR file

* Use hw decoding, sw tone-mapping on HDR files using RKMPP w/o OpenCL

* fallback to software decoding if is hdr video

* if hw decoding failed with hw dec config enabled, try sw dec+hw enc first, then full sw dec+enc

* fix unit test

* fix format, adjust log message

* formatting

---------

Co-authored-by: mertalev <101130780+mertalev@users.noreply.github.com>
2024-11-22 08:08:49 +00:00
Alex
9a9d40c193 feat(server): clean up interrupted upload files (#14265)
* feat(server): clean up interrupted upload files

* pr feedback

* remove console.log

* handle all errors

* remove return in callback function

* programming in bed is a bad idea
2024-11-20 17:17:12 -06:00
Lukas
9203a61709 fix(server): Some MTS videos fail to generate thumbnail (#14134)
* Stop skipping of all frames in MTS video

* Only skip flag for mts videos

* Fix lint checks

* Adds test

* Add comment for why flag is removed
2024-11-14 07:07:04 +00:00
Pablo Molina
333ca8827e feat: use dateTimeOriginal to calculate album date (#14119) 2024-11-13 11:17:14 -06:00
Jason Rasmussen
64831e2328 refactor: remove smart info table (#13985) 2024-11-07 11:25:10 -05:00
Mert
b9096f3e99 feat(server): use tonemapx for software tone-mapping (#13785) 2024-10-31 20:48:23 -04:00
Jason Rasmussen
5b2cd704d3 refactor(server): job discovery (#13838)
refactor(server): job discorvery
2024-10-31 13:42:58 -04:00
Jason Rasmussen
37e437a568 fix(server): keep system config transformations (#13796) 2024-10-29 15:59:35 +00:00
Jason Rasmussen
43d18ccc36 refactor(server): user create logic (#13728) 2024-10-24 17:24:37 -04:00
Jason Rasmussen
e6a666f1d3 refactor(server): telemetry (#13588)
refactor: telemetry
2024-10-21 23:52:30 +00:00
Mert
62e55f3db9 fix(server): Revert "fix(server): copy video projection metadata for 360 videos (#12376)" (#13611)
Revert "fix(server): copy video projection metadata for 360 videos (#12376)"

This reverts commit aa0097bde2.
2024-10-20 10:15:50 -05:00
Jason Rasmussen
12628b80bc refactor(server): telemetry env (#13564) 2024-10-17 18:04:25 -04:00