Commit Graph
615 Commits
Author SHA1 Message Date
Daniel DietzlerandGitHub 34ce68095d chore: upgrade to kysely 0.28.11 (#26744) 2026-03-11 16:17:31 +01:00
Michel HeusschenandGitHub 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
Daniel DietzlerandGitHub d325231df2 chore: refactor test factories (#26804) 2026-03-09 20:47:03 +00:00
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 FrenselandGitHub 9b642633c1 fix(server): clarify transcoding bitrate policy (#26711) 2026-03-05 12:13:29 -05:00
Min IdzelisandGitHub 13c4260a1f fix: resolve medium test asset paths relative to file location (#26683) 2026-03-04 08:23:58 -05:00
Min IdzelisandGitHub 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
44eeb1e088 fix: implement existing withStacked on searchAssetBuilder (#26607)
Co-authored-by: Joe <code@joebabbitt.com>
2026-03-03 11:41:29 +00:00
Min IdzelisandGitHub 84abad564e fix(server): deduplicate shared links in getAll query (#26395) 2026-03-01 14:41:15 -05:00
334fc250d3 fix(server): Live Photo migration bug when album is in template (#25329)
Co-authored-by: Nikhil Alapati <nikhilalapati@meta.com>
2026-02-27 12:46:55 +01:00
Brandon WeesandGitHub 3c9fb651d0 feat(server): SyncAssetEditV1 (#26446)
* feat: SyncAssetEditV1

* fix: audit table import

* fix: sql tools table fetch

* fix: medium tests (wip)

* fix: circ dependency

* chore: finalize tests

* chore: codegen/lint

* fix: code review
2026-02-25 18:12:41 +00:00
Daniel DietzlerandGitHub ca6c486a80 refactor: person stubs (#26512) 2026-02-25 08:56:00 -05:00
f07e2b58f0 refactor: prefer buffer (#26469)
* refactor: prefer buffer

* Update server/src/schema/tables/session.table.ts

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

---------

Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com>
2026-02-24 13:26:36 +00:00
Min IdzelisandGitHub d14d0a9b9b feat: add isTransparent to db (#26413) 2026-02-23 21:33:52 +00:00
Brandon WeesandGitHub e5722c525b feat: getAssetEdits respond with edit IDs (#26445)
* feat: getAssetEdits respond with edit IDs

* chore: cleanup typings for edit API

* chore: cleanup types with jason

* fix: openapi sync

* fix: factory
2026-02-23 20:57:57 +00:00
Brandon WeesandGitHub e633bc3f24 fix: missing deletedAt and isVisible columns on mobile (#26414)
* feat: SyncAssetV2

* feat: mobile sync handling

* feat: request correct sync object based on server version

* fix: mobile queries

* chore: sync sql

* fix: test

* chore: switch to mapper

* fix: sql sync
2026-02-23 09:50:54 -05:00
a07d7b0c82 chore: migrate to sql-tools library (#26400)
Co-authored-by: Jason Rasmussen <jason@rasm.me>
2026-02-23 09:50:16 -05:00
Min IdzelisandGitHub 430638e129 feat: warn when losing transparency during thumbnail generation (#26243)
* feat: preserve alpha

* refactor: use isTransparent naming and separate getImageMetadata

* warn instead of preserve
2026-02-23 08:16:28 -05:00
Daniel DietzlerandGitHub db4e7abf6d chore: refactor more queries (#25572)
* refactor: asset service queries

* chore: refactor more queries
2026-02-19 10:48:30 -05:00
Daniel DietzlerandGitHub fd0338f89c refactor: asset service queries (#25535) 2026-02-19 08:54:28 -05:00
Daniel DietzlerandGitHub d0ed76dc37 refactor: small face tests (#26340) 2026-02-19 08:51:18 -05:00
1f8359ead4 fix: Download the edited version when downloading multiple photos (#26259)
* fix: download the edited version when downloading multiple photos

* test: update tests

* chore: clean up

---------

Co-authored-by: Jason Rasmussen <jason@rasm.me>
2026-02-18 21:47:45 +00:00
Daniel DietzlerandGitHub 8f9ea6a171 fix: utc time zone upserts (#26258)
fix: utc timezone upserts
2026-02-17 18:59:52 +01:00
Daniel DietzlerandGitHub 7cb355279e chore: remove asset stubs (#26187) 2026-02-13 11:00:31 -05:00
Jason RasmussenandGitHub 8ef4e4d452 feat: schema-check (#25904) 2026-02-12 17:59:00 -05:00
Jason RasmussenandGitHub 72cef8b94b feat: shared link login (#25678) 2026-02-12 12:08:38 -05:00
Daniel DietzlerandGitHub 7e0356e227 refactor: more small tests (#26159) 2026-02-12 08:34:32 -05:00
Daniel DietzlerandGitHub e54678e0d6 refactor: small tests (#26141) 2026-02-11 11:49:00 -05:00
Daniel DietzlerandGitHub 222c90b7b7 chore: remove album stubs (#26130) 2026-02-11 09:12:46 -05:00
Jason RasmussenandGitHub 4c948647fc chore: asset-job medium tests (#26111) 2026-02-10 13:41:40 -05:00
Brandon WeesandGitHub 8c8b11f80c fix: person thumbnail generation on edited assets (#26112)
* fix: person thumbnail generation on edited assets

* chore: sql sync
2026-02-10 11:38:43 -06:00
Paul MaklesandGitHub caeba5063b refactor(server): move database restores code into a service (#25918)
* fix(server): use provided database name/username for restore & ensure name is not mangled

fixes #25633

Signed-off-by: izzy <me@insrt.uk>

* chore: add db switch back but with comments

Signed-off-by: izzy <me@insrt.uk>

* refactor: no need to restore database since it's not technically possible
chore: late fallback for username in parameter builder

Signed-off-by: izzy <me@insrt.uk>

* chore: type fix

Signed-off-by: izzy <me@insrt.uk>

* refactor: move db backup code into service

* test: check SQL sent to psql

* chore: remove todo

Signed-off-by: izzy <me@insrt.uk>

---------

Signed-off-by: izzy <me@insrt.uk>
2026-02-10 12:12:27 -05:00
Brandon WeesandGitHub 0886281dd8 fix: create face exif orientation handling (#26108)
* fix: handle exif orientation when creating face

* chore: tests
2026-02-10 11:30:34 -05:00
Daniel DietzlerandGitHub 71fe9192fd chore: metadata extraction date test (#26102) 2026-02-10 10:05:05 -05:00
Jason RasmussenandGitHub e3e243fa2b refactor: tests (#25987) 2026-02-07 00:47:54 +01:00
Jason RasmussenandGitHub b3820c259e refactor: test factories (#25977) 2026-02-06 16:32:50 -05:00
Daniel DietzlerandGitHub a356497d96 refactor: album service small tests (#25640) 2026-02-06 08:56:46 -05:00
092ebe01a5 fix: queue assets missing fullsize files for thumbnail regeneration (#25794)
* fix: queue assets missing fullsize files for thumbnail regeneration

* refactor: query

---------

Co-authored-by: Jason Rasmussen <jason@rasm.me>
2026-02-05 19:31:13 +00:00
Brandon WeesandGitHub 37e5968a7a fix: face and edit handling (#25738)
* fix: handle edits when creating face
2026-02-05 19:29:46 +00:00
cfc5ed5997 fix: timezone issue in tests (#25937)
* Fixed an issue where time tests fail in some timezones

* Revert previous fix and add TZ env variable to fix the issue

* Revert other changes and align TZ fix between server and web

* Revert package lock file

---------

Co-authored-by: Dion de Koning <dion@DionK01.local>
2026-02-05 19:24:23 +00:00
Daniel DietzlerandGitHub 9c098109e0 fix: time zone upserts (#25889) 2026-02-05 12:43:03 -05:00
Jason RasmussenandGitHub 6cdebdd3b3 fix(server): deleting stacked assets (#25874)
* fix(server): deleting stacked assets

* fix: log a warning when removing an empty directory fails
2026-02-04 17:33:37 +00:00
Jason RasmussenandGitHub 141be5cbc9 fix: memory generation (#25650) 2026-01-28 15:51:24 -06:00
MertandGitHub 9506398153 refactor(server): add isProgressive column (#25537)
* add isProgressive column

* don't select isProgressive by default

* linting

* exclude sidecars
2026-01-26 17:05:25 -05:00
Brandon WeesandGitHub ccc0961ba3 fix: return original thumbs when edited=false (#25485) 2026-01-23 23:12:18 -06:00
Daniel DietzlerandGitHub 984fb12ada refactor: asset media service queries (#25477) 2026-01-23 16:07:57 -05:00
Daniel DietzlerandGitHub 2792d97027 feat: more factories for small tests (#25396) 2026-01-23 10:54:04 -05:00
Daniel DietzlerandGitHub 2dcb4efc40 fix: lock tags column on update (#25435) 2026-01-21 21:20:05 -05:00
Daniel DietzlerandGitHub 184f1a6d32 fix: tag update race condition (#25371) 2026-01-21 16:30:45 +01:00
Daniel DietzlerandGitHub 1649d87360 refactor: extract isEdited into its own column in asset_file (#25358) 2026-01-21 16:08:21 +01:00