3154 Commits

Author SHA1 Message Date
renovate[bot]
00da7b88a1
chore(deps): update dependency @types/node to ^24.12.0 (#26966)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-26 13:52:45 -04:00
Michel Heusschen
144a57ddff
refactor(server): use helpers for shared link queries (#27088)
* fix(server): prevent album shared link from breaking after uploads

* update test

* add withSharedAssets helper

* remove options

* add more helpers

* update selects
2026-03-26 13:51:00 -04:00
Jason Rasmussen
b33874ef12
feat: add support for helmet configuration (#27058) 2026-03-26 17:41:23 +00:00
renovate[bot]
5c159d70a7
chore(deps): update node.js to v24.14.0 (#26972)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-26 18:30:38 +01:00
Paul Makles
44ae0fa7ed
fix(database restores): don't assume onboarding has completed (#27052) 2026-03-26 18:30:14 +01:00
renovate[bot]
f782782662
fix(deps): update dependency kysely to v0.28.14 [security] (#27068)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-26 18:29:53 +01:00
Jason Rasmussen
fae25dbe65
chore: whitelist server deploy files (#27056) 2026-03-26 13:22:03 -04:00
Mert
8dd0d7f34c
fix(server): memory fragmentation (#27027) 2026-03-26 18:21:52 +01:00
Jason Rasmussen
9b78f2c0ba
chore: remove unused resources (#27055) 2026-03-26 13:21:36 -04:00
Michel Heusschen
4812a2e2d8
fix(server): refresh unedited asset dimensions on metadata extraction (#27220) 2026-03-26 18:17:32 +01:00
github-actions
a2ff075e9a chore: version v2.6.3 2026-03-26 16:23:35 +00:00
Brandon Wees
d8b39906f9
fix: incorrect asset face sync (#27243)
* fix: incorrect asset face sync

* chore: sync sql
2026-03-26 09:39:02 -05:00
Michel Heusschen
b36911a16b
fix(server): filter out empty search suggestions (#27292)
* fix(server): filter out empty search suggestions

* make sql
2026-03-26 09:36:04 -05:00
bo0tzz
78bb6cf926
chore: log id of existing asset on duplicate upload (#27266) 2026-03-26 11:50:53 +01:00
Yaros
c980f5fc19
chore(docs): withPeople parameter description (#27262)
* fix(server): withPeople inconsistent

* fix: query failing in some occasions

* test: add medium tests for withPeople option

* Revert "test: add medium tests for withPeople option"

This reverts commit 6c1505ba6b4771e37c1679bb96866a642134223d.

* Revert "fix: query failing in some occasions"

This reverts commit 221feeca45ae58fbac9e1b604202e6e0dedd4044.

* Revert "fix(server): withPeople inconsistent"

This reverts commit 4289a9f23d48248f0779cd2efff91875cfe98b52.

* chore: change endpoint description

* chore: generate open-api
2026-03-26 11:50:29 +01:00
renovate[bot]
8bfa75087c
chore(deps): update base-image to v202603251709 (major) (#27273)
chore(deps): update base-image to v202603251709

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-25 14:04:26 -05:00
renovate[bot]
12a4d8e2ee
chore(deps): update ghcr.io/jdx/mise docker tag to v2026.3.12 (#27224)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-24 12:06:19 +00:00
github-actions
ce9b32a61a chore: version v2.6.2 2026-03-24 02:51:55 +00:00
Yaros
94b15b8678
fix(server): album permissions for editors (#27214)
* fix(server): album permissions for editors

* test: adjust e2e test

* test: fix test
2026-03-23 21:39:30 -05:00
Jason Rasmussen
813d684aaa
fix: shared link add to album (#27063) 2026-03-20 13:14:07 -05:00
Thomas
f3e4bcc733
fix(server): queue version check job when config changed (#27094)
Nothing happens when the version checks are enabled, which means the
server may return very stale versions until the next job runs.

Refs: #26935
2026-03-20 10:07:40 -05:00
github-actions
e939fde6f1 chore: version v2.6.1 2026-03-19 17:56:42 +00:00
Daniel Dietzler
79f978ddeb
fix: writing empty exif tags (#27025) 2026-03-19 17:17:56 +00:00
Jason Rasmussen
044257531e
fix(server): fallback to email when name is empty (#27016) 2026-03-19 12:41:20 -04:00
github-actions
f413f5c692 chore: version v2.6.0 2026-03-18 20:37:39 +00:00
Jason Rasmussen
77020e742a
fix: validate accept header before returning html (#27019) 2026-03-18 14:15:48 -04:00
Jason Rasmussen
38b135ff36
fix: bounding box return type (#27014) 2026-03-18 11:58:40 -04:00
Jason Rasmussen
b092c8b601
fix: healthcheck (#26989) 2026-03-17 17:54:39 -04:00
Thomas
34caed3b2b
fix(server): flaky metadata tests (#26964) 2026-03-17 18:06:22 +01:00
Thomas
16749ff8ba
fix(server): sync files to disk (#26881)
Ensure that all files are flushed after they've been written.

At current, files are not explicitly flushed to disk, which can cause
data corruption. In extreme circumstances, it's possible that uploaded
files may not ever be persisted at all.
2026-03-17 06:33:43 -05:00
Belnadifia
55513cd59f
feat(server): support IDPs that only send the userinfo in the ID token (#26717)
Co-authored-by: irouply <irouply@secom.fr>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2026-03-13 22:14:45 +01:00
Nathaniel Hourt
e322d44f95
fix: SMTP over TLS (#26893)
Final step on #22833

PReq #22833 is about adding support for SMTP-over-TLS rather than just STARTTLS when sending emails. That PReq adds almost everything; it just forgot to actually pass the flag to Nodemailer at the end.

This adds that last line of code and makes it work correctly (for me, anyways!).

Co-authored-by: Nathaniel <I@nathaniel.land>
2026-03-13 09:41:50 -05:00
Brandon Wees
f3b7cd6198
refactor: move encoded video to asset files table (#26863)
* refactor: move encoded video to asset files table

* chore: update
2026-03-12 16:15:21 -04:00
Jason Rasmussen
990aff441b
fix: add to shared link (#26886) 2026-03-12 16:10:55 -04:00
Daniel Dietzler
001d7d083f
refactor: small test factories (#26862) 2026-03-12 14:48:49 -04:00
Michel Heusschen
3fd24e2083
fix(server): restrict individual shared link asset removal to owners (#26868)
* fix(server): restrict individual shared link asset removal to owners

* make open-api
2026-03-12 14:48:00 -04:00
Brendan Ngo
0a79dd1228
fix(server): extract make/model from sony video files (#26833)
Co-authored-by: Your Name <brendan.ngo@okendo.io>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2026-03-11 17:29:37 +00:00
renovate[bot]
0f2fe656db
fix(deps): update typescript-projects (#26812)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-11 16:40:41 +01:00
Daniel Dietzler
34ce68095d
chore: upgrade to kysely 0.28.11 (#26744) 2026-03-11 16:17:31 +01:00
Michel Heusschen
27f69b39b2
fix(server): use correct day ordering in timeline buckets (#26821)
* fix(web): sort timeline day groups received from server

* fix(server): use correct day ordering in timeline buckets
2026-03-11 08:49:35 -04:00
renovate[bot]
22b43bf4d9
chore(deps): update dependency @types/node to ^24.11.0 (#26808)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-10 16:46:21 +00:00
Daniel Dietzler
d325231df2
chore: refactor test factories (#26804) 2026-03-09 20:47:03 +00:00
Sergey Katsubo
4a384bca86
fix(server): opus handling as accepted audio codec in transcode policy (#26736)
* Fix opus handling as accepted audio codec in transcode policy

Fix the issue when opus is among accepted audio codecs in transcode policy
(which is default) but it still triggers transcoding because the codec name
from ffprobe (opus) does not match `libopus` literal in Immich.

Make a distinction between a codec name and encoder:
- codec name: switch to `opus` as the audio codec name. This matches what ffprobe
returns for a media file with opus audio.
- encoder: continue using the `libopus` encoder in ffmpeg.

* Add unit tests for accepted audio codecs and for libopus encoder

* Add db migration for ffmpeg.targetAudioCodec opus

* backward compatibility

* tweak

* noisy logs

* full mapping

* make check happy

* mark deprecated

* update api

* indexOf

---------

Co-authored-by: mertalev <101130780+mertalev@users.noreply.github.com>
2026-03-07 13:08:42 -05:00
Mees Frensel
9b642633c1
fix(server): clarify transcoding bitrate policy (#26711) 2026-03-05 12:13:29 -05:00
Min Idzelis
13c4260a1f
fix: resolve medium test asset paths relative to file location (#26683) 2026-03-04 08:23:58 -05:00
Min Idzelis
54bc9ddd69
chore: add vitest project names and fix server config root paths (#26684)
Add `name` to all vitest configs matching CI job buckets (server:unit,
server:medium, cli:unit, web:unit, e2e:server, e2e:maintenance) so they
appear as filterable @tags in the Vitest VSCode extension.

Fix `root` in server vitest configs to use an absolute path derived from
`import.meta.url` instead of `'./'`, which resolved relative to the config
file directory (`server/test/`) rather than `server/`, causing test
discovery to fail in the Vitest VSCode extension.
2026-03-04 08:20:43 -05:00
Min Idzelis
e4c24bdec8
chore: enable prettier caching and quiet output (#26681) 2026-03-04 03:34:48 +00:00
Savely Krasovsky
56f14162f6
chore: bump base images manually (#26670) 2026-03-04 00:54:55 +00:00
Joe Babbitt
44eeb1e088
fix: implement existing withStacked on searchAssetBuilder (#26607)
Co-authored-by: Joe <code@joebabbitt.com>
2026-03-03 11:41:29 +00:00
Michel Heusschen
8c40a28fef
fix(server): clean up edited thumbnail when deleting asset (#26664) 2026-03-03 12:08:07 +01:00