3060 Commits

Author SHA1 Message Date
izzy
ecb9b7624c
merge: remote-tracking branch 'immich/main' into feat/database-restores 2026-01-06 11:17:59 +00:00
izzy
a30f84e2b5
refactor: remove useless try {} block 2026-01-06 10:18:50 +00:00
izzy
82e004db7d
refactor: prefer Object.assign 2026-01-06 10:17:48 +00:00
izzy
ff13ba5f6e
refactor: createSpawnDuplexStream -> spawnDuplexStream 2026-01-06 10:17:12 +00:00
izzy
cb52aa04d4
refactor: getter pattern for maintenance secret 2026-01-06 10:06:28 +00: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 565e95ae68277b809c080a62ea8881353be7b5e3.

* 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
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
github-actions
a02adbb828 chore: version v2.4.0 2025-12-17 17:44:24 +00:00
Daniel Dietzler
c15998e805
fix: asset update race condition (#24384)
* fix: asset update race condition

* fix: asset update race condition

* single statement

* update sql

* missed one

* fix `none` handling

* fix: tests

* chore: simplify update all assets

* fix: updating lockable properties

---------

Co-authored-by: mertalev <101130780+mertalev@users.noreply.github.com>
2025-12-17 09:23:13 -06:00
izzy
21e2e9415c
test: rename outdated test 2025-12-17 14:05:30 +00:00
izzy
2ceeb589de
merge: remote-tracking branch 'immich/main' into feat/database-restores 2025-12-17 13:02:58 +00:00
renovate[bot]
f1c8377ca0
chore(deps): update dependency @types/node to ^24.10.3 (#24605)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-16 12:23:52 +01:00
Alex
8416397589
chore: revert Svelte 5.43.3 (#24509) 2025-12-16 04:03:53 +00:00
Mees Frensel
77926383db
fix(server): only extract image's duration if format supports animation (#24587) 2025-12-15 12:36:46 -05:00
hubert-taieb
e637387082
fix(server): prevent metadata extraction failures on large video files (#24094)
* prevent  metadata extraction failures on large video files

Increases ExifTool timeout from 20s to 120s to prevent GPS metadata
extraction failures on large video files (>2GB, 10+ minutes).

Issue: Large videos timeout during metadata extraction, causing GPS
coordinates to be lost even though ExifTool can extract them given
enough time.

Testing: 2.6GB, 10:52min video that previously timed out now
successfully extracts GPS metadata.

* redundant comment

Increased task timeout for processing large videos.

* chore: lint

---------

Co-authored-by: Mert <101130780+mertalev@users.noreply.github.com>
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2025-12-11 15:18:19 +00:00
Sergey Katsubo
19958dfd83
fix(server): building docker image for different platforms on the same host (#24459)
Fix building docker image for different platforms on the same host

Use per-platform mise cache to avoid 'sh: 1: extism-js: not found'
This happens due to re-using cached installed binary for another platform
2025-12-08 09:15:43 -06:00
Sergey Katsubo
42136f9091
fix(server): update exiftool-vendored to v34 for more robust metadata extraction (#24424) 2025-12-06 14:45:59 -06:00
Daniel Dietzler
75a7c9c06c
feat: sql tools array as default value (#24389) 2025-12-04 12:54:20 -05:00
Daniel Dietzler
ae8f5a6673
fix: prettier (#24386) 2025-12-04 16:10:42 +00:00
Mert
cffb68d1c4
fix(server): do not delete offline assets (#24355)
* do not delete isOffline assets

* update sql

* add medium test

* add normal delete test

* formatting
2025-12-03 14:19:26 -06:00
izzy
e958516318
merge: remote-tracking branch 'immich/main' into feat/database-restores 2025-12-03 12:50:06 +00:00
izzy
0d05c0d4ae
fix: update worker controller with new route 2025-12-03 12:34:10 +00:00
izzy
4e2187acf9
refactor: scope util to database-backups instead of backups 2025-12-03 12:30:07 +00:00
izzy
6b9cc855a5
test: wip 2025-12-03 12:26:47 +00:00
izzy
02265ba224
chore: validate filename for deletion 2025-12-03 12:13:52 +00:00
izzy
3019091733
test: correct deleteBackup call 2025-12-03 12:04:35 +00:00
izzy
207a8bc55a
refactor: instead of param, allow bulk backup deletion 2025-12-03 11:55:15 +00:00
izzy
a63b418507
refactor: rename db backup routes 2025-12-03 11:47:48 +00:00
izzy
fe8eb85e37
test: split backup service spec 2025-12-03 11:41:31 +00:00
izzy
4659ceb425
test: update maint. worker service spec 2025-12-03 11:34:20 +00:00
izzy
17dfcedad6
refactor: remove state repository 2025-12-03 11:34:15 +00:00
izzy
20d1e610ce
chore: ensure admin for detect install while out of maint. 2025-12-03 11:11:18 +00:00
izzy
305bf60f97
refactor: ensure detect install is consistently named 2025-12-03 11:10:33 +00:00