Jason Rasmussen
5cd186d3d4
refactor: duplicate queries ( #19136 )
2025-06-12 14:23:02 -04:00
Min Idzelis
55f4e93456
fix: regression: sort day by fileCreatedAt again ( #18732 )
...
* fix: regression: sort day by fileCreatedAt again
* lint
* e2e test
* inline function
* e2e
* Address comments. Drop dayGroup and timezone in favor of localOffsetMinutes
* lint and some api-doc
* lint, more api-doc
* format
* Move minutes to fractional hours
* make sql
* merge/conflict
* merge fallout, review comments
* spelling
* drop offset from returned date
* move description into decorator where possible, regen api
2025-06-05 20:56:32 -05:00
Mert
fa22e865a4
fix(server): tighten asset visibility ( #18699 )
...
* tighten visibility
* update sql
* elevated access util function
* fix potential sync issue
* include in user stats
* include hidden assets in size usage
* filter visibility in search duplicates query
* stack visibility
2025-06-02 09:33:08 -05:00
Daimolean
79d760ccd7
fix(server): reverse isTrash field ( #18665 )
2025-05-27 16:22:09 +02:00
Min Idzelis
e7edbcdf04
feat(server): lighter buckets ( #17831 )
...
* feat(web): lighter timeline buckets
* GalleryViewer
* weird ssr
* Remove generics from AssetInteraction
* ensure keys on getAssetInfo, alt-text
* empty - trigger ci
* re-add alt-text
* test fix
* update tests
* tests
* missing import
* feat(server): lighter buckets
* fix: flappy e2e test
* lint
* revert settings
* unneeded cast
* fix after merge
* Adapt web client to consume new server response format
* test
* missing import
* lint
* Use nulls, make-sql
* openapi battle
* date->string
* tests
* tests
* lint/tests
* lint
* test
* push aggregation to query
* openapi
* stack as tuple
* openapi
* update references to description
* update alt text tests
* update sql
* update sql
* update timeline tests
* linting, fix expected response
* string tuple
* fix spec
* fix
* silly generator
* rename patch
* minimize sorting
* review
* lint
* lint
* sql
* test
* avoid abbreviations
* review comment - type safety in test
* merge conflicts
* lint
* lint/abbreviations
* remove unncessary code
* review comments
* sql
* re-add package-lock
* use booleans, fix visibility in openapi spec, less cursed controller
* update sql
* no need to use sql template
* array access actually doesn't seem to matter
* remove redundant code
* re-add sql decorator
* unused type
* remove null assertions
* bad merge
* Fix test
* shave
* extra clean shave
* use decorator for content type
* redundant types
* redundant comment
* update comment
* unnecessary res
---------
Co-authored-by: mertalev <101130780+mertalev@users.noreply.github.com>
Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-05-19 16:40:48 -05:00
Geoffrey Frogeye
00a77c2d6a
feat(server): sort images in duplicate groups by date ( #18347 )
...
This restores behaviour introduced in
562fec6e2b and lost in
2e12c46980 .
2025-05-19 17:27:30 -04:00
Mert
709a7b70aa
chore: no sql generation for queries with side effects ( #18301 )
...
no sql generation for queries with side effects
2025-05-15 03:34:22 +00:00
Alex
d33ce13561
feat(server): visibility column ( #17939 )
...
* 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
2025-05-06 12:12:48 -05:00
Jason Rasmussen
526c02297c
refactor: stream queue migration ( #17997 )
2025-04-30 16:23:13 +00:00
Alex
732b06eec8
refactor: stream for sidecar ( #17995 )
...
* refactor: stream for sidecar
* chore: make sql
---------
Co-authored-by: Jason Rasmussen <jason@rasm.me>
2025-04-30 10:53:51 -05:00
Daniel Dietzler
52ae06c119
refactor: remove album entity, update types ( #17450 )
2025-04-18 23:10:34 +02:00
Mert
242a559e0f
refactor: query for fetching faces and people of assets ( #17661 )
...
* use json instead of jsonb
* missing condition
2025-04-16 19:00:55 -04:00
Jason Rasmussen
17e720440d
refactor: new asset-job repository ( #17622 )
...
* refactor: new asset-job repository
* fix: broken medium tests on main
2025-04-15 10:24:51 -04:00
Mert
c3d10c5be2
refactor(server): non-nullable file metadata ( #17598 )
2025-04-15 12:03:31 +01:00
Daniel Dietzler
0b69d1c147
refactor: selected columns in queries ( #17589 )
2025-04-14 13:34:06 -05:00
Jason Rasmussen
b6c5a03533
refactor: remove tag entity ( #17462 )
2025-04-08 10:52:54 -04:00
Jason Rasmussen
fdbe6d649f
refactor: remove smart search entity ( #17447 )
...
refactor: smart search entity
2025-04-08 09:56:45 -04:00
Jonathan Jogenfors
efcb1129ce
fix(server): don't sync null date assets ( #17247 )
2025-03-31 09:16:53 -05:00
Mert
75df8fc10e
refactor(server): bulk update exif ( #17109 )
...
* bulk update exif
* update sql
* update tests
* check job queeuing in test
2025-03-25 21:24:24 +00:00
Alex
21954939cf
chore: remove limit in memory generation ( #16920 )
...
* chore: remove limit in memory generation
* generate sql
* chore: assets limit
2025-03-20 13:31:51 -05:00
Jason Rasmussen
a96bba4b26
feat: sync assets, partner assets, exif, and partner exif ( #16658 )
...
* feat: sync assets, partner assets, exif, and partner exif
Co-authored-by: Zack Pollard <zack@futo.org>
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
* refactor: remove duplicate where clause and orderBy statements in sync queries
* fix: asset deletes not filtering by ownerId
---------
Co-authored-by: Zack Pollard <zack@futo.org>
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
Co-authored-by: Zack Pollard <zackpollard@ymail.com>
2025-03-10 12:05:39 -04:00
Jason Rasmussen
e684062569
fix: memories off by one ( #16434 )
2025-02-28 12:51:28 -06:00
Mert
a708649504
fix(server): skip stacked assets in duplicate detection ( #16380 )
...
* skip stacked assets in duplicate detection
* update sql
* handle stacking after duplicate detection runs
2025-02-27 10:16:13 -06:00
Alex
007eaaceb9
feat(web): manual face tagging and deletion ( #16062 )
2025-02-21 09:58:25 -06:00
Jonathan Jogenfors
5407a28533
feat(server): Nullable asset dates ( #15669 )
...
* nullable dates
* wip
* don't search for null dates
* Add placeholder type
* cleanup
2025-02-13 15:30:12 -06:00
Alex
06f077bac2
fix(server): memory lane assets order ( #15882 )
...
* fix(server): memory lane assets order
* fix: sql
* pr feedback
* sql
2025-02-03 16:29:41 -06:00
Mert
a6ace5151c
fix(server): no exif metadata in the deduplication utility ( #15585 )
...
add exif to `getDuplicates`
2025-01-24 11:42:39 -06:00
renovate[bot]
d1d26c60d6
fix(deps): update typescript-projects ( #14892 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2025-01-22 22:15:38 +00:00
Mert
49a6961ec6
fix(server): query fixes ( #15509 )
2025-01-22 14:17:42 -06:00
Mert
2e12c46980
refactor(server): use kysely ( #12857 )
2025-01-09 11:15:41 -05:00
Alex
0c03753642
fix(server): fix getByDayOfYear query ( #14655 )
...
* fix(server): fix getByDayOfYear query
* generate sql
2024-12-11 20:51:56 +00:00
Mert
9eff1c4b34
refactor(server): move filters to getByDayOfYear query ( #14628 )
...
move filters to getByDayOfYear query
2024-12-10 16:22:47 -05:00
Jason Rasmussen
64831e2328
refactor: remove smart info table ( #13985 )
2024-11-07 11:25:10 -05:00
Darrel
a70ed7c7f6
fix: X years ago ordering ( #13742 )
...
* fix: order by fileCreatedAt to account for tz
* run make sql
2024-10-26 15:28:33 -04:00
Mert
2bcd27e166
feat(server): generate all thumbnails for an asset in one job ( #13012 )
...
* wip
cleanup
add success logs, rename method
do thumbhash too
fixes
fix tests
handle `notify`
wip refactor
refactor
* update tests
* update sql
* pr feedback
* remove unused code
* formatting
2024-09-28 17:47:24 +00:00
Jonathan Jogenfors
b2f2be3485
refactor(server): library syncing ( #12220 )
...
* refactor: library scanning
fix tests
remove offline files step
cleanup library service
improve tests
cleanup tests
add db migration
fix e2e
cleanup openapi
fix tests
fix tests
update docs
update docs
update mobile code
fix formatting
don't remove assets from library with invalid import path
use trash for offline files
add migration
simplify scan endpoint
cleanup library panel
fix library tests
e2e lint
fix e2e
trash e2e
fix lint
add asset trash tests
add more tests
ensure thumbs are generated
cleanup svelte
cleanup queue names
fix tests
fix lint
add warning due to trash
fix trash tests
fix lint
fix tests
Admin message for offline asset
fix comments
Update web/src/lib/components/asset-viewer/asset-viewer-nav-bar.svelte
Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com>
add permission to library scan endpoint
revert asset interface sort
add trash reason to shared link stub
improve path view in offline
update docs
improve trash performance
fix comments
remove stray comment
* refactor: add back isOffline and remove trashReason from asset, change sync job flow
* chore(server): drop coverage to 80% for functions
* chore: rebase and generated files
---------
Co-authored-by: Zack Pollard <zackpollard@ymail.com>
2024-09-25 18:26:19 +01:00
Jason Rasmussen
6740c67ed8
fix: empty and restore over 1,000 items ( #12751 )
2024-09-18 09:57:52 -04:00
Jason Rasmussen
1e6ef5c9e4
refactor(server): view repository ( #12755 )
2024-09-17 16:32:09 -04:00
Jason Rasmussen
d39917a4db
fix(web): show trash indicator ( #12521 )
2024-09-09 16:03:17 -04:00
BugFest
77e6a6d78b
feat(server): Import face regions from metadata ( #6455 )
...
* feat: faces-from-metadata - Import face regions from metadata
Implements immich-app#1692.
- OpenAPI spec changes to accomodate metadata face import configs. New settings to enable the feature.
- Updates admin UI compoments
- ML faces detection/recognition & Exif/Metadata faces compatibility
Signed-off-by: BugFest <bugfest.dev@pm.me>
* chore(web): remove unused file confirm-enable-import-faces
* chore(web): format metadata-settings
* fix(server): faces-from-metadata tests and format
* fix(server): code refinements, nullable face asset sourceType
* fix(server): Add RegionInfo to ImmichTags interface
* fix(server): deleteAllFaces sourceType param can be undefined
* fix(server): exiftool-vendored 27.0.0 moves readArgs into ExifToolOptions
* fix(server): rename isImportFacesFromMetadataEnabled to isFaceImportEnabled
* fix(server): simplify sourceType conditional
* fix(server): small fixes
* fix(server): handling sourceType
* fix(server): sourceType enum
* fix(server): refactor metadata applyTaggedFaces
* fix(server): create/update signature changes
* fix(server): reduce computational cost of Person.getManyByName
* fix(server): use faceList instead of faceSet
* fix(server): Skip regions without Name defined
* fix(mobile): Update open-api (face assets feature changes)
* fix(server): Face-Person reconciliation with map/index
* fix(server): tags.RegionInfo.AppliedToDimensions must be defined to process face-region
* fix(server): fix shared-link.service.ts format
* fix(mobile): Update open-api after branch update
* simplify
* fix(server): minor fixes
* fix(server): person create/update methods type enforcement
* fix(server): style fixes
* fix(server): remove unused metadata code
* fix(server): metadata faces unit tests
* fix(server): top level config metadata category
* fix(server): rename upsertFaces to replaceFaces
* fix(server): remove sourceType when unnecessary
* fix(server): sourceType as ENUM
* fix(server): format fixes
* fix(server): fix tests after sourceType ENUM change
* fix(server): remove unnecessary JobItem cast
* fix(server): fix asset enum imports
* fix(open-api): add metadata config
* fix(mobile): update open-api after metadata open-api spec changes
* fix(web): update web/api metadata config
* fix(server): remove duplicated sourceType def
* fix(server): update generated sql queries
* fix(e2e): tests for metadata face import feature
* fix(web): Fix check:typescript
* fix(e2e): update subproject ref
* fix(server): revert format changes to pass format checks after ci
* fix(mobile): update open-api
* fix(server,movile,open-api,mobile): sourceType as DB data type
* fix(e2e): upload face asset after enabling metadata face import
* fix(web): simplify metadata admin settings and i18n keys
* Update person.repository.ts
Co-authored-by: Jason Rasmussen <jason@rasm.me>
* fix(server): asset_faces.sourceType column not nullable
* fix(server): simplified syntax
* fix(e2e): use SDK for everything except the endpoint being tested
* fix(e2e): fix test format
* chore: clean up
* chore: clean up
* chore: update e2e/test-assets
---------
Signed-off-by: BugFest <bugfest.dev@pm.me>
Co-authored-by: mertalev <101130780+mertalev@users.noreply.github.com>
Co-authored-by: Jason Rasmussen <jason@rasm.me>
2024-09-04 18:23:58 -04:00
Jason Rasmussen
9b1a985d29
fix(server): tag upsert ( #12141 )
2024-08-30 12:44:24 -04:00
Jason Rasmussen
d08a20bd57
feat: tags ( #11980 )
...
* feat: tags
* fix: folder tree icons
* navigate to tag from detail panel
* delete tag
* Tag position and add tag button
* Tag asset in detail panel
* refactor form
* feat: navigate to tag page from clicking on a tag
* feat: delete tags from the tag page
* refactor: moving tag section in detail panel and add + tag button
* feat: tag asset action in detail panel
* refactor add tag form
* fdisable add tag button when there is no selection
* feat: tag bulk endpoint
* feat: tag colors
* chore: clean up
* chore: unit tests
* feat: write tags to sidecar
* Remove tag and auto focus on tag creation form opened
* chore: regenerate migration
* chore: linting
* add color picker to tag edit form
* fix: force render tags timeline on navigating back from asset viewer
* feat: read tags from keywords
* chore: clean up
---------
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2024-08-29 12:14:03 -04:00
Jason Rasmussen
7fbf50a75e
fix: remove asset.resized ( #11983 )
...
fix: remove resized
2024-08-22 23:24:49 -04:00
David Kerr
07538299cf
feat: folder view ( #11880 )
...
* feat: folder view poc
* fix(folder-view): ui modifications
* fix(folder-view): improves utility return types
* fix(folder-view): update getAssetsByOriginalPath
Endpoint now only returns direct children of the path instead of all images in all subfolders. Functions renamed and scoped to "folder", endpoints renamed
* fix(folder-view): improve typing
* fix(folder-view): replaces css with tailwind
* fix(folder-view): includes folders in main panel
* feat(folder-view): folder cache implementation
* fix(folder-view): can now search for absolute paths
* fix(folder-view): sets default sort to alphabetical by filename
* refactor/styling the browser view
* double click to navigate
* folder tree
* use correct side bar icon
* styling when selected
* correct open icon
* folder layout
* return assetReponseDto
* it's alive
* update new api
* more styling for folder tree
* use query params and path viewer
* use arrow up left for parent folder backward navigation
* use arrow up left for parent folder backward navigation
* encode URL
* handle long folder name
* refactor to the view controller
* remove unused code
* clear cache when logout
* cleaning up
* cleaning up web
* clean as new
* clean as new
* pr feedback + show asset name
* add tests
* add tests
* remove generated file
* lint
* revert docker-compose.dev file
* Update server/src/services/view.service.ts
Co-authored-by: Jason Rasmussen <jason@rasm.me>
* Update server/src/services/view.service.ts
Co-authored-by: Jason Rasmussen <jason@rasm.me>
---------
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
Co-authored-by: Jason Rasmussen <jason@rasm.me>
2024-08-21 13:49:37 -05:00
Jason Rasmussen
7af6733665
refactor(server): move files to separate table ( #11861 )
2024-08-19 20:03:33 -04:00
Christoph Suter
f33dbdfe9a
feat(web): add Exif-Rating ( #11580 )
...
* Add Exif-Rating
* Integrate star rating as own component
* Add e2e tests for rating and validation
* Rename component and async handleChangeRating
* Display rating can be enabled in app settings
* Correct i18n reference
Co-authored-by: Michel Heusschen <59014050+michelheusschen@users.noreply.github.com>
* Star rating: change from slider to buttons
* Star rating for clarity
* Design updates.
* Renaming and code optimization
* chore: clean up
* chore: e2e formatting
* light mode border and default value
---------
Co-authored-by: Christoph Suter <christoph@suter-burri.ch>
Co-authored-by: Michel Heusschen <59014050+michelheusschen@users.noreply.github.com>
Co-authored-by: Mert <101130780+mertalev@users.noreply.github.com>
Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2024-08-09 17:45:52 +00:00
Jason Rasmussen
e1f25b44d2
refactor(server): stack owner ( #10900 )
2024-07-05 16:16:53 -04:00
Jason Rasmussen
7e99394c70
fix(server): live photo relation ( #10637 )
...
* fix(server): live photo relation
* handle deletion and unit test
* lint
* chore: clean up and e2e tests
* fix test
* sql
---------
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2024-06-27 14:41:49 -05:00
Mert
1191978d50
fix(server): library refresh not checking trashed assets ( #10495 )
...
* set `withDeleted`
* update sql
2024-06-19 20:42:55 +00:00
Fynn Petersen-Frey
972c66d467
fix(server): proper asset sync ( #10019 )
...
* fix(server,mobile): proper asset sync
* fix CI issues
* only use id instead of createdAt+id
* remove createdAt index
* fix typo
* cleanup createdAt usage
---------
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2024-06-09 14:19:28 -05:00