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
We would like to move away from the concept of finding and removing pending
jobs. The only place this is used is for album update notifications, and this
is done so that users who initially uploaded assets to an album will also
receive a notification if someone else then adds assets to the same album. This
can also be achieved with a job for each recipient. Multiple jobs also has the
advantage that it will scale better for albums with many users, it's possible
to send notifications concurrently, retries are possible without sending
duplicate notifications, and it's clear what recipient a job failed for.
* 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
* 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>
* feat(server): extract full-size previews from RAW images
* feat(web): load fullsize preview for RAW images when zoomed in
* refactor: tweaks for code review
* refactor: rename "converted" preview/assets to "fullsize"
* feat(web/server): fullsize preview for non-web-friendly images
* feat: tweaks for code review
* feat(server): require ASSET_DOWNLOAD premission for fullsize previews
* test: fix types and interfaces
* chore: gen open-api
* feat(server): keep only essential exif in fullsize preview
* chore: regen openapi
* test: revert unnecessary timeout
* feat: move full-size preview config to standalone entry
* feat(i18n): update en texts
* fix: don't return fullsizePath when disabled
* test: full-size previews
* test(web): full-size previews
* chore: make open-api
* feat(server): redirect to preview/original URL when fullsize thumbnail not available
* fix(server): delete fullsize preview image on thumbnail regen after fullsize preview turned off
* refactor(server): AssetRepository.deleteFiles with Kysely
* fix(server): type of MediaRepository.writeExif
* minor simplification
* minor styling changes and condensed wording
* simplify
* chore: reuild open-api
* test(server): fix media.service tests
* test(web): fix photo-viewer test
* fix(server): use fullsize image when requested
* fix file path extension
* formatting
* use fullsize when zooming back out or when "display original photos" is enabled
* simplify condition
---------
Co-authored-by: mertalev <101130780+mertalev@users.noreply.github.com>
* fix(server) optimize number of sql calls for GET /api/albums
remove unnecessary join for getMetadataForIds
remove separate call to getLastUpdatedAssetForAlbumId
* fix(server) remove unnecessary getLastUpdatedAssetForAlbumId call for GET /api/album/:id
also remove getLastUpdatedAssetForAlbumId query as it is no longer referenced
* fix(server): correct lastModifiedAssetTimestamp return type + formatting and typing
* chore(server): address type issue with tests found via npm:check
tests & lint still pass before this commit.