1
0
Fork 0
mirror of https://github.com/immich-app/immich.git synced 2025-01-01 08:31:59 +00:00
immich/web
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
..
bin chore: web shutdown signal (#7114) 2024-02-14 08:57:02 -06:00
src feat(server): near-duplicate detection (#8228) 2024-05-16 18:08:37 +01:00
static chore(web): favicon without white bg (#8251) 2024-03-24 16:44:59 -05:00
.dockerignore feat(web)!: SPA (#5069) 2023-11-17 22:13:36 -06:00
.eslintignore chore(deps): update web (#8066) 2024-03-20 14:08:01 -05:00
.eslintrc.cjs chore(deps): update dependency eslint-plugin-unicorn to v52 (#8629) 2024-04-08 12:45:46 -04:00
.gitignore Add ablum feature to web (#352) 2022-07-15 23:18:17 -05:00
.npmrc Add web interface with admin functionality (#167) 2022-05-21 02:23:55 -05:00
.nvmrc fix(deps): update typescript-projects (#9454) 2024-05-13 21:42:48 -04:00
.prettierignore refactor: open api (#6334) 2024-01-12 07:36:27 -05:00
.prettierrc chore(web): auto sort imports (#7118) 2024-02-14 10:54:32 -05:00
Dockerfile chore(deps): update node.js to 53108f6 (#9450) 2024-05-14 10:53:04 +01:00
package-lock.json chore(deps): update dependency eslint-plugin-unicorn to v53 (#9502) 2024-05-15 18:06:25 -04:00
package.json chore(deps): update dependency eslint-plugin-unicorn to v53 (#9502) 2024-05-15 18:06:25 -04:00
postcss.config.cjs chore(web): prettier (#2821) 2023-06-30 23:50:47 -05:00
README.md docs: add some details for getting started as a developer (#8468) 2024-04-02 11:56:33 -05:00
svelte.config.js perf: precompress and cache assets (#7757) 2024-03-08 21:15:38 -05:00
tailwind.config.cjs fix(web): asset-grid padding/margin left fix (#8125) 2024-03-21 00:18:38 -05:00
tsconfig.json fix(web): validation when editing asset date & time (#7160) 2024-02-17 09:28:34 -05:00
vite.config.js feat(web): separate command to build with rollup plugin visualizer (#9097) 2024-04-26 15:36:30 -04:00

Immich web project

This project uses the SvelteKit web framework. Please refer to the SvelteKit docs for information on getting started as a contributor to this project. In particular, it will help you navigate the project's code if you understand the basics of SvelteKit routing.

When developing locally, you will run a SvelteKit Node.js server. When this project is deployed to production, it is built as a SPA and deployed as part of [../server](the server project).