xCJPECKOVERx
14d785cec9
feat(server): Add album filter to search ( #18985 )
...
* - updated dtos
- added inAlbums to search builder
- only check isNotInAlbum if albumIds is blank/empty
* - consider inAlbums as OR
* - make open-api-dart
* - lint & format
* - remove inAlbums groupBy clause
* - merge main open-api
* - make open-api
* - inAlbums filter AND instead of OR
2025-06-09 11:11:43 -04:00
Jonathan Gilbert
fb4be6e231
feat(server): add /search/statistics resource ( #18885 )
2025-06-06 21:12:53 -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
Robin Brisa
a26d703335
feat(web): display number of likes in asset viewer ( #18911 )
...
* feat: display number of likes
* fix: properly decrement like count on unlike
Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com >
* chore: pr feedback
* chore: updated related test
* chore: formatter run
* chore: force numberOfLikes to null in album context to pass lint
* chore: open-api updated
* fix: use undefined, not null
* styling tweaks
* chore: updated sql
---------
Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com >
Co-authored-by: Alex Tran <alex.tran1502@gmail.com >
2025-06-04 12:41:50 -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
Daniel Dietzler
9d04853b34
fix: oauth ( #18725 )
2025-05-30 22:04:52 +02:00
Mert
be247395db
fix(server): deadlock when fetching vector count ( #18728 )
...
move row count query
2025-05-28 17:23:49 -04:00
Mert
3f08768854
chore: vchord 0.4.1 ( #18588 )
...
* vchord 0.4.x
* oops
---------
Co-authored-by: Alex <alex.tran1502@gmail.com >
2025-05-28 14:38:52 +00:00
Mert
4794a1a092
fix(server): handle startup reindexing after failed model change ( #18688 )
...
drop constraint
2025-05-27 11:36:30 -05:00
Mert
e2720e85bb
fix(server): handle period in database name ( #18590 )
2025-05-27 16:05:13 +01:00
Daimolean
79d760ccd7
fix(server): reverse isTrash field ( #18665 )
2025-05-27 16:22:09 +02:00
Alex
911c877e72
feat: clean up memory with locked assets ( #18532 )
2025-05-24 07:31:25 -05:00
Mert
bc8e08f5e8
feat: lower disk usage during migration ( #18440 )
...
feat: less disk usage during migration
2025-05-22 08:41:10 +01:00
Mert
58c1b92816
fix(server): missing button for duplicate detection not working ( #18433 )
...
qualify column
2025-05-21 21:27:28 +00:00
Jason Rasmussen
cd288533a1
feat: sync albums and album users ( #18377 )
2025-05-21 14:35:32 -05:00
Mert
a02fe89ec9
fix(server): drop old extension ( #18400 )
2025-05-21 09:53:40 -04:00
Mert
a6a4dfcfd3
fix(server): queueing for duplicate detection ( #18380 )
...
* fix queueing
* update tests
2025-05-20 08:44:39 -05:00
Mert
0d773af6c3
feat: vectorchord ( #18042 )
...
* wip
auto-detect available extensions
auto-recovery, fix reindexing check
use original image for ml
* set probes
* update image for sql checker
update images for gha
* cascade
* fix new instance
* accurate dummy vector
* simplify dummy
* preexisiting pg docs
* handle different db name
* maybe fix sql generation
* revert refreshfaces sql change
* redundant switch
* outdated message
* update docker compose files
* Update docs/docs/administration/postgres-standalone.md
Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com >
* tighten range
* avoid always printing "vector reindexing complete"
* remove nesting
* use new images
* add vchord to unit tests
* debug e2e image
* mention 1.107.2 in startup error
* support new vchord versions
---------
Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com >
2025-05-20 08:36:43 -05: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
Daimolean
dc8962f2bc
fix(server): select main stream according to bitrate ( #18375 )
...
* fix main stream
* update unit tests
---------
Co-authored-by: mertalev <101130780+mertalev@users.noreply.github.com >
2025-05-19 17:33:28 -04: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
Jason Rasmussen
c1150fe7e3
feat: lock auth session ( #18322 )
2025-05-15 18:08:31 -04:00
Brandon Wees
6117329057
feat: add session creation endpoint ( #18295 )
2025-05-15 13:34:33 -05:00
Alex
b7b0b9b6d8
feat: locked/private view ( #18268 )
...
* feat: locked/private view
* feat: locked/private view
* pr feedback
* fix: redirect loop
* pr feedback
2025-05-15 15:35:21 +00: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
Mert
6a4d21205f
fix(server): do not filter out assets without preview path for person thumbnail generation ( #18300 )
...
* allow assets without preview path
* update sql
* Update person.repository.ts
Co-authored-by: Jason Rasmussen <jason@rasm.me >
* update sql, e2e
---------
Co-authored-by: Jason Rasmussen <jason@rasm.me >
2025-05-15 03:23:34 +00:00
Mert
3a0ddfb92d
fix(server): vacuum after deleting people ( #18299 )
...
* vacuum after deleting people
* update sql
2025-05-14 23:13:13 -04:00
Jason Rasmussen
3066c8198c
feat(web): user detail page ( #18230 )
...
feat: user detail page
2025-05-12 16:50:26 -04:00
Alex
3f719bd8d7
feat: user pin-code ( #18138 )
...
* feat: user pincode
* pr feedback
* chore: cleanup
---------
Co-authored-by: Jason Rasmussen <jason@rasm.me >
2025-05-09 17:00:58 -04:00
SGT
ec6379b0b2
chore: remove usage of deprecated Kysely method ( #18127 )
...
* minor update. fix usage of deprecated method'
* restore original formatting
2025-05-06 17:01:02 -04:00
Mert
2a80251dc3
fix(server): more robust person thumbnail generation ( #17974 )
...
* more robust person thumbnail generation
* clamp bounding boxes
* update sql
* no need to process invalid images after decoding
* cursed knowledge
* new line
2025-05-06 14:18:22 -04: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
David Cruz
7072e48cbe
feat: Add DB_SSL_MODE environment variable for Postgres sslmode ( #18025 )
...
* feat: Add DB_SSL_MODE environment variable for Postgres sslmode
* chore: clean up
---------
Co-authored-by: Jason Rasmussen <jason@rasm.me >
2025-05-06 09:25:37 -04:00
Thomas
da7a81b752
chore(server): split album update notifications into multiple jobs ( #17879 )
...
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.
2025-04-30 17:45:35 -04:00
Jason Rasmussen
becdc3dcf5
refactor: job on-done ( #18004 )
2025-04-30 17:02:53 -04:00
Jason Rasmussen
1fde02ee1e
chore: remove unused types and code ( #17999 )
2025-04-30 13:41:23 -04: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
Jason Rasmussen
be5cc2cdf5
refactor: stream detect faces ( #17996 )
2025-04-30 11:25:30 -04:00
Jason Rasmussen
8c5116bc1d
refactor: stream search duplicates ( #17991 )
2025-04-30 10:40:32 -04:00
Jason Rasmussen
2e8a286540
refactor: smart search queue ( #17977 )
2025-04-29 17:44:28 -04:00
Jason Rasmussen
d89e88bb3f
feat: configure token endpoint auth method ( #17968 )
2025-04-29 15:17:48 -04:00
Thomas
3ce353393a
chore(server): don't insert embeddings if the model has changed ( #17885 )
...
* 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 >
2025-04-29 14:23:01 -04:00
Eli Gao
48bcbee6ed
feat(server): JXL previews from DNG 1.7+ ( #17861 )
...
* feat(server): JXL previews from RAW
* refactor(server): use var name assumedExtractedFormat for clarity
* test(server): fix existing media.extract() returning JPEG
* chore(openapi): regen
* style(server): lint
* fix(server): ignore undefined decode orientation
* fix(server): correct orientation assignment in media decode options
* test(server): unit tests of JXL-encoded DNG
* refactor(server): return buffer and format from mediaRepository.extract()
* chore(open-api): regen
* refactor
---------
Co-authored-by: mertalev <101130780+mertalev@users.noreply.github.com >
2025-04-28 18:18:46 -04:00
Daniel Dietzler
f621f8ef2c
refactor: more job queries ( #17745 )
2025-04-29 00:03:20 +02:00
Jason Rasmussen
1b5fc9c665
feat: notifications ( #17701 )
...
* feat: notifications
* UI works
* chore: pr feedback
* initial fetch and clear notification upon logging out
* fix: merge
---------
Co-authored-by: Alex Tran <alex.tran1502@gmail.com >
2025-04-28 10:36:14 -04:00
Jason Rasmussen
1d610ad9cb
refactor: database connection parsing ( #17852 )
2025-04-24 12:58:29 -04:00
Zack Pollard
d2f2f8d672
fix: retrieve version from lockfile and fallback to cli command ( #17812 )
2025-04-23 17:10:43 +01:00
Zack Pollard
19746a8685
fix: cache build versions ( #17811 )
2025-04-23 16:31:18 +01:00
Thomas
987e5ab76c
fix(server): start job workers after DB ( #17806 )
...
Job workers are currently started on app init, which means they are started
before the DB is initialised. This can be problematic if jobs which need to use
the DB start running before it's ready. It also means that swapping out the
queue implementation for something which uses the DB won't work.
2025-04-23 15:07:32 +00:00