Mert
25f2b9602f
refactor(server): remove face, person and face search entities ( #17535 )
...
* remove face, person and face search entities
update tests and mappers
check if face relation exists
update sql
unused imports
* pr feedback
generate sql, remove unused imports
2025-04-11 14:44:45 -04:00
Abhinav Valecha
b621281351
feat(server): Avoid face match with people born after file creation #4743 ( #16918 )
...
* feat(server): Avoid face matching with people born after file creation date (#4743 )
* lint
* add medium tests for facial recognition
---------
Co-authored-by: Alex <alex.tran1502@gmail.com >
2025-04-02 10:37:26 -05: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
hwang
a831876fdc
fix: MAX_PARAMETERS_EXCEEDED error during person cleanup job ( #17222 )
...
* add batch size in sql delete,fix person cleanup error: ERROR [Microservices:{}] Unable to run job handler (backgroundTask/person-cleanup): Error: MAX_PARAMETERS_EXCEEDED: Max number of parameters (65534) exceeded
* add chunked decorator to delete
* chore: prettier formatting fixes
---------
Co-authored-by: hwang3419 <“hwang.iit@gmail.com ”>
Co-authored-by: Zack Pollard <zackpollard@ymail.com >
2025-03-31 11:30:56 +00:00
Jason Rasmussen
4b4bcd23f4
feat: schema diff sql tools ( #17116 )
2025-03-28 10:40:09 -04:00
Mert
7d6cfd09e6
fix(server): don't expose source types in face creation api ( #16381 )
...
* don't expose source types in face creation api
* update open-api
* remove source type reference from web
2025-02-27 17:17:07 +03:00
David Bourgault
4b55888d16
fix: ensure manually tagged faces have proper source type ( #16364 )
...
immich-app/immich#16062 added manual face tagging and deletion, but did
not add a new 'SourceType'. The create faces would default to
'machine-learning' which is incorrect, and has the annoying downside
that they will be wiped when the 'Refresh Faces' job is run.
Handling of non-machine-learning faces was previously added in
immich-app/immich#6455 . This PR simply extends it to the new manually
tagged faces.
2025-02-26 20:53:21 -06:00
Alex
007eaaceb9
feat(web): manual face tagging and deletion ( #16062 )
2025-02-21 09:58:25 -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
Jason Rasmussen
23014c263b
feat(api): set person color ( #15937 )
2025-02-07 10:06:58 -05:00
Arno
7ec3610753
feat: Mark people as favorite ( #14866 )
...
* feat: added ability to mark people as favorite, which get sorted to the front of the people list
* feat(server): added unit test for favorite people
* feat(server): refactored for better readability
* fixed person service unit tests
* fixed open-api and sql checks
* fixed bad codegen and removed unnecessary type assertion again
* chore: clean up
---------
Co-authored-by: Alex <alex.tran1502@gmail.com >
Co-authored-by: Jason Rasmussen <jrasm91@gmail.com >
2025-02-04 08:52:17 +00:00
Jason Rasmussen
66849d0d45
refactor: migrate media repository ( #15536 )
2025-01-22 22:11:07 +00:00
Mert
49a6961ec6
fix(server): query fixes ( #15509 )
2025-01-22 14:17:42 -06: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
Lukas
12e55f5bf0
feat(server): Merge Faces sorted by Similarity ( #14635 )
...
* Merge Faces sorted by Similarity
* Adds face sorting to the side panel face merger
* run make open-api
* Make it one query
* Only have the single order by when sorting by closest face
2024-12-16 08:47:11 -06:00
Mert
4bf1b84cc2
feat(ml): support multiple urls ( #14347 )
...
* support multiple url
* update api
* styling
unnecessary `?.`
* update docs, make new url field go first
add load balancing section
* update tests
doc formatting
wording
wording
linting
* small styling
* `url` -> `urls`
* fix tests
* update docs
* make docusaurus happy
---------
Co-authored-by: Alex <alex.tran1502@gmail.com >
2024-12-04 20:17:47 +00:00
Jason Rasmussen
5b2cd704d3
refactor(server): job discovery ( #13838 )
...
refactor(server): job discorvery
2024-10-31 13:42:58 -04:00
Jason Rasmussen
8daa8073ae
refactor(server): add base methods for access checks ( #13349 )
2024-10-10 11:53:53 -04:00
Mert
08d428cbce
fix(server): duplicate faces, face insert query failing ( #13294 )
...
fix duplicate faces, query failing
2024-10-08 21:37:41 +00:00
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
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
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
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
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
8285803c95
refactor: access core ( #11930 )
2024-08-20 07:49:56 -04:00
Jason Rasmussen
7af6733665
refactor(server): move files to separate table ( #11861 )
2024-08-19 20:03:33 -04:00
Jason Rasmussen
f230b3aa42
feat(server): granular permissions for api keys ( #11824 )
...
feat(server): api auth permissions
2024-08-16 09:48:43 -04:00
Jason Rasmussen
b288241a5c
refactor(server): enums ( #11809 )
2024-08-15 06:57:01 -04:00
renovate[bot]
2821e0bf95
chore(deps): update typescript-eslint monorepo to v8 (major) ( #11598 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
2024-08-05 19:13:00 +00:00
Michel Heusschen
8e6bc13540
feat: people infinite scroll ( #11326 )
...
* feat: people infinite scroll
* add infinite scroll to show & hide modal
* update unit tests
* show total people count instead of currently loaded
* update personsearchdto
2024-07-25 15:59:28 -04:00
Saschl
d37e8ede3b
feat: optionally generate thumbnails for invalid images ( #11126 )
2024-07-18 12:07:22 -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
6a11464d60
fix(server): do not allow merging a person into themselves ( #10776 )
2024-07-02 19:56:05 +00:00
Mert
6b1b5054f8
feat(server): separate face search relation ( #10371 )
...
* wip
* various fixes
* new migration
* fix test
* add face search entity, update sql
* update e2e
* set storage to external
2024-06-16 19:25:27 +00:00
Mert
e77e87b936
fix(server): orientation handling for person thumbnails ( #10382 )
...
fix orientation handling
2024-06-16 08:45:58 -07:00
Mert
fb641c74be
fix(server): use preview image when generating person thumbnail from video ( #10240 )
2024-06-12 22:16:26 -04:00
Jason Rasmussen
e84657192c
refactor: config caching ( #10168 )
2024-06-12 11:07:35 +00:00
Mert
2b1b43a7e4
feat(ml): composable ml ( #9973 )
...
* modularize model classes
* various fixes
* expose port
* change response
* round coordinates
* simplify preload
* update server
* simplify interface
simplify
* update tests
* composable endpoint
* cleanup
fixes
remove unnecessary interface
support text input, cleanup
* ew camelcase
* update server
server fixes
fix typing
* ml fixes
update locustfile
fixes
* cleaner response
* better repo response
* update tests
formatting and typing
rename
* undo compose change
* linting
fix type
actually fix typing
* stricter typing
fix detection-only response
no need for defaultdict
* update spec file
update api
linting
* update e2e
* unnecessary dimension
* remove commented code
* remove duplicate code
* remove unused imports
* add batch dim
2024-06-07 03:09:47 +00:00
Jason Rasmussen
984aa8fb41
refactor(server): system config ( #9517 )
2024-05-15 18:58:23 -04:00
Jason Rasmussen
0f129cae4a
refactor(server): feature flags ( #9492 )
2024-05-14 15:31:36 -04:00
Jason Rasmussen
7b1112f3e3
refactor(server): system config ( #9484 )
2024-05-14 14:43:49 -04:00