Commit Graph
10903 Commits
Author SHA1 Message Date
bo0tzz 8a00ecda43 chore: drop backport label description (#31062) 2026-08-27 22:52:41 +02:00
bo0tzz b912dcfab8 fix: avoid a concurrency deadlock when drafting a release (#31069) 2026-08-27 20:31:02 +00:00
bo0tzz bbf201d16b fix: run codeql and weblate checks on release branches (#31065) 2026-08-27 20:17:42 +00:00
bo0tzz 5baf181409 fix: build release branch images instead of re-tagging main (#31063) 2026-08-27 22:01:31 +02:00
immich-push-o-matic[bot] e61312084b chore: version v3.2.0-rc.0 2026-08-27 19:43:45 +00:00
bo0tzz b8400dfe30 fix: check out the branch tip when preparing a release (#31061) 2026-08-27 21:40:55 +02:00
+81 7078734df8 chore(web): update translations (#30296)
Translate-URL: https://hosted.weblate.org/projects/immich/immich/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/be/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/bg/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/bn/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ca/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/cs/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/de/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/de_CH/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/en_GB/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/eo/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/es/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/et/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/eu/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/fa/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/fr/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ga/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/gl/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/hr/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/hu/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/id/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/it/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ja/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/km/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/kn/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ko/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/lt/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/lv/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ml/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/mn/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ms/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ne/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/nl/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/pl/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/pt/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ro/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ru/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/sk/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/sl/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/sq/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/sv/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/th/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/tl/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/tr/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/uk/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/vi/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/yue_Hant/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/zh_Hant/
Translation: Immich/immich

Co-authored-by: 4liceD <4liced@4liced.com>
Co-authored-by: 4liceD <aliced@digital-rabbithole.com>
Co-authored-by: Adam Havránek <adamhavra@seznam.cz>
Co-authored-by: Aindriú Mac Giolla Eoin <aindriu80@gmail.com>
Co-authored-by: Akhil Raj <89210430+akhi07rx@users.noreply.github.com>
Co-authored-by: Arco <codingarco@gmail.com>
Co-authored-by: Ardev Prisec <prisecardev@gmail.com>
Co-authored-by: Arif Budiman <arifpedia@gmail.com>
Co-authored-by: Arkaitz Ortega <arkaitz_ortega@hotmail.com>
Co-authored-by: Arnie97 <arnie97@gmail.com>
Co-authored-by: Arseniy <67965122+ArsenijN@users.noreply.github.com>
Co-authored-by: Azharul Haque <haque@azharul.com>
Co-authored-by: Bat-Uyanga Batdelger <batuyanga@gmail.com>
Co-authored-by: Brady87 <thomasbrard87@gmail.com>
Co-authored-by: Brian <brianlch465@gmail.com>
Co-authored-by: Bruno Silva <brunosilvapaz@gmail.com>
Co-authored-by: Colin <colin-moess@mail.de>
Co-authored-by: CoolAEW <alf.einar.walso@gmail.com>
Co-authored-by: Denis Pacquier <denis.pacquier@gmail.com>
Co-authored-by: DevServs <bonov@mail.ru>
Co-authored-by: Eduard Ereza Martínez <eduard@ereza.cat>
Co-authored-by: Emil Warelius <emilwarelius@gmail.com>
Co-authored-by: Fjuro <fjuro@users.noreply.hosted.weblate.org>
Co-authored-by: Frank Paul Silye <frankps@gmail.com>
Co-authored-by: HackingAll <hacking.all.YT@gmail.com>
Co-authored-by: Hans Cats <hanscats@gmail.com>
Co-authored-by: Happy <59247878+happy2452354@users.noreply.github.com>
Co-authored-by: Henry Wong <dewongway@gmail.com>
Co-authored-by: Hurricane_32 <rodrigorimo@hotmail.com>
Co-authored-by: Håkon Antonsen <haakon@antons1.net>
Co-authored-by: Hồ Nhất Duy <axicenia@gmail.com>
Co-authored-by: Indrek Haav <indrekhaav@users.noreply.hosted.weblate.org>
Co-authored-by: Ivan Dimitrov <idimitrov08@gmail.com>
Co-authored-by: Izoret <izoret@proton.me>
Co-authored-by: Jonatan Nyberg <nickwick@users.noreply.hosted.weblate.org>
Co-authored-by: Jozef Gaal <preklady@mayday.sk>
Co-authored-by: Kanchnak Khorn <Kanchnakkhorn@gmail.com>
Co-authored-by: Klenner Martins Barros <klenne.al@gmail.com>
Co-authored-by: Leo Bottaro <github@leobottaro.com>
Co-authored-by: Li-Sheng Chou <choupeanut@gmail.com>
Co-authored-by: Linas Samuchovas <linsamuchovas@gmail.com>
Co-authored-by: Liviu Roman <contact@liviuroman.com>
Co-authored-by: Lucas Pinto <github@lucks.pt>
Co-authored-by: Luis Fernando Illapa <moxb@outlook.es>
Co-authored-by: Marco C. <cavenati.marco@gmail.com>
Co-authored-by: Matjaž T. <matjaz@moj-svet.si>
Co-authored-by: Michal Šmahel <48548230+ceskyDJ@users.noreply.github.com>
Co-authored-by: Mārtiņš Bruņenieks <martinsb@gmail.com>
Co-authored-by: Nagy Krisztián <nkgy17@gmail.com>
Co-authored-by: Natale Daniele Musumeci <ndmusumeci@gmail.com>
Co-authored-by: Nicola Bortoletto <nicola.bortoletto@live.com>
Co-authored-by: Olaf Nielsen <solluh@mail.de>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: PIRANY <paul@kunad.eu>
Co-authored-by: PPNplus <ppnplus@protonmail.com>
Co-authored-by: PalmyreB <palmyre.baroth@live.fr>
Co-authored-by: Pavel Borecki <pavel.borecki@gmail.com>
Co-authored-by: Pavel Miniutka <pavel.miniutka@gmail.com>
Co-authored-by: Radoslav <radoslavorlov@gmail.com>
Co-authored-by: Shawn <xiaxinx@gmail.com>
Co-authored-by: Shayan <shayanvonduering@gmail.com>
Co-authored-by: Simone Ognibene <ognibene2001@gmail.com>
Co-authored-by: Skanda <skillwiz94@gmail.com>
Co-authored-by: Syahmi Azhar <prsyahmi@gmail.com>
Co-authored-by: Sylvain Pichon <service@spichon.fr>
Co-authored-by: Tacyd <matkob1002@gmail.com>
Co-authored-by: Thiago S. Marcelino <thiagodsmarcelino@gmail.com>
Co-authored-by: Tim Morley <weblate.3919org@timsk.org>
Co-authored-by: Timon Fiedler <fiedlertimon@gmail.com>
Co-authored-by: Tom Haelbich <haelbito@outlook.com>
Co-authored-by: Tomislav Renić <trenic@gmail.com>
Co-authored-by: User 123456789 <user123456789@users.noreply.hosted.weblate.org>
Co-authored-by: Usinouv <alexandre@dhont.me>
Co-authored-by: Yoshi <yyyyyoshihoko@gmail.com>
Co-authored-by: Yusaku Mizobuchi <yusakum1311@gmail.com>
Co-authored-by: Zadkiel AHARONIAN <zadkiel.aharonian@gmail.com>
Co-authored-by: bittin1ddc447d824349b2 <bittin@reimu.nl>
Co-authored-by: deva <devaxiv254@applamos.com>
Co-authored-by: hunnguye <nm_hung93@yahoo.de>
Co-authored-by: lanew <pro.daisy173@passinbox.com>
Co-authored-by: muziqaz <muziqaz@users.noreply.hosted.weblate.org>
Co-authored-by: noob translator <nzbnoob.overdress150@passinbox.com>
Co-authored-by: reducedradius <137701630+flytothehighest@users.noreply.github.com>
Co-authored-by: rubes <mail@armd.one>
Co-authored-by: santhosh kumar <santhoshbhandari3008@gmail.com>
Co-authored-by: tikg <tikg@users.noreply.hosted.weblate.org>
Co-authored-by: tulioveneno <tulioveneno@gmail.com>
Co-authored-by: waclaw66 <waclaw66@seznam.cz>
Co-authored-by: zurachu <zurachu@gmail.com>
Co-authored-by: 정동걸 <i.jdk.dev@gmail.com>
2026-08-27 19:24:48 +00:00
shenlongandshenlong-tanwen 22a56a79f2 fix: ios map settings sheet (#31060)
fix: ios map settings

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-08-28 00:27:02 +05:30
Timon 8b3d6b320b feat(server): new search API (#30179) 2026-08-27 20:39:55 +02:00
rickytrevor 25c60ef99e feat(web): view assets in map viewport (#27492) 2026-08-27 20:39:32 +02:00
andy.mp3andDaniel Dietzler 1db4677cf8 feat: same-second photos now sub-sort by filename (#29528)
* Update sorting

Updates the sorting to sort
1. First by timeCreatedAt, but then
2. By filename.

* Push tsts

* Sync SQL

* Formatting fixes

---------

Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com>
2026-08-27 13:46:10 -04:00
Mimi 91d362eb9f fix: external library statistics for excluded assets (#28462)
Fix external library statistics for excluded assets
2026-08-27 17:34:10 +00:00
Aviatorpaal 48b5f9c6a6 docs: update remote-machine-learning.md (#28728)
Update remote-machine-learning.md

To include the default URL, should someone need it (as the default entry is not easily recreated otherwise).
2026-08-27 13:29:19 -04:00
Jason Rasmussen b3eb0b59ee fix(web): map (#31056)
* fix(web): map without set start/end dates

* fix(web): invalid timeline map options
2026-08-27 13:24:33 -04:00
brn-linandDaniel Dietzler 84adce7d43 fix(web): misleading toast notification (#30976)
* Added the proper toast for each scenario in the if/else statement instead of only having toastManager.primary() for all scenarios.

* Created a test file for album.service.ts.

* chore: cleanup

---------

Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2026-08-27 13:08:54 -04:00
Aditya Raj Singh dc3d6eeec4 fix(server): kill pg_dump when a backup fails so it stops holding table locks (#30851)
* fix(server): kill the child process when a spawned duplex stream is destroyed

A failed database backup left pg_dump running. The stream was destroyed but
the child was not, so the dump sat idle in transaction holding AccessShareLock
on every table until someone terminated it by hand. One report had it survive
five days and block DDL from another application on the same Postgres.

Destroying the duplex now kills the child, which also covers pipeline()
tearing every stream down when one of them fails.

The backup service additionally holds references to the streams it spawns so
the error path can destroy them. createWriteStream can throw before pipeline()
takes ownership, which is how the reported ENOENT on an unmounted backup volume
left nothing referencing the running pg_dump.

* chore(server): drop the explanatory comments from the backup teardown fix

Requested in review. The reasoning lives in the commit message and the PR
body, which is where it belongs.
2026-08-27 12:15:45 -04:00
Daniel Dietzler 302270a3b3 fix: draggable Immich logo (#31055) 2026-08-27 17:52:53 +02:00
renovate[bot] 8178a01522 chore(deps): update ghcr.io/immich-app/base-server-dev docker tag to v202608251107 (#31054) 2026-08-27 15:29:36 +00:00
PriyanshuandpriyanshuANDcoad f16fdafefc fix(web): preserve slideshow pause state when viewing video slides (#30278)
Co-authored-by: priyanshuANDcoad <priyanshu23154050@akgec.ac.in>
2026-08-27 16:54:44 +02:00
bo0tzz 2ba343e138 fix: only run backport for labelled pull requests (#31052) 2026-08-27 14:39:55 +00:00
Daniel Dietzler c7d24321bf feat: allow users to re-run facial recognition for their group (#30965) 2026-08-27 16:38:07 +02:00
Zlendy 6eb1c93882 fix(web): do not play memory video if the MemoryVideoViewer element is not visible (#30947) 2026-08-27 15:27:27 +02:00
bo0tzz b22483de33 feat: backport pull requests to release branches (#31035) 2026-08-27 15:10:07 +02:00
bo0tzz a366db1494 feat: cut releases from release branches (#31033) 2026-08-27 15:10:07 +02:00
bo0tzz 3be6b12292 feat: gate release publishing behind an approval (#31025) 2026-08-27 15:10:07 +02:00
bo0tzz 0179e612a1 feat: split release preparation from drafting (#31024) 2026-08-27 15:10:06 +02:00
Timon 293dd5889c chore: bump openapi-generator version to v7.25 (#30995) 2026-08-27 08:44:49 -04:00
05e84dd5db fix(web): restore timeline scroll when the asset id cannot be resolved (#30916)
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com>
2026-08-27 13:47:09 +02:00
renovate[bot] f46e107d16 chore(deps): update dependency opentofu to v1.12.6 (#30984) 2026-08-27 10:59:03 +00:00
renovate[bot] de04e651b4 chore(deps): update prom/prometheus docker digest to 5ce7540 (#30981) 2026-08-27 12:46:06 +02:00
renovate[bot] 6555fb29ed chore(deps): update grafana/grafana docker tag to v12.4.9-ubuntu (#30986) 2026-08-27 12:45:46 +02:00
renovate[bot] c9be4c4bd3 chore(deps): update dependency github:extism/js-pdk to v1.7.0 (#30987) 2026-08-27 12:45:18 +02:00
bo0tzz 2c0f415a56 feat: only move floating docker tags for the newest release (#31030) 2026-08-27 12:30:39 +02:00
Adam Gastineau c04c81a979 chore(mobile): remove Drift* prefixes from classes and variables (#31038)
* chore(mobile): remove Drift* prefixes from classes and variables

* Remove *Drift* from related mocks
2026-08-26 19:11:12 +00:00
renovate[bot] 093f5c070a chore(deps): update dependency pydantic-settings to v2.14.2 [security] (#29252) 2026-08-26 10:33:23 -04:00
renovate[bot] ef72f1ec5b chore(deps): update dependency pillow to v12.3.0 [security] (#30084) 2026-08-26 10:32:47 -04:00
bo0tzz 291ccdae95 feat: verify migration ORDER on every PR (#30998) 2026-08-26 15:25:00 +02:00
bo0tzz a8c79469e5 feat(server): document and guard migration ORDER maintenance (#30997)
feat(server): add a migrations ORDER manifest
2026-08-26 15:24:59 +02:00
bo0tzz f264573847 fix(server): point the migrations mise task at sql-tools (#30996) 2026-08-26 15:24:59 +02:00
Jason Rasmussen 13562d80a4 chore: bump sql-tools (#31000) 2026-08-26 14:59:47 +02:00
Yarosandshenlong-tanwen 0f821a7338 feat(mobile): map asset number (#28911)
* feat(mobile): map asset number

* chore: use totalAssets from service

* refactor: separate widget

* fix: async dispose

* chore: i18n

* chore: add back old i18n key

* bring back reactivity

---------

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-08-26 05:59:27 +00:00
Mert dc688edb6f refactor(ml): direct ocr processing (#31016) 2026-08-25 23:13:47 -04:00
bo0tzz 6221e29c70 fix: throw a typed error on malformed api responses (#31006)
* fix: throw a typed error on malformed api responses

* fix: drop response body parse check

* fix(web): keep json response validation when overriding fetch (#31008)

* fix(cli): report malformed api responses (#31007)
2026-08-26 00:38:39 +00:00
Lauritz Tiesteandshenlong-tanwen 4ff7148f85 feat(mobile): show asset owner in asset details (#29302)
* feat(mobile): show asset owner in asset details

* refactor(mobile): fetch asset owner from local DB instead of API

* cleanup

* review changes

---------

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-08-25 20:40:05 +00:00
Damiano Ferrari 290861e347 fix(mobile): aspect ratio change (#30939)
* fix(mobile): aspect ratio change

* chore: explain the change
2026-08-25 13:52:05 -05:00
renovate[bot] caa96dda4f chore(deps): update docker.io/valkey/valkey:9 docker digest to 70739f8 (#30980) 2026-08-25 20:27:15 +02:00
renovate[bot]andDaniel Dietzler aa6e4d9173 fix(deps): update typescript-projects (#30990)
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2026-08-25 20:17:24 +02:00
renovate[bot] 5d84e16bc1 chore(deps): update ghcr.io/jdx/mise docker tag to v2026.8.12 (#30985) 2026-08-25 20:11:24 +02:00
Daniel Dietzler 9e3d9a7770 fix: thumbnail generation for specific SVGs (#30908) 2026-08-25 19:57:48 +02:00
bo0tzz fbd5dc2c61 fix: don't swallow fetch errors (#30496) 2026-08-25 17:47:25 +02:00