Commit Graph

3305 Commits (main)

Author SHA1 Message Date
Timon 2190aa72a8
refactor(server): zod int validation (#28804) 2026-06-03 18:21:07 -04:00
Timon 5c33eb3204
refactor(server)!: drop empty string to null conversion (#28808)
refactor(server): drop empty string to null conversion
2026-06-03 18:16:53 -04:00
Jason Rasmussen e4352a7817
fix: error log on aborted uploads (#28806) 2026-06-03 12:47:38 -04:00
Daniel Dietzler 84c75d95c7
fix: migration order (#28779) 2026-06-02 21:33:13 +00:00
shenlong 9287fa08c6
fix!: unauthorized face creation (#28561)
* fix: unauthorized face creation

* review changes

---------

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-06-02 22:44:11 +05:30
renovate[bot] 07f19d2caa
chore(deps): update base-image to v202606021219 (#28771) 2026-06-02 18:31:52 +02:00
Tim Jones 368cb7a4ad
feat: minimum face count per user (#27452)
* add user metadata table and use to filter persons in person.getAllForUser query

* update PersonRepository.getAllForUser query

* remove minFaces from PersonSearchOptions interface

* fix person.getAllForUser query

* update types and openapi specs

* add minFaces field to user settings page

* remove old arg from tests

* add e2e test to verify minimumFace user preference

* add i18n label and description for english

* update default min faces

* fetch minFaces ML default and use as per-user default in frontend

* update e2e tests

* fix bugs in people getAllForUser query

* update person getNumberOfPeople query to reflect correct number of people according to minFaces threshold

* updated mobile openapi specs?

* use subquery in coalesce instead of join

* remove out of scope query update
2026-06-02 18:05:55 +02:00
renovate[bot] 82db8be5ff
chore(deps): update dependency testcontainers to v12 (#28763) 2026-06-02 12:05:42 +00:00
renovate[bot] 40983b46c8
chore(deps): update dependency @vitest/coverage-v8 to v4 (#28761) 2026-06-02 13:37:34 +02:00
renovate[bot] 5dcdbf04ea
chore(deps): update base-image to v202605121138 (#28760) 2026-06-02 11:47:20 +02:00
Mert 138e2d9158
feat(web): hls player (#28312)
* update e2e

* hls player

* fix transcoding restart on explicit quality selection

* move level filtering to manager

* move init to manager declaration

* refactor commit on release

* these lints...

* fix seek sometimes being ignored

* fix panic downswitch
2026-06-01 15:49:57 -04:00
Mert 7eabac6702
feat(server): hls with real-time transcoding (#28230)
* hls implementation

* fix stale state after ffmpeg exit
2026-06-01 18:52:29 +00:00
renovate[bot] 412884fce3
chore(deps): update ghcr.io/jdx/mise docker tag to v2026.5.18 (#28749) 2026-06-01 19:47:53 +02:00
Daniel Dietzler c8a1d0e400
feat: release candidate support (#28665)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-06-01 16:10:07 +02:00
Jason Rasmussen da8505f61d
feat: more plugin triggers and methods (#28690) 2026-05-29 14:02:07 -04:00
Jason Rasmussen 96923f6115
refactor: plugin sdk types (#28674) 2026-05-28 22:04:15 +00:00
Jason Rasmussen 8783180cf3
refactor: plugin manifest (#28673) 2026-05-28 17:23:49 -04:00
Jason Rasmussen 134c0d4dfb
feat: search by album name and id (#28672) 2026-05-28 17:01:47 -04:00
Timon 26714f6bfe
fix(server): prevent locked assets from leaking to partners (#28652)
* fix(server): prevent locked assets from leaking to partners

* fix tests
2026-05-27 17:33:49 -04:00
Jason Rasmussen 1acc511b5c
chore: install mise in Dockerfile.dev (#28649) 2026-05-27 11:43:17 -04:00
Daniel Dietzler 452e88267a
fix: strip metadata from timeline responses for shared links without exif sharing (#28644) 2026-05-27 17:29:37 +02:00
Jason Rasmussen e46f2843f7
refactor: asset create event (#28647) 2026-05-27 10:28:02 -04:00
Alex 8682be4774
feat: workflow template (#28553)
* wip: confirm before existing and disable/enable save button condition

* fix: get correct workflow detail

* wip: add back workflow summary

* wip: add back json editor

* wip: step property badge

* wip: redesign card flow

* wip: redesign card flow

* redesign workflow summary

* wworkflow summary styling

* wip

* drag and drop

* list redesign

* refactor

* refactor

* remove deadcode

* refactor

* insert steps

* push down when dropped

* feat: workflow template

* simplify

* move template to manifest

* feat: hash manifest file

* fix: template column

* fix: migration

* fix: workflow lookup

* chore: clean up

---------

Co-authored-by: Jason Rasmussen <jason@rasm.me>
2026-05-26 16:47:05 -04:00
Alex 0546bc900c
chore: workflow UI (#28536)
* wip: confirm before existing and disable/enable save button condition

* fix: get correct workflow detail

* wip: add back workflow summary

* wip: add back json editor

* wip: step property badge

* wip: redesign card flow

* wip: redesign card flow

* redesign workflow summary

* wworkflow summary styling

* wip

* drag and drop

* list redesign

* refactor

* refactor

* remove deadcode

* refactor

* insert steps

* push down when dropped

* fix: query by workflow id

---------

Co-authored-by: Jason Rasmussen <jason@rasm.me>
2026-05-26 14:06:20 -04:00
Mees Frensel 073dcc1fbe
chore(server): deprecate total field of asset search response (#28551) 2026-05-26 16:20:24 +02:00
Alex fd7ddfef54
fix: plugin prod build typo (#28566) 2026-05-22 11:01:18 -05:00
Daniel Dietzler 0975b1599c
fix: remove stray migration (#28565) 2026-05-22 15:20:47 +00:00
renovate[bot] 92b6778d2d
fix(deps): update typescript-projects (#28371)
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2026-05-20 16:56:27 +02:00
renovate[bot] 85192bb110
chore(deps): update ghcr.io/jdx/mise docker tag to v2026.5.11 (#28522) 2026-05-20 14:29:17 +00:00
renovate[bot] d9ce3d2046
chore(deps): update dependency @types/node to ^24.12.4 (#28490) 2026-05-20 12:41:17 +02:00
Timon 4383473ed6
fix: cleanup nestjs-zod properties (#28447)
* fix: cleanup nestjs-zod properties

* lint
2026-05-18 15:31:08 -04:00
Jason Rasmussen 3d075f2bf8
feat: workflows & plugins (#26727)
feat: plugins

chore: better types

feat: plugins
2026-05-18 11:09:33 -04:00
Robert Deaton e91c017dd0
fix(server): dedupe database backup jobs (#28341)
* fix(server): dedupe database backup jobs via jobId

#27268 shows backup jobs piling up in the queue across upgrades; one pending
backup is always enough.

* fix(tests): Avoid stale backup files from previous test runs being erroneously returned from createBackup

* fix(jobs): Use bullmq's deduplication over jobId to avoid failed jobs from blocking future executions.

---------

Co-authored-by: Robert Deaton <immich@rdeaton.space>
2026-05-14 20:59:15 -04:00
Nojus Gudinavičius b0c9743d9a
feat(server): allow subpaths for machine learning URL (#28427)
This allows to use a machine learning server URL under a subpath,
such as "http://example.com/ml-server/".
2026-05-14 12:46:31 +00:00
Jason Rasmussen fcea617313
fix: ignore icc profile make and model (#28412) 2026-05-13 12:07:35 -04:00
Jason Rasmussen ad7aedb843
refactor: move plugins to packages (#28389) 2026-05-12 13:28:30 +00:00
renovate[bot] ce292bdce9
chore(deps): update base-image to v202605051129 (#28374)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-12 12:02:43 +02:00
Jason Rasmussen 15f3947ae6
chore: mise scripts (#28367) 2026-05-11 17:46:02 -04:00
Ben Beckford e142e3aca7
feat: recently added assets page (#28272)
* feat(server): add ordering date option to time buckets

* feat(web): add recently added page

* feat(server): recently created assets in explore data

* feat(web): recently added in explore tab

* fix: recently added assets ordering

* fix(server): failing bucket test

* feat(web): improve recently added preview

* chore: update e2e explore/timeline tests

* chore: rename and refactor timeline ordering dates

* fix(web): invalid timeline option

* feat(mobile): recently added page

* fix(server): sync tests

* fix(mobile): resync assets to get uploadedAt column

* chore: rename assetorderby enum

* chore(mobile): formatting

* minor fixes

* stylings

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
2026-05-11 21:35:10 +00:00
Brandon Wees 38438c8d9a
refactor!: remove asset faces from AssetResponseDto (#27779)
* refactor!: remove faces from `people` in AssetResposnseDto

* chore: tests

* chore: e2e generator

* chore: code review readonly

* chore: code review changes

* chore: cleanup

* fix: openapi

* chore: format

---------

Co-authored-by: Jason Rasmussen <jason@rasm.me>
2026-05-11 17:05:40 -04:00
Alex a278c10c75
fix: mobile upload duration type (#28362) 2026-05-11 15:46:00 -05:00
renovate[bot] 2276443c56
fix(deps): update dependency kysely to v0.28.17 [security] (#28363)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-11 22:38:25 +02:00
Jason Rasmussen db589455f4
refactor: move cli to package folder (#28356) 2026-05-11 14:49:45 -04:00
renovate[bot] 7013cc0904
fix(deps): update dependency @opentelemetry/exporter-prometheus to ^0.217.0 [security] (#28353)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-11 18:03:30 +00:00
renovate[bot] dcaf7b4a65
fix(deps): update dependency @opentelemetry/sdk-node to ^0.217.0 [security] (#28354)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-11 19:48:25 +02:00
Jason Rasmussen 7837d40f57
chore: move sdk to packages (#28350) 2026-05-11 13:37:10 -04:00
Mert d788169bf3
chore(server)!: remove libopus enum (#28325) 2026-05-11 08:02:57 -04:00
Mert eea820fa2f
chore(server): enable hw decoding by default (#28324) 2026-05-11 08:02:26 -04:00
Jason Rasmussen 25a6a38b30
chore: use mise (#28298) 2026-05-08 15:21:33 -04:00
renovate[bot] 832ed4d015
chore(deps): update dependency exiftool-vendored to v35.19.0 [security] (#28261)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2026-05-08 12:24:31 +02:00