* fix(server): use mp4 file extension for motion photo videos in archive download
* always use mp4 for videos
* get file extension from originalPath
* remove console log
* store motion assets with mp4 extension
* add migration
* set originalFileName for live photo asset stubs
* leave down migration empty
* only set originalFileName for livePhotoStillAsset
* use separate stub
* shorter stub name
* feat(server): user metadata
* add missing method to user mock
* update migration to include cascades
* update sql files
* test: fix e2e
* chore: clean up
---------
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
* fix: when using old script args, just set the workers include var and move on
* fix: set process.title when using new bootstrap worker startup method
* feat: microservices be gone and api is a worker now too
* chore: remove very old startup scripts, surely nobody is using these anymore, right?
right?....
* 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>
* chore(deps): update dependency eslint-plugin-unicorn to v53
* use structured clone to match new eslint rules
* use raw string instead of escaping slash
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>