renovate[bot]
ca4fd07656
chore(deps): update dependency eslint-plugin-unicorn to v62 ( #24167 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
2025-11-27 21:31:16 +00:00
Mees Frensel
271a42ac7f
fix(server): copy relevant panorama tags to preview image ( #23953 )
2025-11-19 03:02:12 +00:00
grgergo
6973683ea7
fix: use full-size image for non-web-compatible panoramas ( #20359 )
...
* fix(web): use full-size image for non-web-compatible panoramas
* always generate full-size image for panoramas
* add unit test
* fix formatting
---------
Co-authored-by: gergo= <gergo@pitty.hu >
2025-10-06 12:38:41 -04:00
Jason Rasmussen
bcb968e3d1
refactor: job names ( #19949 )
2025-07-15 18:39:00 -04:00
Jason Rasmussen
e73abe0762
refactor: enum casing ( #19946 )
2025-07-15 14:50:13 -04:00
Jason Rasmussen
920d7de349
refactor: event names ( #19945 )
2025-07-15 13:41:19 -04:00
Jason Rasmussen
5cd186d3d4
refactor: duplicate queries ( #19136 )
2025-06-12 14:23:02 -04:00
Mert
493b9b7a54
fix(server): use preview path for person thumbnails from videos ( #18419 )
...
use preview path for person thumbnails from videos
2025-05-21 11:15:30 -05:00
Daimolean
dc8962f2bc
fix(server): select main stream according to bitrate ( #18375 )
...
* fix main stream
* update unit tests
---------
Co-authored-by: mertalev <101130780+mertalev@users.noreply.github.com >
2025-05-19 17:33:28 -04:00
Mert
2a80251dc3
fix(server): more robust person thumbnail generation ( #17974 )
...
* more robust person thumbnail generation
* clamp bounding boxes
* update sql
* no need to process invalid images after decoding
* cursed knowledge
* new line
2025-05-06 14:18:22 -04:00
Alex
d33ce13561
feat(server): visibility column ( #17939 )
...
* feat: private view
* pr feedback
* sql generation
* feat: visibility column
* fix: set visibility value as the same as the still part after unlinked live photos
* fix: test
* pr feedback
2025-05-06 12:12:48 -05:00
Eli Gao
84b51e3cbb
fix(server): double rotation on HEIF files ( #18002 )
...
* fix(server): double rotation on HEIF/HEIC files
* Update server/src/services/media.service.ts
* formatting
---------
Co-authored-by: Mert <101130780+mertalev@users.noreply.github.com >
2025-04-30 20:33:18 +00:00
Jason Rasmussen
526c02297c
refactor: stream queue migration ( #17997 )
2025-04-30 16:23:13 +00:00
Jason Rasmussen
0c261ffbe2
fix: queue in batches ( #17989 )
2025-04-30 10:52:51 -04:00
Eli Gao
48bcbee6ed
feat(server): JXL previews from DNG 1.7+ ( #17861 )
...
* feat(server): JXL previews from RAW
* refactor(server): use var name assumedExtractedFormat for clarity
* test(server): fix existing media.extract() returning JPEG
* chore(openapi): regen
* style(server): lint
* fix(server): ignore undefined decode orientation
* fix(server): correct orientation assignment in media decode options
* test(server): unit tests of JXL-encoded DNG
* refactor(server): return buffer and format from mediaRepository.extract()
* chore(open-api): regen
* refactor
---------
Co-authored-by: mertalev <101130780+mertalev@users.noreply.github.com >
2025-04-28 18:18:46 -04:00
Daniel Dietzler
f621f8ef2c
refactor: more job queries ( #17745 )
2025-04-29 00:03:20 +02:00
Daniel Dietzler
f50e5d006c
refactor: dedicated queries for asset jobs ( #17652 )
2025-04-16 14:08:49 -04:00
Daniel Dietzler
21becbf1b0
refactor: dedicated query for asset migration job ( #17631 )
2025-04-15 15:49:15 -04:00
Daniel Dietzler
5bceefce75
refactor: stream assets for thumbnail job ( #17623 )
2025-04-15 19:53:28 +02:00
Mert
59e5c82569
fix(server): full-size images not migrated or deleted correctly ( #17308 )
...
* fix file path logic
* update tests
* add empty array fallback just in case for now
2025-04-01 18:11:46 -04:00
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
Jason Rasmussen
fa5aeaf539
refactor: last repository ( #16042 )
2025-02-11 22:15:56 +00:00
Jason Rasmussen
9d85272c2b
refactor: repositories ( #16036 )
2025-02-11 14:08:13 -05:00
Mert
92412ca2f7
fix(server): person thumbnail generation always being queued ( #15734 )
...
* fix person thumbnail generation always being queued
* fix thumbhash comparison
* fix mock
2025-01-27 16:20:18 -06:00
Jason Rasmussen
66849d0d45
refactor: migrate media repository ( #15536 )
2025-01-22 22:11:07 +00: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
Mert
60c783bbe9
fix(server): partial fallback for hardware transcoding ( #14611 )
2024-12-10 12:11:19 -05: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
Lukas
b6937c5e03
fix(server): Remove log that accidently was commited in #14134 ( #14261 )
...
Remove log that accidently was commited
2024-11-20 17:20:54 +00: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
Alex
2f9019c0e1
fix(server): correct rotation for common files ( #14092 )
...
* fix(server): correct rotation for common files
* fix: test:
* pr feedback
2024-11-12 15:07:56 +00:00
Terry Zhao
c8b46802d6
fix(server): thumbnail rotation when using embedded previews ( #13948 )
2024-11-08 06:30:59 +00: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
Pranay Pandey
d40cbe4c5f
feat: Use video thumbnail for GIF types ( #13677 )
2024-10-22 13:04:44 -04:00
Alex
39b571a95c
fix(server): encodes iPhone 16 Pro video with unknown audio codec ( #13593 )
...
* fix(server): encodes iPhone 16 Pro video with unknown audio codec
* remove white space
* pr feedback + unit test
* remove public method keyword
* test the service
* correcting unit test
2024-10-19 00:50:08 -05:00
Daniel Dietzler
20b4d281bb
chore: media service unit tests ( #13382 )
2024-10-11 21:33:10 -04:00
Jason Rasmussen
4ea281f854
refactor: service dependencies ( #13108 )
...
refactor(server): simplify service dependency management
2024-10-02 10:54:35 -04:00
Jason Rasmussen
63437529e1
refactor(server): config file env ( #13100 )
2024-10-01 16:03:55 -04:00
Jason Rasmussen
a019fb670e
refactor(server): config service ( #13066 )
...
* refactor(server): config service
* fix: function renaming
---------
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
2024-09-30 17:31:21 -04:00
Mert
2bcd27e166
feat(server): generate all thumbnails for an asset in one job ( #13012 )
...
* wip
cleanup
add success logs, rename method
do thumbhash too
fixes
fix tests
handle `notify`
wip refactor
refactor
* update tests
* update sql
* pr feedback
* remove unused code
* formatting
2024-09-28 17:47:24 +00:00
Mert
995f0fda47
feat(server): separate quality for thumbnail and preview images ( #13006 )
...
* allow different thumbnail and preview quality, better config structure
* update web and api
* wording
* remove empty line?
2024-09-28 06:01:04 +00:00
Mert
4248594ac5
feat(server): better transcoding logs ( #13000 )
...
* better transcoding logs
* pr feedback
2024-09-27 18:10:39 -04:00
Jason Rasmussen
12da250028
refactor: enums ( #12988 )
2024-09-27 10:28:42 -04:00
Jason Rasmussen
d634ef2d2b
fix(server): person repo methods ( #12524 )
2024-09-10 08:48:29 -05:00
BugFest
77e6a6d78b
feat(server): Import face regions from metadata ( #6455 )
...
* feat: faces-from-metadata - Import face regions from metadata
Implements immich-app#1692.
- OpenAPI spec changes to accomodate metadata face import configs. New settings to enable the feature.
- Updates admin UI compoments
- ML faces detection/recognition & Exif/Metadata faces compatibility
Signed-off-by: BugFest <bugfest.dev@pm.me >
* chore(web): remove unused file confirm-enable-import-faces
* chore(web): format metadata-settings
* fix(server): faces-from-metadata tests and format
* fix(server): code refinements, nullable face asset sourceType
* fix(server): Add RegionInfo to ImmichTags interface
* fix(server): deleteAllFaces sourceType param can be undefined
* fix(server): exiftool-vendored 27.0.0 moves readArgs into ExifToolOptions
* fix(server): rename isImportFacesFromMetadataEnabled to isFaceImportEnabled
* fix(server): simplify sourceType conditional
* fix(server): small fixes
* fix(server): handling sourceType
* fix(server): sourceType enum
* fix(server): refactor metadata applyTaggedFaces
* fix(server): create/update signature changes
* fix(server): reduce computational cost of Person.getManyByName
* fix(server): use faceList instead of faceSet
* fix(server): Skip regions without Name defined
* fix(mobile): Update open-api (face assets feature changes)
* fix(server): Face-Person reconciliation with map/index
* fix(server): tags.RegionInfo.AppliedToDimensions must be defined to process face-region
* fix(server): fix shared-link.service.ts format
* fix(mobile): Update open-api after branch update
* simplify
* fix(server): minor fixes
* fix(server): person create/update methods type enforcement
* fix(server): style fixes
* fix(server): remove unused metadata code
* fix(server): metadata faces unit tests
* fix(server): top level config metadata category
* fix(server): rename upsertFaces to replaceFaces
* fix(server): remove sourceType when unnecessary
* fix(server): sourceType as ENUM
* fix(server): format fixes
* fix(server): fix tests after sourceType ENUM change
* fix(server): remove unnecessary JobItem cast
* fix(server): fix asset enum imports
* fix(open-api): add metadata config
* fix(mobile): update open-api after metadata open-api spec changes
* fix(web): update web/api metadata config
* fix(server): remove duplicated sourceType def
* fix(server): update generated sql queries
* fix(e2e): tests for metadata face import feature
* fix(web): Fix check:typescript
* fix(e2e): update subproject ref
* fix(server): revert format changes to pass format checks after ci
* fix(mobile): update open-api
* fix(server,movile,open-api,mobile): sourceType as DB data type
* fix(e2e): upload face asset after enabling metadata face import
* fix(web): simplify metadata admin settings and i18n keys
* Update person.repository.ts
Co-authored-by: Jason Rasmussen <jason@rasm.me >
* fix(server): asset_faces.sourceType column not nullable
* fix(server): simplified syntax
* fix(e2e): use SDK for everything except the endpoint being tested
* fix(e2e): fix test format
* chore: clean up
* chore: clean up
* chore: update e2e/test-assets
---------
Signed-off-by: BugFest <bugfest.dev@pm.me >
Co-authored-by: mertalev <101130780+mertalev@users.noreply.github.com >
Co-authored-by: Jason Rasmussen <jason@rasm.me >
2024-09-04 18:23:58 -04:00
Jason Rasmussen
c3a8ddaaf2
fix(server): missing asset files relation ( #12295 )
2024-09-03 21:23:34 -04:00
Jonathan Jogenfors
eb4a291c81
chore(server): log path when generating external thumbnail ( #12107 )
...
* feat: log path when generating external thumbnail
* chore: clean up
---------
Co-authored-by: Jason Rasmussen <jason@rasm.me >
2024-08-29 22:16:12 +00:00
Jason Rasmussen
7af6733665
refactor(server): move files to separate table ( #11861 )
2024-08-19 20:03:33 -04:00
Jason Rasmussen
d9698884bd
refactor(server): track thumbnail jobs in job status table ( #11908 )
...
refactor: track thumbnail jobs in job status table
2024-08-19 13:50:00 -04:00