Zack Pollard
40cff2893c
fix: metadata service init failure should halt server startup ( #17356 )
2025-04-03 12:35:39 +01:00
Mert
d911b76c08
fix(server): use stat instead of exifinfo for file date metadata ( #17311 )
...
* use stat instead of filecreatedate
* update tests
* unused import
2025-04-01 17:24:07 -05:00
Snowknight26
2f8e89c7ec
feat(server): read Android and Sony video camera make/model ( #16678 )
...
* feat(server): read Android and Sony video camera exif data
* Remove a logger line
2025-03-09 22:20:11 -05:00
Mert
deb399ea15
refactor(server): use exiftool for file date metadata ( #16453 )
...
* use exiftool for file date metadata
* handle tag not existing in exifinfo (?)
* update medium tests
* fix typo
* set file size too
* set file size only if undefined
2025-03-06 16:47:12 +00: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
Mert
bc61497461
refactor(server): group async calls in metadata extraction ( #16450 )
...
* group async calls
use debugFn
no need to change mock
* check call count in tests
2025-03-06 08:56:35 -06:00
Jason Rasmussen
d1fd0076cc
refactor: migration tag repository to kysely ( #16398 )
2025-03-03 18:41:19 +00:00
Mert
5698f446f7
refactor(server): link live photos as part of metadata extraction instead of queueing job ( #16390 )
...
* link live photos helper instead of job
* update test
* queue storage template migration
* queue in onDone
* remove link live photos job
2025-03-03 09:19:36 -05:00
Jonathan Jogenfors
d20e2e268a
fix(server): don't reimport files more than once ( #16375 )
...
* fix(server) don't reimport files more than once
* fix: test
---------
Co-authored-by: Alex Tran <alex.tran1502@gmail.com >
2025-02-27 16:45:16 +00:00
Mert
6050485ad8
feat(server): set exiftool process count ( #16388 )
...
exiftool concurrency control
2025-02-27 09:24:40 -05:00
Jonathan Jogenfors
f6ba071569
feat(server): add path to metadata logging ( #16212 )
...
feat(server): Prefer original path instead of id when logging
2025-02-20 09:46:18 -06:00
Jonathan Jogenfors
b0102f8025
fix(server): set modifydate ( #16225 )
2025-02-20 09:28:30 -06:00
Jonathan Jogenfors
31dc83f3f2
fix(server): don't warn about missing timezone ( #16211 )
...
fix(server): don't warn about timezone
2025-02-19 13:21:13 -06:00
Jonathan Jogenfors
5407a28533
feat(server): Nullable asset dates ( #15669 )
...
* nullable dates
* wip
* don't search for null dates
* Add placeholder type
* cleanup
2025-02-13 15:30:12 -06: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
Christian Kündig
fe1e09e51f
fix(server): Allow negative rating (for rejected images) ( #15699 )
...
Allow negative rating (for rejected images)
2025-01-27 21:54:29 -06:00
Jason Rasmussen
1869b1b41a
refactor: repositories ( #15561 )
...
* refactor: version history repository
* refactor: oauth repository
* refactor: trash repository
* refactor: telemetry repository
* refactor: metadata repository
* refactor: cron repository
* refactor: map repository
* refactor: server-info repository
* refactor: album user repository
* refactor: notification repository
2025-01-23 18:10:17 -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
Mert
2e12c46980
refactor(server): use kysely ( #12857 )
2025-01-09 11:15:41 -05:00
Chuckame
3c35b467f4
feat(server): use the earliest date between file creation and modification timestamps when missing exif tags ( #14874 )
...
* feat(server): Use the earliest date between file creation and modification timestamps when missing exif tags
* PR fixes
* PR fixes
* Switch log to debug
* fix linter for min date
* apply prettier
2025-01-02 04:50:15 +00:00
Jonathan Jogenfors
4bc2aa5451
feat(server): Handle sidecars in external libraries ( #14800 )
...
* handle sidecars in external libraries
* don't add separate source
2024-12-21 20:50:07 -06:00
Jason Rasmussen
876893c823
refactor(server): filter on-event handlers by worker ( #14085 )
2024-11-20 14:08:42 -05:00
Terry Zhao
c8b46802d6
fix(server): thumbnail rotation when using embedded previews ( #13948 )
2024-11-08 06:30:59 +00:00
Zack Pollard
d456d35510
refactor: config init event for first config load ( #13930 )
2024-11-05 16:30:56 +00:00
Carsten Otto
cdabd08139
fix(server): wrong image dimensions for RAW files (RAF, CR2) (also fixes face preview) ( #13377 )
2024-11-01 10:34:34 -04:00
Jason Rasmussen
5b2cd704d3
refactor(server): job discovery ( #13838 )
...
refactor(server): job discorvery
2024-10-31 13:42:58 -04:00
Mert
21d7cf6de6
chore(server): make date-time logs verbose ( #13659 )
...
make date-time logs verbose
2024-10-21 16:35:56 -05:00
Jason Rasmussen
01a9cda15d
fix(server): never try to parse Duration from exif data ( #13497 )
2024-10-16 18:20:44 -04:00
Jason Rasmussen
d47def41d3
fix(server): timezones ( #13262 )
2024-10-08 16:10:52 +00:00
Jason Rasmussen
5d0a4bb1a5
refactor(server): app module ( #13193 )
2024-10-04 16:57:34 -04:00
Mert
2c87683fd4
feat(server): refresh face detection ( #12335 )
...
* refresh faces
handle non-ml faces
* fix metadata face handling
* updated tests
* added todo comment
2024-10-03 21:58:28 -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
Jason Rasmussen
a2d457b01d
refactor(server): events ( #13003 )
...
* refactor(server): events
* chore: better type
---------
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
2024-09-30 10:35:11 -04:00
Jason Rasmussen
b6f871786c
fix(server): handle numeric hierarchical subject values ( #12949 )
2024-09-26 14:32:10 -04:00
Nuno Antunes
b1cdf73a24
feat(server): validate rating ( #12855 )
...
* feat(server): validate exif rating tag
* fix(server): change allowed range for rating
* refactor: better readibility
* docs: comments
* remove log line
2024-09-23 07:50:18 +00:00
Zack Pollard
5a1a841365
fix: rework file handling so we always explicitly create, overwrite or both ( #12812 )
2024-09-20 23:16:53 +00:00
Alex
e73dc3dc72
fix(server): fix modify date extraction ( #12658 )
...
* fix(server): fix modify date extraction
* add unit test
2024-09-14 03:30:06 +00:00
Jason Rasmussen
d634ef2d2b
fix(server): person repo methods ( #12524 )
2024-09-10 08:48:29 -05:00
Jason Rasmussen
27050af57b
feat(web): manually link live photos ( #12514 )
...
feat(web,server): manually link live photos
2024-09-10 08:51:11 -04:00
Jason Rasmussen
3127636c42
fix(server): handle invalid directory item ( #12534 )
2024-09-09 23:54:24 -04:00
Jason Rasmussen
b3ef5fe6e7
fix(server): handle multiple hierarchical subjects ( #12509 )
2024-09-09 14:28:14 -04:00
Jason Rasmussen
a9caa407ec
refactor: metadata extraction ( #12359 )
2024-09-07 13:39:10 -04:00
Jason Rasmussen
ce2349d496
fix(server): asset no longer has tags ( #12350 )
2024-09-05 08:24:10 -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
Carsten Otto
cbb0a7f8d4
fix(server): parse time zone with explicit zero offset ( #12307 )
...
* fix(server): fix test: use data as returned by exiftool-vendored
* fix(server): retain +00:00 timezone if set explicitly
2024-09-04 09:27:04 -05:00
Jason Rasmussen
7ca53ba507
feat(server): support lightroom tags ( #12288 )
2024-09-03 18:25:09 -04:00