Commit Graph
3472 Commits
Author SHA1 Message Date
Santo ShakilandCodex a3a52a43ca fix(mobile): show 10-bit heic and avif originals on ios (#32821)
(cherry picked from commit ca25e8becc4bfb18d63ca7920d26a984eae0e16f)
2026-10-31 07:23:57 +03:00
YarosandCodex e708a80474 fix(mobile): don't block startup when offline (#32652)
* fix(mobile): don't block startup when offline

* chore: implement suggestions

---------

Co-authored-by: Santo Shakil <santoshakil@users.noreply.github.com>
(cherry picked from commit 32b137ab3713545324873f552adb51b9ef2aecde)
2026-10-31 07:22:45 +03:00
Jason RasmussenandCodex 11900d5a8c chore: add CLAUDE.md (#32801)
* chore: add CLAUDE.md

* chore: pr feedback

* chore: contributing guideline rules

* chore: pr feedback

(cherry picked from commit fc30140e6ec313c94405e7ca4fbab8096dc1c6c7)
2026-10-31 07:22:45 +03:00
immich-push-o-matic[bot]andCodex 5dfa7214df chore: version v3.4.0-rc.0
(cherry picked from commit 81778c8c4a9e015511af21eada4bbf829296580d)
2026-10-31 07:22:44 +03:00
Paul MaklesandCodex 925aaed54c feat: backups (#32268)
Signed-off-by: izzy <me@insrt.uk>
Co-authored-by: Zack Pollard <zack@futo.org>
(cherry picked from commit 177b57b689be293bad96b8092e473dc03e068e9c)
2026-10-31 07:21:01 +03:00
Codex 132af2fc74 Prepare local14 web and Android release
Build Mobile / pre-job (push) Canceled after 0s
CLI Build / CLI Publish (push) Canceled after 0s
CodeQL / Analyze (javascript) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
Docker / pre-job (push) Canceled after 0s
Docs build / pre-job (push) Canceled after 0s
Migration Order / Verify migration ORDER (push) Canceled after 0s
Static Code Analysis / pre-job (push) Canceled after 0s
Test / pre-job (push) Canceled after 0s
Test / ShellCheck (push) Canceled after 0s
Test / OpenAPI Clients (push) Canceled after 0s
Test / SQL Schema Checks (push) Canceled after 0s
Build Mobile / Build and sign Android (push) Canceled after 0s
Build Mobile / Build and sign iOS (push) Canceled after 0s
CLI Build / Docker (push) Canceled after 0s
Docker / Re-Tag ML (armnn, immich-machine-learning, linux/arm64, -armnn) (push) Canceled after 0s
Docker / Re-Tag ML (cpu, immich-machine-learning) (push) Canceled after 0s
Docker / Re-Tag ML (cuda, immich-machine-learning, linux/amd64, -cuda) (push) Canceled after 0s
Docker / Re-Tag ML (openvino, immich-machine-learning, linux/amd64, {"linux/amd64": "pokedex-large"}, -openvino) (push) Canceled after 0s
Docker / Re-Tag ML (rknn, immich-machine-learning, linux/arm64, -rknn) (push) Canceled after 0s
Docker / Re-Tag ML (rocm, immich-machine-learning, linux/amd64, {"linux/amd64": "pokedex-large"}, -rocm) (push) Canceled after 0s
Docker / Re-Tag Server (push) Canceled after 0s
Docker / Build and Push ML (armnn, immich-machine-learning, linux/arm64, -armnn) (push) Canceled after 0s
Docker / Build and Push ML (cpu, immich-machine-learning) (push) Canceled after 0s
Docker / Build and Push ML (cuda, immich-machine-learning, linux/amd64, -cuda) (push) Canceled after 0s
Docker / Build and Push ML (openvino, immich-machine-learning, linux/amd64, {"linux/amd64": "pokedex-large"}, -openvino) (push) Canceled after 0s
Docker / Build and Push ML (rknn, immich-machine-learning, linux/arm64, -rknn) (push) Canceled after 0s
Docker / Build and Push ML (rocm, immich-machine-learning, linux/amd64, {"linux/amd64": "pokedex-large"}, -rocm) (push) Canceled after 0s
Docker / Build and Push Server (push) Canceled after 0s
Docker / Mirror to Docker Hub (armnn, immich-machine-learning, linux/arm64, -armnn) (push) Canceled after 0s
Docker / Mirror to Docker Hub (cpu, immich-machine-learning) (push) Canceled after 0s
Docker / Mirror to Docker Hub (cuda, immich-machine-learning, linux/amd64, -cuda) (push) Canceled after 0s
Docker / Mirror to Docker Hub (immich-server) (push) Canceled after 0s
Docker / Mirror to Docker Hub (openvino, immich-machine-learning, linux/amd64, {"linux/amd64": "pokedex-large"}, -openvino) (push) Canceled after 0s
Docker / Mirror to Docker Hub (rknn, immich-machine-learning, linux/arm64, -rknn) (push) Canceled after 0s
Docker / Mirror to Docker Hub (rocm, immich-machine-learning, linux/amd64, {"linux/amd64": "pokedex-large"}, -rocm) (push) Canceled after 0s
Docker / Docker Build & Push Server Success (push) Canceled after 0s
Docker / Docker Build & Push ML Success (push) Canceled after 0s
Docs build / Docs Build (push) Canceled after 0s
Static Code Analysis / Run Dart Code Analysis (push) Canceled after 0s
Test / Scripts unit tests (push) Canceled after 0s
Test / Test & Lint Server (push) Canceled after 0s
Test / Unit Test CLI (push) Canceled after 0s
Test / Unit Test CLI (Windows) (push) Canceled after 0s
Test / Lint Web (push) Canceled after 0s
Test / Test Web (push) Canceled after 0s
Test / Test i18n (push) Canceled after 0s
Test / End-to-End Lint (push) Canceled after 0s
Test / Medium Tests (Server) (push) Canceled after 0s
Test / End-to-End Tests (Server & CLI) (ubuntu-24.04-arm) (push) Canceled after 0s
Test / End-to-End Tests (Server & CLI) (ubuntu-latest) (push) Canceled after 0s
Test / End-to-End Tests (Web) (ubuntu-24.04-arm) (push) Canceled after 0s
Test / End-to-End Tests (Web) (ubuntu-latest) (push) Canceled after 0s
Test / End-to-End Tests Success (push) Canceled after 0s
Test / Unit Test Mobile (push) Canceled after 0s
Test / Unit Test ML (push) Canceled after 0s
Test / .github Files Formatting (push) Canceled after 0s
2026-10-29 20:44:43 +03:00
DawidKrynskiandCodex c8a957a116 fix(mobile): use context search once server features are loaded (#31800)
Co-authored-by: Dawid Krynski <188586034+DawidKrynski@users.noreply.github.com>
Co-authored-by: Santo Shakil <santoshakil@users.noreply.github.com>
(cherry picked from commit be8e42526700d9ec5e72061e33f5039d50e40bae)
2026-10-29 20:43:01 +03:00
Ethan FerrierandCodex f7697264ed fix(mobile): ocr delete by asset (#32611)
(cherry picked from commit 56ed326acda2220fc7e3b21b17b3c8d24daf99cc)
2026-10-29 20:43:01 +03:00
Jason RasmussenandCodex 648dea2072 chore: remove isar reference (#32800)
(cherry picked from commit 323e750eb50ee0728110c8a1c5902c63cbda5850)
2026-10-29 20:42:12 +03:00
Brent SaltzmanandCodex 3c383e46d1 fix: avoid duplicate manufacturer in camera name (#32657)
* fix(web,mobile): avoid duplicate manufacturer in camera name

Some cameras (e.g. Canon) already include the manufacturer in the EXIF
model, which made the details view show "Canon Canon EOS R6m2". Only
prepend the make when the model does not already start with it.

* refactor(web,mobile): address review feedback on camera name helper

- Use toLowerCase instead of toLocaleLowerCase for the comparison
- Hoist the whitespace regex to a static in the Dart helper
- Match any word of the make, so "EASTMAN KODAK COMPANY" with
  "KODAK EASYSHARE C875" is deduplicated too
- Compute the camera name once in DetailPanel

---------

Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
(cherry picked from commit cb2ea1e308d8a85f2f340f50b646f161d3528670)
2026-10-29 20:41:02 +03:00
Codex e8c1fd297d Prepare local13 release and align dependency lockfile 2026-10-28 20:46:38 +03:00
shenlongandCodex c581bce715 fix: include partner shared assets for people even without showInTimeline (#32675)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
(cherry picked from commit 21ed7454836073a646273c7475b347e043439a90)
2026-10-28 20:41:41 +03:00
Santo ShakilandCodex 3127dbec71 refactor(mobile): move the native core decoders into a codecs crate (#32765)
* refactor(mobile): move the native core decoders into a codecs crate

* make Format private

* rename the decode export and options for what they hold

* drop the unused ios and server groups and rename the target params

(cherry picked from commit 11bf875313782b8a9e10269bb6f85226b7bdcd72)
2026-10-28 20:40:53 +03:00
Codex 54881128d6 Adapt local features and dependency locks for SvelteKit 3 and local12 2026-10-27 23:17:33 +03:00
Kairui LiuandCodex c482c1e53e fix: preserve stack primary asset selection (#31380)
* fix: preserve stack primary asset selection

* test: select stacked assets by id

* chore: limit dart formatting changes

* fix: address stack viewer review feedback

* fix: align stack ordering with server

* fix: keep stack primary asset first

---------

Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com>
(cherry picked from commit 5a5d7be11084969c3c00a294ce6c0527042f88e7)
2026-10-27 23:12:13 +03:00
Codex 621504fcda Prepare local11 release and cover concurrent JPEG XL color transforms 2026-10-26 22:38:18 +03:00
YarosandCodex 919a4fd9ef fix: watch asset delete/archive in search (#31343)
* fix: watch asset delete/archive in search

* fix: restore via toast

* chore: format

* refactor: simplify search asset pruning

* chore: implement suggestions

* chore: more suggestions

* fix: mounted check

(cherry picked from commit f7b8ae5da370f947223b006618e5b4e5fb42fd33)
2026-10-26 22:35:01 +03:00
Codex a5b2dcb3c2 Define the JPEG XL decode bound for the local Android image pipeline 2026-10-24 12:21:17 +03:00
Codex f94fbfe14e Integrate native core build prerequisites for local Android release 2026-10-24 11:58:44 +03:00
MertandCodex 70ef2884f0 feat(mobile): jxl decoder (#32592) 2026-10-24 11:52:05 +03:00
Santo ShakilandCodex 918d66fbdb fix(mobile): cancel cronet image requests only between reads (#32659)
* fix(mobile): cancel cronet image requests only between reads

* rename cronet callback flags
2026-10-24 11:51:43 +03:00
Codex ca4d8d5a7a Prepare 3.3.5-local.8 and complete deletion regression test imports 2026-10-22 20:44:45 +03:00
gitTurbofliegerandCodex 3aa65809b1 fix(mobile): stop trashing assets after deletion cancellation (#32522)
* fix(mobile): stop trashing assets after deletion cancellation

* fix(mobile): handle Android system delete cancellation

* fix(mobile): simplify

* simplify test

(cherry picked from commit 3517973b8a316c8fb729bf82fe4bbf95884b9146)
2026-10-22 20:43:53 +03:00
Santo ShakilandCodex 99a7830f6c fix(mobile): bump sqlite3_connection_pool to 0.2.13 (#32662)
* fix(mobile): bump sqlite3_connection_pool to 0.2.13

* fix(mobile): require sqlite3_connection_pool 0.2.13

(cherry picked from commit 539499ee5e3843d338287edcf6808c1820c74800)
2026-10-22 20:43:14 +03:00
Codex e04e70db2e Close startup log connection and use portable export filenames 2026-10-22 05:39:19 +03:00
Codex 3efc91ff9a Prepare localized 3.3.5-local.7 release with updated dependencies 2026-10-22 05:29:35 +03:00
Clément DelestreandCodex 7c07c001cd fix(mobile): keep header image when starting selection (#32356)
* fix(mobile): keep header image when starting selection

* fix(mobile): fade out header actions during selection

Hide the back button and person options menu with the same fade as the
timeline app bar, and block taps on the person name and birthday while
assets are selected.

---------

Co-authored-by: Santo Shakil <santoshakil@users.noreply.github.com>
(cherry picked from commit 745bdd2edf72ce0f75e748e2d68c37b6ea196cc5)
2026-10-22 05:25:45 +03:00
Jason RasmussenandCodex b12be9119f feat: passkeys (#32194)
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
(cherry picked from commit 6233a79bf7e4cec11e9ea1094908ff3b228fcbe0)
2026-10-22 05:23:22 +03:00
Santo ShakilandCodex e66d5a70e7 fix(mobile): hide server addresses in upload error logs (#32550)
* fix(mobile): hide server addresses in upload error logs

* fix(mobile): remove duplicate upload failure logs

(cherry picked from commit 211773f778ca24ac33e64d46e50b3ab46702c851)
2026-10-22 05:22:44 +03:00
Adam GastineauandCodex 564b720bce fix(mobile): prevent crash when generated/openapi has unexpected files (#32599)
(cherry picked from commit 4f38929bdaaa88d48429ac642abf9ec292e3ca82)
2026-10-22 05:21:00 +03:00
Tiago DeaneandCodex 6aaebd167d feat: option for mobile smooth timeline scrubbing (#32552)
* feat(mobile): add smooth timeline scrubbing setting

* refactor: read smooth scrubbing setting where the scrubber is built

(cherry picked from commit 222d9276d31e890d3d9beb6dae5d96a6f6ab52f0)
2026-10-22 05:21:00 +03:00
Mateus NavarroandCodex 434b7efd66 fix(mobile): border radius on list tiles in library page (#32476) (#32503)
* fix(mobile): standardize list tile radius in Quick Access Button List when pressed (#32476)

* fix(mobile): adjust list tile border radius based on partner presence in Quick Access Button List

* refactor(mobile): improve way to handle border radius of items in the QuickAccessButtonList

(cherry picked from commit fff2bd73f9b38a5a5b510ea69a77a470dd1acf56)
2026-10-22 05:18:40 +03:00
Santo ShakilandCodex 814cc14f88 feat(mobile): share logs from the startup error screen (#32288)
* fix(mobile): hide server addresses and tokens in shared logs

* feat(mobile): share logs from the startup error screen

* use only the shared logs patterns on the startup error screen

* fix(mobile): stop writing server urls and oauth values to the log

* fix(mobile): redact logs where they are read

* redact the startup error screen share

* fix(mobile): hide server addresses and tokens in shared logs

* fix(mobile): stop writing server urls and oauth values to the log

* fix(mobile): redact logs where they are read

* fix(mobile): redact logs when they are written

* log the startup error and share it as a log row

* fix(mobile): hide ipv6 addresses and name labels after their settings

* comment why the startup error row is only added here

(cherry picked from commit f7fa8a3a2d2c3b0ab59f90fbcc3c230c58a2aede)
2026-10-22 05:18:40 +03:00
Santo ShakilandCodex 59bf69f1d5 fix(mobile): hide server addresses and tokens in shared logs (#32287)
* fix(mobile): hide server addresses and tokens in shared logs

* fix(mobile): stop writing server urls and oauth values to the log

* fix(mobile): redact logs where they are read

* fix(mobile): redact logs when they are written

* fix(mobile): hide ipv6 addresses and name labels after their settings

(cherry picked from commit 89d2de1274a3e1a70a6169f4cfe1feebfb327791)
2026-10-22 05:18:40 +03:00
Codex 9533e7c67a test: adapt local regressions to Vitest 5 and verify date fallback 2026-10-19 20:43:27 +03:00
Codex 32b55555b5 chore(release): prepare local.6 dependency lock and Android version 2026-10-19 20:33:59 +03:00
Santo ShakilandCodex f64adb5b36 fix(mobile): fallback localizations for unsupported locales (#32452)
* fix(mobile): fallback localizations for unsupported locales

* load the default delegates with an explicit english locale
2026-10-19 20:27:43 +03:00
f3db8d8b59 fix: unsupported locale for date format (#32267)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
Co-authored-by: Santo Shakil <shakil.mezbah@gmail.com>
2026-10-19 20:27:19 +03:00
MaximALandCodex 9af9d35040 chore(mobile): Change x to typographically correct × (&times; in HTML) symbol (#32518)
Similar to #31304
2026-10-19 20:27:19 +03:00
Codex 43b94defd9 fix(mobile): use JSON maps for nested config compatibility defaults 2026-10-17 19:47:28 +03:00
Codex 85820ca45e test: cover user admin queries and config compatibility for local.4 2026-10-17 19:37:37 +03:00
Jason RasmussenandCodex 36a6e033aa fix: public config properties (#32500)
fix: public config visibility
2026-10-17 19:32:36 +03:00
Jason RasmussenandCodex 4341a2f34c fix: smpt email visibility (#32492) 2026-10-17 19:32:36 +03:00
Codex 4649313c29 chore: prepare local.3 release with query regression coverage 2026-10-16 20:58:44 +03:00
Dag StuanandCodex 92ab6e9c41 fix(mobile): Keep asset viewer controls hidden if they were hidden before zooming. (#31832) 2026-10-16 20:51:28 +03:00
Lee, Hyo junandCodex 9e89e65d23 fix(mobile): sort time zones by name within the same offset (#32087) 2026-10-16 20:51:28 +03:00
Santo ShakilandCodex 12196bef4f fix(mobile): save typed coordinates in the location picker (#32460) 2026-10-16 20:51:28 +03:00
Codex 6665bb4796 feat: add verified Android and web update checks in settings 2026-10-15 14:54:44 +03:00
Lee, Hyo junandCodex 42c84fdb2c fix(mobile): render random widget images at the widget's display resolution (#32215)
* fix(mobile): render random widget images at the widget's display resolution

* fix(mobile): cap widget image decode size for panoramas

(cherry picked from commit 3d07c061a38275f8b0d406e1ecc67446497be0e2)
2026-10-15 14:32:48 +03:00
Codex 3b04c1c4dc test(mobile): mock wakelock binary transport for video regression checks 2026-10-14 21:42:22 +03:00