Commit Graph
3585 Commits
Author SHA1 Message Date
Zack 9cd0bd0004 fix(server): keep user motion files on embedded motion replace 2026-10-05 00:25:47 +01:00
Lin, Chiang-YuandMert 69f06a29ca fix(server): don't select an audio stream ffprobe could not identify (#30901)
iPhone videos recorded with Apple Spatial Audio carry two audio tracks: an
AAC track and an APAC track that ffmpeg has no decoder for. Both are marked
default, so `compareStreams` ties on disposition and falls through to
bitrate, where the APAC track wins because spatial audio is encoded at a
higher rate. `audioStreams[0]` is then persisted and mapped into the
transcode command, and ffmpeg fails before it starts encoding:

    [aist#0:2/none] Decoding requested, but no decoder found for: none
    Error opening output file .../out.mp4
    Error opening output files: Invalid argument

Drop audio streams ffprobe reported as `unknown` before the existing
disposition/bitrate ordering runs. A stream with no codec to decode is not a
usable audio stream, so an asset whose every audio track is unidentified is
treated as having no audio at all. The video pipeline is unchanged, since the
evidence here covers audio selection only.

Co-authored-by: Mert <101130780+mertalev@users.noreply.github.com>
2026-10-03 21:19:54 +00:00
renovate[bot] ffa5bf428d chore(deps): update base-image to v202610021601 (#32030) 2026-10-02 18:24:48 +02:00
Daniel Dietzler f652f55ffd fix: improper filename sanitizing (#32009) 2026-10-02 15:51:01 +00:00
Daniel Dietzler 989e7cf203 fix: clarify PUT to PATCH migration (#32010) 2026-10-02 15:50:08 +00:00
Daniel Dietzler 28e375c058 fix: assetTagFilter any matching (#32008) 2026-10-02 17:40:23 +02:00
Daniel Dietzler 170baf19ea fix: metadata extraction for media streams with unknown profile (#32007) 2026-10-02 10:53:52 -04:00
Mees Frensel fd97f3e5a6 fix(server): include album owner for album shared links (#31837) 2026-10-01 18:54:08 +02:00
Daniel Dietzler 28d33b18eb fix: storage usage display on virtiofs and alike (#31982) 2026-10-01 15:34:09 +02:00
Jonathan Jogenfors de6dcf669c fix(server): make library exclusion matching consistently case-insensitive (#31970) 2026-10-01 12:02:49 +02:00
Jason RasmussenandDaniel Dietzler 1741650348 feat: bulk person management (#31949)
* feat: bulk person access

* chore: wip

* chore: cleanup and minor UX improvements

* chore: pr feedback

---------

Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2026-09-30 17:15:24 -04:00
bo0tzz d66b590d04 fix(server): ignore Samsung Gallery rotation tag for HEIF orientation (#31937) 2026-09-30 10:24:48 +00:00
Jonathan Jogenfors 32e3239ba3 fix(server): dont queue unneeded jobs when no xmp file exists (#31927) 2026-09-30 11:35:09 +02:00
Jonathan Jogenfors a010802431 chore(server): better xmp testing (#31928) 2026-09-30 11:29:14 +02:00
aviv926 c9a3248d71 fix(server): make "limit" paramter use z.coerce (#31899) 2026-09-30 10:30:44 +02:00
Jason Rasmussen f77847dda0 feat(server): create all for owner (#31924) 2026-09-29 18:12:25 -04:00
Jason Rasmussen aec7c0d97b feat: auto-sync name changes to connected users (#31923)
* feat: auto-sync name changes to connected users

* fix: rename to faceId

* fix: pr feedback

* fix: mobile build
2026-09-29 18:12:25 -04:00
renovate[bot] a6aa9fc253 chore(deps): update base-image to v202609291109 (#31908) 2026-09-29 18:36:31 +02:00
Jason Rasmussen 4b1b1f8c2a fix(server): person birthdate timezone bug (#31901) 2026-09-29 16:22:15 +00:00
Daniel Dietzler 4408f49d15 fix: person management ids validation and permissions (#31898) 2026-09-29 18:02:33 +02:00
renovate[bot] 4d8219ef12 chore(deps): update ghcr.io/jdx/mise docker tag to v2026.9.17 (#31874) 2026-09-29 13:45:18 +02:00
renovate[bot]andDaniel Dietzler 0993482b0b chore(deps): update dependency eslint-plugin-unicorn to v76 (#31885)
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2026-09-29 13:27:43 +02:00
immich-push-o-matic[bot] a9d102234b chore: version v3.3.0-rc.0 2026-09-28 21:54:03 +00:00
Thomas DELORGEandDaniel Dietzler b35eeb3be2 feat(server): sync OAuth claims on login (#8073) (#29013)
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
Signed-off-by: Thomas DELORGE <thomas.delorge@orbeet.io>
2026-09-28 23:27:50 +02:00
Jonas StahlandDaniel Dietzler 7c0dc08041 feat: extract manufacturer and device for samsung videos (#29375)
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2026-09-28 23:13:00 +02:00
Daniel Dietzler 42c45012d1 fix: email template (#31859) 2026-09-28 19:58:11 +00:00
76c08fa230 fix: library watcher should respect ignore patterns (#31418)
* fix: chokidar should respect ignore patterns

* fix: chokidar mock

---------

Co-authored-by: Jason Rasmussen <jason@rasm.me>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2026-09-28 15:51:19 -04:00
c12d5e6d35 feat: people management (#31620)
Co-authored-by: Jason Rasmussen <jason@rasm.me>
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-09-28 21:29:15 +02:00
Valentin Agachi 0733cc10ee chore: log assets deletion in background job (#31770) 2026-09-28 14:36:49 -04:00
Mees Frensel 5f0c9a5996 fix(server): emit sidecarwrites and assetupdates consequently (#31777)
* fix(server): emit sidecarwrites and assetupdates consequently

* fix medium test
2026-09-28 14:36:05 -04:00
renovate[bot]andDaniel Dietzler bf5b21b361 chore(deps): update node (#31813)
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2026-09-28 19:22:29 +02:00
bo0tzzandDaniel Dietzler 8ede1d54d8 fix(server): exclude hidden assets from large files search (#31479)
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2026-09-28 18:21:44 +02:00
renovate[bot] ae49913223 chore(deps): update base-image to v202609281550 (#31850) 2026-09-28 16:05:06 +00:00
Jordan BrockandDaniel Dietzler 54987c764a fix(server): write tag updates to exif table (#31425)
Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com>
2026-09-28 15:52:25 +00:00
Rufus UttleyandDaniel Dietzler aa02337847 fix(server): use GeoNames for reverse-geocoded country names (#30199)
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2026-09-28 11:06:30 +00:00
fabxyz d1faeb8199 fix(server): incorrect scaling of rotated videos when transcoding (#31473) 2026-09-26 10:07:24 -04:00
Eliott Bourassa f8f4051a24 feat(server): add support for .jfif files (#31778)
* feat(server): add support for .jfif files

* fix: move .jfif to webSupportedImage object
2026-09-25 22:44:29 -04:00
Mert c0a9146023 feat(server): linear-light resampling (#31236) 2026-09-25 10:29:07 -04:00
Aashish Bhardwaj e598e10896 fix(server): attach error handler to accepted sockets to prevent crash on connection reset (#31079)
Signed-off-by: aashish00021 <aashishbhardwaj07@icloud.com>
2026-09-24 16:28:02 +02:00
renovate[bot] 7f14913626 chore(deps): update ghcr.io/jdx/mise docker tag to v2026.9.12 (#31714) 2026-09-24 15:03:35 +02:00
renovate[bot]andDaniel Dietzler e66f2c7615 chore(deps): update dependency eslint-plugin-unicorn to v75 (#31721)
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2026-09-23 18:19:03 +00:00
renovate[bot]andDaniel Dietzler 92f498d23d fix(deps): update typescript-projects (#31717)
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2026-09-23 18:18:11 +02:00
Aditya Raj Singh 351ddff320 fix(server): compare integrity paths independently of unicode normalization (#31102)
* fix(server): compare integrity paths independently of unicode normalization

The untracked-file check compared on-disk paths against the database
byte for byte. macOS writes decomposed (NFD) filenames while an upload
stores the composed (NFC) form, so every asset with a non-ASCII name
came back from getAssetPathsByPaths under a different byte sequence,
was never removed from the candidate set, and was reported as an
untracked file. One reporter saw 14k false positives on a 55k library.

Look the batch up under both normal forms and key the comparison on
NFC, so a path that differs only in normalization is recognised as
tracked.

* test(server): cover normalized integrity lookup
2026-09-23 06:42:31 -04:00
renovate[bot]andJason Rasmussen 959d46c654 chore(deps): update dependency @types/node to ^24.13.5 (#31713)
* chore(deps): update dependency @types/node to ^24.13.5

* fix: add checksum

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jason Rasmussen <jason@rasm.me>
2026-09-22 20:59:20 +00:00
Alex d6d0947383 feat: birthday memories (#30831) 2026-09-22 04:30:43 -05:00
Makar Ivashko 64a2fc8259 perf: faster server cold start (#31630)
low hanging fruits for the speedup of immich startup
1. don't wait 1s if we actually got the lock
2. move full import from the top of the file to be imported lazily in the branch
2026-09-18 08:26:09 -04:00
Jason Rasmussen 54e7ffa4e6 feat: asset face v3 (#31591) 2026-09-16 16:27:01 -04:00
Daniel Dietzler ab5a9ae48c chore: drop tsc-alias (#31583) 2026-09-15 18:10:07 +02:00
Daniel Dietzler e35aa718d9 fix: skip faces of other users when reassigning faces (#31580) 2026-09-15 17:27:46 +02:00
renovate[bot] 9e0362dca0 chore(deps): update base-image to v202609151314 (#31585) 2026-09-15 13:42:38 +00:00