Jason Rasmussen
9043bc8435
fix: error handling ( #28843 )
2026-06-04 16:19:16 -04:00
Abhijeet Sanjiv Bonde
b3d49045de
feat: user upload heatmap ( #28593 )
...
* Feat - Heatmap
* Implemented Comments to prettify and code cleanup
* fixing code to pass cases.
* fixing errors for OpenAPI Clients
* Improving the code.
* Fix code
* Rerun generated client check
* Rerun generated client
* feat: command for user pages (#28554 )
* fix(web): timeline stuttering with many assets in 1 day (#28509 )
* fix(web): timeline stuttering with many assets in 1 day
* cache isInOrNearViewport per day
* skip inOrNearViewport check on first run
* chore(ml): allow insightface 1.x (#28595 )
* chore(ml): allow insightface 1.x
The new insightface 1.0 release appears to have no breaking code changes nor relevant license changes ([before](https://github.com/deepinsight/insightface/blob/2a78baec428354883e0cda39c54b555a5ed8358a/README.md ), [after](https://github.com/deepinsight/insightface/blob/70f3269ea628d0658c5723976944c9de414e96f8/README.md ), c.f. https://github.com/immich-app/immich/blob/fd7ddfef54cdf2b6256c4fc08bc5ff3f86176775/machine-learning/README.md ), and it works on my machine.
* Update uv.lock
* please excuse my incompetence
* Triggering the actions.
* bad merge
* Fix code
* Code clear
* Resolve conflict
* Resolve conflict
* Resolve conflict
* Resolve errors
* Resolve errors
* Resolve errors more
* chore: clean up
---------
Co-authored-by: Alex <alex.tran1502@gmail.com >
Co-authored-by: Ben Beckford <ben@benjaminbeckford.com >
Co-authored-by: Aaron Liu <aaronliu0130@gmail.com >
Co-authored-by: Jason Rasmussen <jason@rasm.me >
2026-06-04 15:36:09 -04:00
Mees Frensel
99281de6ab
refactor!: disallow star rating < 1 ( #27896 )
...
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
Co-authored-by: timonrieger <mail@timonrieger.de >
2026-06-04 17:06:28 +00:00
Timon
e2de8c7c53
refactor(server)!: remove changeExpiryTime ( #28816 )
...
* fix(mobile): clear shared link password
* fix(mobile): clear shared link description
* fix(mobile): clear shared link expiry
* refactor(server)!: remove changeExpiryTime
* fix(mobile): clear shared link expiry
---------
Co-authored-by: Jason Rasmussen <jason@rasm.me >
2026-06-04 08:35:45 +00:00
Timon
e94e22f3f8
fix(server): respect timezone in iso date string encoding ( #28810 )
2026-06-03 19:00:10 -04:00
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