Commit Graph

3054 Commits

Author SHA1 Message Date
izzy
bfd0ac2247 chore: lint 2026-01-13 10:35:49 +00:00
izzy
26d2b41e05 chore: add index to asset.createdAt 2026-01-13 09:46:52 +00:00
izzy
66e7517bc7 merge: remote-tracking branch 'origin/main' into feat/integrity-checks-izzy 2026-01-13 09:21:09 +00:00
Daniel Dietzler
5e3f5f2b55 fix: unlock properties after successful sidecar write (#25168) 2026-01-12 14:01:38 +01:00
Brandon Wees
e8c80d88a5 feat: image editing (#24155) 2026-01-09 17:59:52 -05:00
renovate[bot]
1d71bb5a79 chore(deps): update ghcr.io/jdx/mise docker tag to v2026 (#25159)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-09 14:52:24 +00:00
Timon
3cdece4945 fix(server): Document HTTP 200 response for duplicate uploads in OpenAPI (#25148)
* fix(server): Document HTTP 200 response for duplicate uploads in OpenAPI

* fix 201

* rename
2026-01-08 23:52:31 -05:00
Jason Rasmussen
191401f2f1 fix: add asset upload medium test (#25144) 2026-01-08 22:01:25 +00:00
Timon
5d1e486478 fix(server): avoid upserting empty metadata array (#25143) 2026-01-08 22:33:35 +01:00
Jason Rasmussen
a2ba36c16d feat: bulk asset metadata endpoints (#25133) 2026-01-08 14:52:16 -05:00
izzy
7f8b0772a9 fix: accept UUIDv7 in URL param 2026-01-07 13:01:46 +00:00
izzy
5f35abbaa5 test: correct service spec 2026-01-07 12:40:29 +00:00
izzy
7e0e4bd0c6 chore: sync sql 2026-01-07 12:33:54 +00:00
izzy
ed33f79e2a refactor: orphan -> untracked 2026-01-07 12:17:28 +00:00
izzy
d189722bbf refactor: use cursors instead of pages 2026-01-06 15:49:36 +00:00
izzy
c4c5358ef7 merge: remote-tracking branch 'immich/main' into feat/integrity-checks-izzy 2026-01-06 14:19:34 +00:00
lif
263f96da87 fix(server): search statistics with personIds returns 500 (#25074)
The searchAssetBuilder was incorrectly adding withFacesAndPeople
select when personIds was provided. This caused a SQL error because
the subquery referenced asset.id which wasn't selected in statistics
queries (only count(*) was selected).

The fix removes personIds from the condition that triggers adding
faces data to the select. The hasPeople filter (for personIds) is
still applied correctly for filtering.

Fixes #25003

Signed-off-by: majiayu000 <1835304752@qq.com>
2026-01-06 08:54:12 -05:00
renovate[bot]
9d4a12dfd4 chore(deps): update node.js to v24.12.0 (#25046)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-05 20:13:34 +00:00
renovate[bot]
10989e6927 fix(deps): update typescript-projects (#25047)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2026-01-05 16:49:09 +00:00
renovate[bot]
9a78547bf0 chore(deps): update dependency @types/node to ^24.10.4 (#25044)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-05 16:19:55 +00:00
renovate[bot]
0b1bd9deb1 chore(deps): update dependency vite-tsconfig-paths to v6 (#25048)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-05 17:18:22 +01:00
Nikhil Alapati
b190423d96 fix(server): migrate motion part of live photo (#24688)
Co-authored-by: Nikhil Alapati <nikhilalapati@meta.com>
2026-01-05 15:26:45 +00:00
Daniel Ramos
edd3ab7cc9 feat(server): implement switchable logging formats (console/json) (#24791)
* feat(server): add LogFormat enum and configuration

* feat(server): add structured logging formatters

* feat(server): implement switchable logging formats (console/json)

* Revert "feat(server): add LogFormat enum and configuration"

This reverts commit 565e95ae68.

* feat(server): implement JSON logging using NestJS native support

* refactor: rename LOG_FORMAT to IMMICH_LOG_FORMAT for consistency

* docs: add IMMICH_LOG_FORMAT documentation

* chore: format environment-variables.md

* chore: format monitoring.md
2026-01-05 09:21:02 -06:00
Jason Rasmussen
e4311da1a4 fix: shared-link-mapper (#24794) 2026-01-05 10:03:35 -05:00
Matthew Momjian
bcf6685643 chore(server): Vchord 1.0 support (#23845)
vc 1
2026-01-04 00:01:11 -05:00
Diego Saint Esteben
bd27898ea9 fix(server): update exiftool-vendored to v34.3 for correct colon-less timezone parsing (#24979) 2026-01-02 20:31:31 +01:00
Rahul Kumar Saini
a16c5955d7 feat(server): Support camera make, model, and lensModel in Storage Template (#24650)
* add support for make, model, lensModel in storage template

* no pkg lock

* Apply suggestion from @danieldietzler

Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com>

* query and formatting

---------

Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com>
2025-12-29 21:55:06 +00:00
Jason Rasmussen
5a7c9a252c feat: disable admin setup (#24628) 2025-12-22 14:15:08 -05:00
Jason Rasmussen
1c156a179b feat: shared link edit (#24783) 2025-12-22 11:47:06 -05:00
Alex
28f6064240 feat: workflow ui (#24190)
* feat: workflow ui

* wip

* wip

* wip

* pr feedback

* refactor: picker field

* use showDialog directly

* better test

* refactor step selection modal

* move enable button to info form

* use  for Props

* pr feedback

* refactor ActionItem

* refactor ActionItem

* more refactor

* fix: new schemaformfield has value of the same type

* chore: clean up
2025-12-20 21:07:07 -06:00
Sergey Katsubo
4736b4e3e8 chore(server): improve log messages (#24744)
* Clarify the "asset not found" log during thumbnail generation: it's about database

* Move not found sidecars to verbose level instead of "old=null, new=null" at debug

* Log memory creation at default level

* Add explicit log for missing exif date time

Instead of: Date and time is undefined using exifTag undefined for asset ...

* Log database migration start/end at default level

Currently, these messages are logged as "debug". But they are not printed
when debug or verbose level is set. This is due to the known limitation:
SystemConfigService sets LogLevel later on, after migrations run.
2025-12-20 21:00:34 -06:00
Paul Makles
a17f188e97 fix(maintenance): prevent enable/disable maintenance CLI hanging on occasion (#24713)
* fix(maintenance): prevent CLI hanging on occassion
fix(maintenance): always ack messages
fix(maintenance): ensure Redis is connected first

* chore(maintenance): validate app restart responses

* chore: mock the app restart callback

* fix: ack may not exist depending on caller

* refactor: move one shot into app.repository

* fix: send correct state in one shot

* chore: log restart event
2025-12-19 17:13:00 -05:00
izzy
7e1e283710 chore: remove debug code 2025-12-19 18:03:49 +00:00
Daniel Dietzler
3d2196b0f2 refactor: asset update medium tests (#24718) 2025-12-19 16:25:04 +00:00
github-actions
50d7956c07 chore: version v2.4.1 2025-12-19 15:03:03 +00:00
Théo
22d3fd3b92 fix(docs): add & fix missing alt text to store badge images (#24637)
* Fix email footer: add missing alt text to store badge images

* fix: apply consistent formatting using Prettier

---------

Co-authored-by: divulgacheur <contact@theopeltier.me>
2025-12-19 09:00:31 -06:00
Daniel Dietzler
f7cbb7417c fix: dateTimeOriginal timezone updates (#24712) 2025-12-19 08:42:44 -06:00
izzy
b3ba8806db chore: remove stray comments 2025-12-19 10:50:48 +00:00
izzy
66da3c15da chore: summary text 2025-12-19 09:18:32 +00:00
izzy
2d48d05943 chore: open api / sql 2025-12-18 18:39:35 +00:00
izzy
a81074fff8 fix: filter assets that are trashed 2025-12-18 18:27:07 +00:00
izzy
bb4893d0d7 test: e2e tests for get report and delete entries 2025-12-18 18:26:27 +00:00
izzy
82351f4fb9 chore: add descriptions to routes 2025-12-18 17:33:11 +00:00
izzy
ff7453e46a test: service tests for deleting reports 2025-12-18 17:27:33 +00:00
izzy
2962c54ee2 refactor: queue separate jobs for deleting integrity reports 2025-12-18 17:08:45 +00:00
izzy
748ba6780d chore: update sql 2025-12-18 14:57:26 +00:00
izzy
ff07b4ff16 test: service tests for checksum 2025-12-18 14:55:48 +00:00
izzy
b1f3c7579d test: add mock for plain read 2025-12-18 14:47:33 +00:00
izzy
92d23ce955 fix: use plain read stream instead of real 2025-12-18 14:40:59 +00:00
izzy
c045fa27af test: service tests for missing files 2025-12-18 14:36:51 +00:00