immich/server/src/interfaces
Mert 64636c0618
feat(server): near-duplicate detection (#8228)
* duplicate detection job, entity, config

* queueing

* job panel, update api

* use embedding in db instead of fetching

* disable concurrency

* only queue visible assets

* handle multiple duplicateIds

* update concurrent queue check

* add provider

* add web placeholder, server endpoint, migration, various fixes

* update sql

* select embedding by default

* rename variable

* simplify

* remove separate entity, handle re-running with different threshold, set default back to 0.02

* fix tests

* add tests

* add index to entity

* formatting

* update asset mock

* fix `upsertJobStatus` signature

* update sql

* formatting

* default to 0.03

* optimize clustering

* use asset's `duplicateId` if present

* update sql

* update tests

* expose admin setting

* refactor

* formatting

* skip if ml is disabled

* debug trash e2e

* remove from web

* remove from sidebar

* test if ml is disabled

* update sql

* separate duplicate detection from clip in config, disable by default for now

* fix doc

* lower minimum `maxDistance`

* update api

* Add and Use Duplicate Detection Feature Flag (#9364)

* Add Duplicate Detection Flag

* Use Duplicate Detection Flag

* Attempt Fixes for Failing Checks

* lower minimum `maxDistance`

* fix tests

---------

Co-authored-by: mertalev <101130780+mertalev@users.noreply.github.com>

* chore: fixes and additions after rebase

* chore: update api (remove new Role enum)

* fix: left join smart search so getAll works without machine learning

* test: trash e2e go back to checking length of assets is zero

* chore: regen api after rebase

* test: fix tests after rebase

* redundant join

---------

Co-authored-by: Nicholas Flamy <30300649+NicholasFlamy@users.noreply.github.com>
Co-authored-by: Zack Pollard <zackpollard@ymail.com>
Co-authored-by: Zack Pollard <zack@futo.org>
2024-05-16 18:08:37 +01:00
..
access.interface.ts feat: readonly album sharing (#8720) 2024-04-25 04:19:49 +00:00
activity.interface.ts chore(server): rename domain repositories -> interfaces (#8147) 2024-03-21 06:59:49 -05:00
album-user.interface.ts feat: readonly album sharing (#8720) 2024-04-25 04:19:49 +00:00
album.interface.ts refactor(server): extract add/remove assets logic to utility function (#8329) 2024-03-29 07:56:16 -04:00
api-key.interface.ts chore(server): rename domain repositories -> interfaces (#8147) 2024-03-21 06:59:49 -05:00
asset-stack.interface.ts chore(server): rename domain repositories -> interfaces (#8147) 2024-03-21 06:59:49 -05:00
asset-v1.interface.ts chore(server): remove unusuned endpoint/service/interface in asset-v1 (#9086) 2024-04-26 01:02:04 -05:00
asset.interface.ts feat(server): near-duplicate detection (#8228) 2024-05-16 18:08:37 +01:00
audit.interface.ts feat(server): efficient full app sync (#8755) 2024-04-16 07:26:37 +02:00
crypto.interface.ts refactor(server): new password repo method (#8208) 2024-03-23 14:33:25 -04:00
database.interface.ts perf: cache getConfig (#9377) 2024-05-10 18:15:25 +00:00
event.interface.ts refactor(server): system config (#9484) 2024-05-14 14:43:49 -04:00
job.interface.ts feat(server): near-duplicate detection (#8228) 2024-05-16 18:08:37 +01:00
library.interface.ts chore(server): rename domain repositories -> interfaces (#8147) 2024-03-21 06:59:49 -05:00
logger.interface.ts refactor(server): system config (#9484) 2024-05-14 14:43:49 -04:00
machine-learning.interface.ts chore(server): rename domain repositories -> interfaces (#8147) 2024-03-21 06:59:49 -05:00
media.interface.ts refactor(server): system config (#9484) 2024-05-14 14:43:49 -04:00
memory.interface.ts feat: persistent memories (#8330) 2024-04-02 10:23:17 -04:00
metadata.interface.ts chore(server): rename domain repositories -> interfaces (#8147) 2024-03-21 06:59:49 -05:00
metric.interface.ts refactor(server): metric repo (#8278) 2024-03-25 23:15:11 +00:00
move.interface.ts chore(server): rename domain repositories -> interfaces (#8147) 2024-03-21 06:59:49 -05:00
notification.interface.ts feat(server): email notifications (#8447) 2024-05-02 15:43:18 +01:00
partner.interface.ts chore(server): rename domain repositories -> interfaces (#8147) 2024-03-21 06:59:49 -05:00
person.interface.ts chore(server): rename domain repositories -> interfaces (#8147) 2024-03-21 06:59:49 -05:00
search.interface.ts feat(server): near-duplicate detection (#8228) 2024-05-16 18:08:37 +01:00
server-info.interface.ts chore(server): rename domain repositories -> interfaces (#8147) 2024-03-21 06:59:49 -05:00
session.interface.ts feat(server): remove inactive sessions (#9121) 2024-04-27 16:45:16 -04:00
shared-link.interface.ts chore(server): rename domain repositories -> interfaces (#8147) 2024-03-21 06:59:49 -05:00
storage.interface.ts chore(server): cleanup library watching (#8835) 2024-04-15 23:05:08 -04:00
system-metadata.interface.ts refactor(server): system config (#9517) 2024-05-15 18:58:23 -04:00
tag.interface.ts chore(server): rename domain repositories -> interfaces (#8147) 2024-03-21 06:59:49 -05:00
user.interface.ts chore(server): rename domain repositories -> interfaces (#8147) 2024-03-21 06:59:49 -05:00