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
Jason Rasmussen
ddd73b9911
feat(server): prefer tagslist ( #12286 )
2024-09-03 17:36:27 -04:00
Jason Rasmussen
d18bc7007a
fix: keyword parsing ( #12164 )
2024-08-30 21:33:42 +00:00
Jason Rasmussen
9b1a985d29
fix(server): tag upsert ( #12141 )
2024-08-30 12:44:24 -04:00
Jason Rasmussen
d08a20bd57
feat: tags ( #11980 )
...
* feat: tags
* fix: folder tree icons
* navigate to tag from detail panel
* delete tag
* Tag position and add tag button
* Tag asset in detail panel
* refactor form
* feat: navigate to tag page from clicking on a tag
* feat: delete tags from the tag page
* refactor: moving tag section in detail panel and add + tag button
* feat: tag asset action in detail panel
* refactor add tag form
* fdisable add tag button when there is no selection
* feat: tag bulk endpoint
* feat: tag colors
* chore: clean up
* chore: unit tests
* feat: write tags to sidecar
* Remove tag and auto focus on tag creation form opened
* chore: regenerate migration
* chore: linting
* add color picker to tag edit form
* fix: force render tags timeline on navigating back from asset viewer
* feat: read tags from keywords
* chore: clean up
---------
Co-authored-by: Alex Tran <alex.tran1502@gmail.com >
2024-08-29 12:14:03 -04:00
Jason Rasmussen
29d229c5ba
fix(server): do not match live photos across libraries ( #11952 )
2024-08-20 21:23:50 -04:00
Jason Rasmussen
433c7ab01d
refactor: server emit events ( #11780 )
2024-08-15 20:12:41 +00:00
Jason Rasmussen
b288241a5c
refactor(server): enums ( #11809 )
2024-08-15 06:57:01 -04:00
Christoph Suter
f33dbdfe9a
feat(web): add Exif-Rating ( #11580 )
...
* Add Exif-Rating
* Integrate star rating as own component
* Add e2e tests for rating and validation
* Rename component and async handleChangeRating
* Display rating can be enabled in app settings
* Correct i18n reference
Co-authored-by: Michel Heusschen <59014050+michelheusschen@users.noreply.github.com >
* Star rating: change from slider to buttons
* Star rating for clarity
* Design updates.
* Renaming and code optimization
* chore: clean up
* chore: e2e formatting
* light mode border and default value
---------
Co-authored-by: Christoph Suter <christoph@suter-burri.ch >
Co-authored-by: Michel Heusschen <59014050+michelheusschen@users.noreply.github.com >
Co-authored-by: Mert <101130780+mertalev@users.noreply.github.com >
Co-authored-by: Jason Rasmussen <jrasm91@gmail.com >
Co-authored-by: Alex Tran <alex.tran1502@gmail.com >
2024-08-09 17:45:52 +00:00
Johannes Groß
28ba22e8c1
fix(server): handle numeric 'Image Description' and 'Description' values ( #11636 )
...
* Made 'Image Description' and 'Description' type safe during exif parsing
* add test + update types
---------
Co-authored-by: Michel Heusschen <59014050+michelheusschen@users.noreply.github.com >
2024-08-07 15:23:36 +00:00
Michel Heusschen
325fb4b5d1
fix(server): video duration extraction ( #11610 )
2024-08-06 11:27:05 -05:00
Michel Heusschen
8725656fd2
fix(server): DateTimeOriginal overwrite issue with sidecar file ( #11306 )
...
* fix(server): DateTimeOriginal overwrite issue with sidecar file
* update unit test
2024-07-23 07:59:46 -04:00
Michel Heusschen
8b773a2b2e
fix(server): exif description whitespace handling ( #11249 )
...
* fix(server): exif description whitespace handling
* remove trim optional chaining
2024-07-21 19:01:14 -04:00
Jason Rasmussen
72bf9439b0
refactor(server): event emits ( #10648 )
...
* refactor(server): event emits
* refactor: change default priority to 0
2024-06-27 15:54:20 -04:00
Jason Rasmussen
7651f70c88
fix(server): asset delete logic ( #10077 )
...
* fix(server): asset delete logic
* test: e2e
2024-06-10 13:04:34 -04:00
Lukas
588860455f
test(server): check motion asset create arguments ( #9826 )
2024-06-05 01:55:04 -05:00
Daniel Dietzler
5463660746
refactor(server)!: move markers and style to dedicated map endpoint/controller ( #9832 )
...
* move markers and style to dedicated map endpoint
* chore: open api
* chore: clean up repos
---------
Co-authored-by: Jason Rasmussen <jrasm91@gmail.com >
2024-05-29 11:51:01 -04:00
Lukas
f197f5d530
fix(server): use correct file extension for motion photo videos ( #8659 )
...
* fix(server): use mp4 file extension for motion photo videos in archive download
* always use mp4 for videos
* get file extension from originalPath
* remove console log
* store motion assets with mp4 extension
* add migration
* set originalFileName for live photo asset stubs
* leave down migration empty
* only set originalFileName for livePhotoStillAsset
* use separate stub
* shorter stub name
2024-05-24 16:38:18 -04:00
Jason Rasmussen
984aa8fb41
refactor(server): system config ( #9517 )
2024-05-15 18:58:23 -04:00
Jason Rasmussen
1bebc7368c
fix(server): regenerate (extract) motion videos ( #9438 )
2024-05-13 16:38:11 -04:00
Mert
f3fbb9b588
perf: cache getConfig ( #9377 )
...
* cache `getConfig`
* critical fix
Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com >
---------
Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com >
2024-05-10 18:15:25 +00:00
Kevin Huang
17dc12cf7d
fix(server): storage usage calculation for motion photos ( #8722 )
...
* ignore non external assets in external libraries during syncUsage
* only update storage usage if asset is from internal libraries
* update storage usage on motion photo video asset creation
* updated metadata service tests
* added a test
* simplified syncUsage condition
* check for library type upload instead of not external
* fixed broken sql
---------
Co-authored-by: Jason Rasmussen <jrasm91@gmail.com >
2024-04-17 03:04:59 +00:00
AmAn Sharma
6e6deec40c
feat: use ILoggerRepository ( #8855 )
...
* Migrate ImmichLogger over to injected ILoggerRepository
* chore: cleanup and tests
---------
Co-authored-by: Jason Rasmussen <jrasm91@gmail.com >
2024-04-16 17:30:31 -04:00
Jason Rasmussen
50c9bc0336
chore: migrate to vitest ( #7156 )
...
* chore: jest => vitest
* chore: replace jest-when
2024-04-16 10:44:45 -04:00
Kevin Huang
58346465aa
fix(server): link motion photo with existing video asset ( #8724 )
...
* added motion photo linking
* added tests
2024-04-11 09:49:21 -04:00
Jason Rasmussen
6e93ddf2f1
refactor: server events ( #8204 )
...
* refactor: server events
* fix typo
---------
Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com >
2024-03-22 18:24:02 -04:00
Daniel Dietzler
b588a87d4a
chore(server): rename domain repositories -> interfaces ( #8147 )
...
rename domain repositories
2024-03-21 06:59:49 -05:00
Jason Rasmussen
16d0df796c
refactor: infra folder ( #8138 )
2024-03-20 23:15:09 -04:00
Daniel Dietzler
ef4a492cb1
chore(server): move services ( #8133 )
...
move services
2024-03-20 18:07:30 -05:00