fix: include partner shared assets for people even without showInTimeline (#32219)
(cherry picked from commit 5fa7789e2672350c76b9b026f2b8c2bc3ffdf7c4)
Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com>
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.
(cherry picked from commit 69f06a29ca67613355348172480054ebd7e09f6c)
Co-authored-by: Lin, Chiang-Yu <110763842+RxChi1d@users.noreply.github.com>
Co-authored-by: Mert <101130780+mertalev@users.noreply.github.com>
fix(server): include album owner for album shared links (#31837)
(cherry picked from commit fd97f3e5a62a4af1a8e17d2e766eb952eefae24a)
Co-authored-by: Mees Frensel <33722705+meesfrensel@users.noreply.github.com>
fix(server): dont queue unneeded jobs when no xmp file exists (#31927)
(cherry picked from commit 32e3239ba32f3f89b1b0b996c103333927b3324a)
Co-authored-by: Jonathan Jogenfors <jonathan@jogenfors.se>
fix(server): make "limit" paramter use z.coerce (#31899)
(cherry picked from commit c9a3248d714cb6e6f9aff068355c5a3611c3ba64)
Co-authored-by: aviv926 <51673860+aviv926@users.noreply.github.com>
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
(cherry picked from commit aec7c0d97bd6679b2b300e72e870b83c5ef13c85)
Co-authored-by: Jason Rasmussen <jason@rasm.me>
feat(server): create all for owner (#31924)
(cherry picked from commit f77847dda0a72f138653b980a52ed9307372e02a)
Co-authored-by: Jason Rasmussen <jason@rasm.me>
fix(server): person birthdate timezone bug (#31901)
(cherry picked from commit 4b1b1f8c2ab70db165088d857906420b967a9241)
Co-authored-by: Jason Rasmussen <jason@rasm.me>
* 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
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