Jason Rasmussen
7ee0221c8e
chore: remove deprecated endpoint ( #13190 )
2024-10-04 15:10:13 -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
Mert
2f13db51df
fix(server): "all" button for facial recognition deleting faces instead of unassigning them ( #13042 )
...
* unassign faces instead of deleting them
* formatting
2024-09-30 00:29:14 -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
Mert
8193416230
feat(server): conditionally run facial recognition nightly ( #11080 )
...
* only run nightly if new person
* add tests
* use string instead of date
* update sql
* update tests
* simplify condition
2024-07-14 22:53:42 +00:00
Jason Rasmussen
50c9bc0336
chore: migrate to vitest ( #7156 )
...
* chore: jest => vitest
* chore: replace jest-when
2024-04-16 10:44:45 -04:00
Daniel Dietzler
b588a87d4a
chore(server): rename domain repositories
-> interfaces
( #8147 )
...
rename domain repositories
2024-03-21 06:59:49 -05:00
Daniel Dietzler
84f7ca855a
chore(server): move domain interfaces ( #8124 )
...
move domain interfaces
2024-03-20 16:42:58 -04:00
Daniel Dietzler
30f499cf2e
chore(server): use absolute import paths ( #8080 )
...
update server to use absolute import paths
2024-03-20 14:32:04 -04:00
martin
fa0913120d
feat(web,server): search people ( #5703 )
...
* feat: search peoples
* fix: responsive design
* use existing count
* generate sql file
* fix: tests
* remove visible people
* fix: merge, hide...
* use component
* fix: linter
* chore: regenerate api
* fix: change name when searching for a face
* save search
* remove duplicate
* use enums for query parameters
* fix: increase to 20 for the local search
* use constants
* simplify
* fix: number of people more visible
* fix: merge
* fix: search
* fix: loading spinner position
* pr feedback
2024-01-27 19:54:31 -05:00
Mert
bd87eb309c
feat(server): optimize partial facial recognition ( #6634 )
...
* optimize partial facial recognition
* add tests
* use map
* bulk insert faces
2024-01-25 01:27:39 -05:00
Mert
68f52818ae
feat(server): separate face clustering job ( #5598 )
...
* separate facial clustering job
* update api
* fixed some tests
* invert clustering
* hdbscan
* update api
* remove commented code
* wip dbscan
* cleanup
removed cluster endpoint
remove commented code
* fixes
updated tests
minor fixes and formatting
fixed queuing
refinements
* scale search range based on library size
* defer non-core faces
* optimizations
removed unused query option
* assign faces individually for correctness
fixed unit tests
remove unused method
* don't select face embedding
update sql
linting
fixed ml typing
* updated job mock
* paginate people query
* select face embeddings because typeorm
* fix setting face detection concurrency
* update sql
formatting
linting
* simplify logic
remove unused imports
* more specific delete signature
* more accurate typing for face stubs
* add migration
formatting
* chore: better typing
* don't select embedding by default
remove unused import
* updated sql
* use normal try/catch
* stricter concurrency typing and enforcement
* update api
* update job concurrency panel to show disabled queues
formatting
* check jobId in queueAll
fix tests
* remove outdated comment
* better facial recognition icon
* wording
wording
formatting
* fixed tests
* fix
* formatting & sql
* try to fix sql check
* more detailed description
* update sql
* formatting
* wording
* update `minFaces` description
---------
Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2024-01-18 00:08:48 -05:00
martin
7702560b12
feat(web): re-assign person faces (2) ( #4949 )
...
* feat: unassign person faces
* multiple improvements
* chore: regenerate api
* feat: improve face interactions in photos
* fix: tests
* fix: tests
* optimize
* fix: wrong assignment on complex-multiple re-assignments
* fix: thumbnails with large photos
* fix: complex reassign
* fix: don't send people with faces
* fix: person thumbnail generation
* chore: regenerate api
* add tess
* feat: face box even when zoomed
* fix: change feature photo
* feat: make the blue icon hoverable
* chore: regenerate api
* feat: use websocket
* fix: loading spinner when clicking on the done button
* fix: use the svelte way
* fix: tests
* simplify
* fix: unused vars
* fix: remove unused code
* fix: add migration
* chore: regenerate api
* ci: add unit tests
* chore: regenerate api
* feat: if a new person is created for a face and the server takes more than 15 seconds to generate the person thumbnail, don't wait for it
* reorganize
* chore: regenerate api
* feat: global edit
* pr feedback
* pr feedback
* simplify
* revert test
* fix: face generation
* fix: tests
* fix: face generation
* fix merge
* feat: search names in unmerge face selector modal
* fix: merge face selector
* simplify feature photo generation
* fix: change endpoint
* pr feedback
* chore: fix merge
* chore: fix merge
* fix: tests
* fix: edit & hide buttons
* fix: tests
* feat: show if person is hidden
* feat: rename face to person
* feat: split in new panel
* copy-paste-error
* pr feedback
* fix: feature photo
* do not leak faces
* fix: unmerge modal
* fix: merge modal event
* feat(server): remove duplicates
* fix: title for image thumbnails
* fix: disable side panel when there's no face until next PR
---------
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2023-12-05 09:43:15 -06:00
martin
3e3598fd92
fix: suggest people ( #4566 )
...
* fix: suggest people
* feat: remove hidden people
* add hidden people when merging faces
* pr feedback
* fix: don't use reactive statement
* fixed section height
* improve merging
* fix: migration
* fix migration
* feat: add asset count
* fix: test
* rename endpoint
* add server test
* improve responsive design
* fix: remove videos from live photos in the asset count
* pr feedback
* fix: rename asset count endpoint
* fix: return firstname and lastname
* fix: reset people only on error
* fix: search
* fix: responsive design & div flickering
* fix: cleanup
* chore: open api
---------
Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
2023-10-24 15:53:49 +00:00
martin
b8d6cc1e09
feat(server,web): improve performances in person page (1) ( #4387 )
...
* feat: improve performances in people page
* feat: add loadingspinner when searching
* fix: reset people on error
* fix: case insensitive
* feat: better sql query
* fix: reset people list before api request
* fix: format
2023-10-10 09:34:25 -05:00
Daniel Dietzler
0a22e64799
refactor(server): merge facial-recognition and person ( #4237 )
...
* move facial recognition service into person service
* merge face repository and person repository
* fix imports
2023-09-27 16:46:46 -04:00
Daniele Ricci
3432b4625f
fix(server): regenerate missing person thumbnails ( #3970 )
...
* Regenerate missing person thumbnails
* Check for empty string instead of zero length
* Remember asset used as person face
* Define entity relation between person and asset via faceAssetId
* Typo
* Fix entity relation
* Tests
* Tests
* Fix code formatting
* Fix import path
* Fix migration
* format
* Fix entity and migration
* Linting
* Remove unneeded cast
* Conventions
* Simplify queries
* Simplify queries
* Remove unneeded typings from entity
* Remove unneeded cast
---------
Co-authored-by: Alex <alex.tran1502@gmail.com>
2023-09-08 13:49:43 +07:00
Alex
c86b2ae500
feat(web/server): merge faces ( #3121 )
...
* feat(server/web): Merge faces
* get parent id
* update
* query to get identical asset and change controller
* change delete asset signature
* delete identical assets
* gaming time
* delete merge person
* query
* query
* generate api
* pr feedback
* generate api
* naming
* remove unused method
* Update server/src/domain/person/person.service.ts
Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
* Update server/src/domain/person/person.service.ts
Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
* better method signature
* cleaning up
* fix bug
* added interfaces
* added tests
* merge main
* api
* build merge face interface
* api
* selector interface
* style
* more style
* clean up import
* styling
* styling
* better
* styling
* styling
* add merge face diablog
* finished
* refactor: merge person endpoint
* refactor: merge person component
* chore: open api
* fix: tests
---------
Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
2023-07-11 16:52:41 -05:00
Alex
7947f4db4c
feat(web/server): Face thumbnail selection ( #3081 )
...
* add migration
* verify running migration populate new value
* implemented service
* generate api
* FE works
* FR Works
* fix test
* fix test fixture
* fix test
* fix test
* consolidate api
* fix test
* added test
* pr feedback
* refactor
* click ont humbnail to show feature selection as well
2023-07-02 17:46:20 -05:00
Jason Rasmussen
8ebac41318
refactor(server)*: tsconfigs ( #2689 )
...
* refactor(server): tsconfigs
* chore: dummy commit
* fix: start.sh
* chore: restore original entry scripts
2023-06-08 10:01:07 -05:00