Jonathan Jogenfors
1bcf28c062
chore(server): sidecars in asset_files ( #21199 )
...
* fix: sidecar check job
* feat: move sidecars to asset_files
* feat: combine with handleSidecarCheck
* fix(server): improved method signatures for stack and sidecar copying
* fix(server): improved method signatures for stack and sidecar copying
* chore: clean up
---------
Co-authored-by: Jason Rasmussen <jason@rasm.me>
2025-12-02 13:31:43 -05:00
Sergey Katsubo
2c54b506b3
fix(server): include the previous year in memories for January 1, 2, 3 ( #23832 )
...
* Test memory creation in advance
Use year 2035 to make sure it's in the future of current time of a test run
* Use target year instead of current year when fetching assets during memory creation
This fixes an edge case of creating memories in advance when target year is
different from current year.
Example: job runs on 2025-12-31 (current year is 2025) and creates memories
to be shown on 2026-01-01 (target year is 2026). If using _current_ year in
calculation then range of years is capped at (2025 - 1 = 2024) thus excluding
2025-01-01 from created memories. With _target_ year it is (2026 - 1 = 2025),
so 2025-01-01 will be included in memories.
* Update sql queries
2025-11-12 15:38:03 -06:00
Jason Rasmussen
29c14a3f58
refactor: database column names ( #23356 )
2025-11-04 16:03:21 -05:00
Paweł Wojtaszko
505e16c37c
fix(server): only asset owner should see favorite status ( #20654 )
...
* fix: Any asset update disables isFavorite action in GUI. Only owner of asset in album should see favorited image.
* Fix unit tests
* Fix formatting
* better query, add medium test
* update sql
---------
Co-authored-by: mertalev <101130780+mertalev@users.noreply.github.com>
2025-10-16 21:52:36 +00:00
Jason Rasmussen
88072910da
feat: asset metadata ( #20446 )
2025-08-27 14:31:23 -04:00
Jason Rasmussen
03e7922589
fix: local offset hours ( #21147 )
2025-08-23 11:09:36 -05:00
mkuehne707
011a667314
feat: batch change date and time relatively ( #17717 )
...
Co-authored-by: marcel.kuehne <>
Co-authored-by: Zack Pollard <zackpollard@ymail.com>
2025-08-07 13:42:33 +00:00
Daniel Dietzler
3cdc6844a1
fix: automatic media location migration without internal assets ( #20489 )
2025-07-31 22:58:35 +00:00
Jason Rasmussen
16b14b390f
fix: file samples ( #20364 )
2025-07-28 13:30:49 -04:00
Jason Rasmussen
493d85b021
feat!: absolute file paths ( #19995 )
...
feat: absolute file paths
2025-07-18 10:57:29 -04:00
Jason Rasmussen
c699df002a
feat: rename schema ( #19891 )
2025-07-14 10:13:06 -04:00
Jason Rasmussen
33c9f88ba4
fix: time bucket grouping ( #19329 )
2025-06-20 09:46:30 -04:00
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