feat: db insertions for edits
feat: get asset edits endpoint
feat: wip apply edits
feat: finish asset files changes
feat: wip
feat: wip
fix: openapi
fix: tests
the failing tests were so scuffed. Simply solved by adding [] to the param list
feat: more wip
feat: more wip
feat: some more tests and fixes
chore: fix default for getting thumbnail and add todo for tests
feat: LRTB validation
chore: code cleanup
chore: more test checks for cleanup
feat: show edit pane
fix: state issues
chore: restructure web editor
feat: restructure edit manager
feat: refactor cropManager
chore: combine all editing
chore: web editing improvements
fix: handling when no crops
fix: openapi enum
chore: more edit refactoring
fix: make image decoding more efficient
chore: more refactoring
fix: getCrop LRTB algorithm
fix: missing await
chore: use relative coordinates for edit
chore: update sql
fix: use resize observer instead of svelte:doc resize hook
chore: simplify quad box generation
fix: light mode styling
chore: refactor to not be a recursive job call
this simplifies the logic and the job only completes once thumbhash and others are properly updated
chore: more refactoring
feat: use affine transforms for most operations
feat: bounding box edit transformation
feat: tests
chore: sql and openapi sync
fix: medium tests
fix: rotated OCR
chore: cleanup transform test
fix: remove rebase issue
fix(server): block edits for live photos, gifs, panoramic photos
fix: openapi enum validation
chore: rename edit endpoint
chore: remove public modifiers
feat: delete endpoint
chore: use === and !== explicitly
fix: require 1 edit for the editAsset endpoint
fix: remove thumbnail edit notification and use on_upload_success instead
fix: primary key on asset edit table
chore: refactor to isPanorama
chore: rename editRepository to assetEditRepository
fix: missing toLowerCase
fix: db migrations
chore: update sql files
* feat: add OCR functionality and related configurations
* chore: update labeler configuration for machine learning files
* feat(i18n): enhance OCR model descriptions and add orientation classification and unwarping features
* chore: update Dockerfile to include ccache for improved build performance
* feat(ocr): enhance OCR model configuration with orientation classification and unwarping options, update PaddleOCR integration, and improve response structure
* refactor(ocr): remove OCR_CLEANUP job from enum and type definitions
* refactor(ocr): remove obsolete OCR entity and migration files, and update asset job status and schema to accommodate new OCR table structure
* refactor(ocr): update OCR schema and response structure to use individual coordinates instead of bounding box, and adjust related service and repository files
* feat: enhance OCR configuration and functionality
- Updated OCR settings to include minimum detection box score, minimum detection score, and minimum recognition score.
- Refactored PaddleOCRecognizer to utilize new scoring parameters.
- Introduced new database tables for asset OCR data and search functionality.
- Modified related services and repositories to support the new OCR features.
- Updated translations for improved clarity in settings UI.
* sql changes
* use rapidocr
* change dto
* update web
* update lock
* update api
* store positions as normalized floats
* match column order in db
* update admin ui settings descriptions
fix max resolution key
set min threshold to 0.1
fix bind
* apply config correctly, adjust defaults
* unnecessary model type
* unnecessary sources
* fix(ocr): switch RapidOCR lang type from LangDet to LangRec
* fix(ocr): expose lang_type (LangRec.CH) and font_path on OcrOptions for RapidOCR
* fix(ocr): make OCR text search case- and accent-insensitive using ILIKE + unaccent
* fix(ocr): add OCR search fields
* fix: Add OCR database migration and update ML prediction logic.
* trigrams are already case insensitive
* add tests
* format
* update migrations
* wrong uuid function
* linting
* maybe fix medium tests
* formatting
* fix weblate check
* openapi
* sql
* minor fixes
* maybe fix medium tests part 2
* passing medium tests
* format web
* readd sql
* format dart
* disabled in e2e
* chore: translation ordering
---------
Co-authored-by: mertalev <101130780+mertalev@users.noreply.github.com>
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
* fix delete empty tags query
* rewrite as a single statement
* create tag service medium test
* single tag exists, connected to one asset, and is not deleted
* do not delete parent tag if children have an asset
* hierarchical tag tests
* fix query to match 3 test
* remove transaction and format:fix
* remove transaction and format:fix
* simplify query, handle nested empty tag
* unused helper
---------
Co-authored-by: mertalev <101130780+mertalev@users.noreply.github.com>
* 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
* chore(server): don't insert embeddings if the model has changed
We're moving away from the heuristic of waiting for queues to complete. The job
which inserts embeddings can simply check if the model has changed before
inserting, rather than attempting to lock the queue.
* more robust dim size update
* use check constraint
* index command cleanup
* add create statement
* update medium test, create appropriate extension
* new line
* set dimension size when running on all assets
* why does it want braces smh
* take 2
---------
Co-authored-by: mertalev <101130780+mertalev@users.noreply.github.com>