Brandon Wees
0886281dd8
fix: create face exif orientation handling ( #26108 )
...
* fix: handle exif orientation when creating face
* chore: tests
2026-02-10 11:30:34 -05:00
Brandon Wees
37e5968a7a
fix: face and edit handling ( #25738 )
...
* fix: handle edits when creating face
2026-02-05 19:29:46 +00:00
Brandon Wees
e8c80d88a5
feat: image editing ( #24155 )
2026-01-09 17:59:52 -05:00
Jason Rasmussen
3f2e0780d5
feat: availability checks ( #22185 )
2025-09-19 12:18:42 -04:00
Jason Rasmussen
8f1b505ba0
fix: prevent an offline asset from being used as a person feature photo ( #21278 )
2025-08-25 22:40:56 -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
e60bc3c304
refactor: database types ( #19624 )
2025-06-30 13:19:16 -04:00
Jason Rasmussen
eca9b56847
feat(server): person delete ( #19511 )
...
feat(api): person delete
2025-06-25 11:12:36 -04:00
Mert
0d773af6c3
feat: vectorchord ( #18042 )
...
* wip
auto-detect available extensions
auto-recovery, fix reindexing check
use original image for ml
* set probes
* update image for sql checker
update images for gha
* cascade
* fix new instance
* accurate dummy vector
* simplify dummy
* preexisiting pg docs
* handle different db name
* maybe fix sql generation
* revert refreshfaces sql change
* redundant switch
* outdated message
* update docker compose files
* Update docs/docs/administration/postgres-standalone.md
Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com >
* tighten range
* avoid always printing "vector reindexing complete"
* remove nesting
* use new images
* add vchord to unit tests
* debug e2e image
* mention 1.107.2 in startup error
* support new vchord versions
---------
Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com >
2025-05-20 08:36:43 -05:00
Mert
3a0ddfb92d
fix(server): vacuum after deleting people ( #18299 )
...
* vacuum after deleting people
* update sql
2025-05-14 23:13:13 -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
Jason Rasmussen
be5cc2cdf5
refactor: stream detect faces ( #17996 )
2025-04-30 11:25:30 -04:00
Daniel Dietzler
52ae06c119
refactor: remove album entity, update types ( #17450 )
2025-04-18 23:10:34 +02:00
Daniel Dietzler
586a7a173b
refactor: handle detect faces job query ( #17660 )
2025-04-16 22:52:54 +02:00
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