Commit Graph
3427 Commits
Author SHA1 Message Date
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
Codex d25c946c29 test(local): cover shared link access and video readiness; fix lint dependency 2026-10-14 21:37:42 +03:00
Luis NachtigallandCodex 57b2b007a8 fix(mobile): show play instead of replay button for unplayed videos (#32307)
* fix(mobile): show play instead of replay button for unplayed videos

* fix(video): clarify comment for playback status handling

(cherry picked from commit 0d1e1ffecd5df8793ee020f90ddb10d6252dd5d8)
2026-10-14 21:24:14 +03:00
Luis NachtigallandCodex 645f333d04 feat(mobile): limit max zoom by image pixel size (#32423)
* fix(mobile): limit max zoom by visible image pixels

* fix(mobile): limit max zoom by image pixel size

(cherry picked from commit b246fa7c8a458da2d89c0efa2b2a8db85182ea9c)
2026-10-14 21:24:14 +03:00
Jason RasmussenandCodex c318714fdc feat: server feature level (#32178)
* feat: server feature level

* fix: correctly compute feature level

(cherry picked from commit cc1e2363651eaff63848baad2c7932923ca66554)
2026-10-14 21:24:14 +03:00
WillandCodex 1daf922555 feat(mobile): mobile tags (#30753)
* feat(mobile): mobile tags

* fix(mobile); refactoring, replaced hook

* tag provider through asset service

* make search use a tag set

* use tag action directly

* use notification listener

* untag action

* handle untag response

* fix tests and add untag action test

* fix material error from tag picker dialog

* fix(mobile): clip tag picker tiles and update tag overflow

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
Co-authored-by: Santo Shakil <shakil.mezbah@gmail.com>
(cherry picked from commit 83c7ec50056bbefa10869c78457f8882c72275e2)
2026-10-14 21:24:13 +03:00
Codex 5d204f646f Merge tag 'v3.3.3' into codex/immich-release-20261014
# Conflicts:
#	mobile/pubspec.yaml
2026-10-14 21:24:13 +03:00
immich-push-o-matic[bot] d2dac658fe chore: version v3.3.3 2026-10-14 16:30:09 +00:00
immich-push-o-matic[bot] 3dcaa05cd7 chore: version v3.3.2 2026-10-14 16:23:04 +00:00
Codex 6f313cbef9 chore: prepare local.3 release and test event subscriptions 2026-10-13 21:59:09 +03:00
Santo ShakilandCodex def46cae2f chore(mobile): hide the database export in release builds (#32285)
(cherry picked from commit 024e8e769624c953982957d4886368dcae838a18)
2026-10-13 21:49:29 +03:00
Codex 4fdcfb7ed9 chore: prepare local web and Android release 3.3.1-local.2 2026-10-12 21:01:23 +03:00
Luis NachtigallandCodex d63fc2088f refactor(mobile): cleanup image providers (#31824)
* refactor(mobile): remove redundant cancellation checks in image providers

* refactor(mobile): extract request helpers in full image providers

(cherry picked from commit 795507cfec262f8a6a9bd3ddd6f5647781e605ca)
2026-10-12 20:39:12 +03:00
762748f9ea fix(mobile): show the memories date in every app language (#32262)
fix(mobile): show the memories date in every app language (#32259)

(cherry picked from commit 116a9436ad1f8164d9dee904551e5067d724be99)

Co-authored-by: Santo Shakil <santoshakil@users.noreply.github.com>
2026-10-09 09:04:03 +00:00
immich-push-o-matic[bot] db6e11ecc8 chore: version v3.3.1 2026-10-08 21:21:16 +00:00
f6fc530734 fix: show date on memories page (#32245)
fix: show date on memories page (#32206)

* fix: show date on memories page

* Clean up API

* Drop imports

---------


(cherry picked from commit 108a3cadbfe3b3e4305c04d8e4217aafb445f626)

Co-authored-by: Alex <alex.tran1502@gmail.com>
Co-authored-by: Adam Gastineau <adam@agg.im>
2026-10-08 20:38:58 +00:00
f7dd3ccdc6 fix(mobile): prevent rapid toggling and rerendering of cells (#32236)
fix(mobile): prevent rapid toggling and rerendering of cells (#32200)

* fix(mobile): prevent rapid toggling and rerendering of cells

* Apply Shakil's fix

(cherry picked from commit 9640d9f5d2b3cc2e0fab441401be54c0c03de4f5)

Co-authored-by: Adam Gastineau <adam@agg.im>
2026-10-08 18:16:57 +00:00
e9f171c441 fix(mobile): keep memories full screen while swiping (#32174)
fix(mobile): keep memories full screen while swiping (#32171)

(cherry picked from commit 86fed468a7f625c759072cb07a0d82accb74cf5e)

Co-authored-by: Santo Shakil <santoshakil@users.noreply.github.com>
2026-10-07 06:52:13 +00:00
immich-push-o-matic[bot] e3b1656091 chore: version v3.3.0 2026-10-06 14:57:27 +00:00
ed3073624b fix: memories mobile sync for older clients (#32167)
fix: memories mobile sync for older clients (#32150)


(cherry picked from commit 8d377bfef5a0c9d840bf2c19d155f9779387baeb)

Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com>
Co-authored-by: Santo Shakil <shakil.mezbah@gmail.com>
2026-10-06 14:10:38 +00:00
62bcb0601f feat: birthday memory on mobile (#32165)
feat: birthday memory on mobile (#32113)

* feat: birthday memory on mobile

* chore: remove yellow bg colors

* pr feedback

(cherry picked from commit 82cfc4b28b55c660d9c2da00c57437a20585a47b)

Co-authored-by: Alex <alex.tran1502@gmail.com>
2026-10-06 13:51:26 +00:00
immich-push-o-matic[bot] 20f103c4b9 chore: version v3.3.0-rc.2 2026-10-02 16:58:10 +00:00
fcc5400e36 fix(mobile): image jumps when full-res image loads during pinch or zoom animation (#32011)
fix(mobile): image jumps when full-res image loads during pinch or zoom animation (#31948)

(cherry picked from commit 007c18aec6cc9552fb7d8b7c791c41d7424876b0)

Co-authored-by: Luis Nachtigall <31982496+LeLunZ@users.noreply.github.com>
2026-10-02 08:57:56 +00:00
b9b7ddb569 fix(mobile): don't re-upload a photo the server already has (#32004)
fix(mobile): don't re-upload a photo the server already has (#31941)

(cherry picked from commit 02063972e82b1bfd17b6fc2e3b3ff39936229ea5)

Co-authored-by: Santo Shakil <santoshakil@users.noreply.github.com>
2026-10-02 07:23:29 +00:00
20472b34dc fix(mobile): don't start the foreground backup in iOS background launches (#32002)
fix(mobile): don't start the foreground backup in iOS background launches (#31943)

* fix(mobile): don't start the foreground backup in iOS background launches

* add a TODO to remove the background launch check

(cherry picked from commit 3e4492924541a0e73ea3c326fcfcfcd053871610)

Co-authored-by: Santo Shakil <santoshakil@users.noreply.github.com>
2026-10-02 07:22:41 +00:00
cb5ea76227 fix(mobile): make the iOS background batch wait for its remote sync (#32003)
fix(mobile): make the iOS background batch wait for its remote sync (#31942)

* fix(mobile): make the iOS background batch wait for its remote sync

* test onIosUpload itself, the worker reads its sync services from the providers

(cherry picked from commit ad93370f0287faafa7db615c726f32bd9e6d30e7)

Co-authored-by: Santo Shakil <santoshakil@users.noreply.github.com>
2026-10-02 07:22:19 +00:00
234cb6d19b fix(mobile): face thumbnail stuck blank after renaming a person (#32001)
fix(mobile): face thumbnail stuck blank after renaming a person (#30769)

* fix(mobile): face thumbnail stuck blank after renaming a person

* flatten the codec error guard and rework the tests around framework driven reuse

* trim the image provider tests and note the per load state rule

* keep two small image provider tests: the renamed face and a late failure of a cancelled load

* clearer image provider tests: return the created completer, comment the steps, drop the unused listener, rename to thumbWithChecksum

* use the provider constructor with a lint ignore in the cache key test

(cherry picked from commit a29153e90e127ee26ad7555f6fb7c562b97b4abe)

Co-authored-by: Santo Shakil <santoshakil@users.noreply.github.com>
2026-10-02 07:22:01 +00:00
immich-push-o-matic[bot] eace8c2809 chore: version v3.3.0-rc.1 2026-09-30 21:42:17 +00:00
c263b0d4d2 feat(mobile): editors can update album title & description (#31959)
feat(mobile): editors can update album title & description (#31954)


(cherry picked from commit cc916979502390640e186e421f84f3ce7414c884)

Co-authored-by: shenlong <139912620+shenlong-tanwen@users.noreply.github.com>
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-09-30 21:26:59 +00:00
b20bc5ed82 feat: auto-sync name changes to connected users (#31931)
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>
2026-09-30 07:53:02 +00:00
immich-push-o-matic[bot] a9d102234b chore: version v3.3.0-rc.0 2026-09-28 21:54:03 +00: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
Santo ShakilandGitHub 638b6ac553 fix(mobile): don't stack an upload with itself (#31851) 2026-09-28 22:15:04 +06:00
Luis NachtigallandGitHub 523c26e723 fix(mobile): don't clear cached initial image operation on completion (#31822) 2026-09-26 17:44:11 -04:00
Luis NachtigallandGitHub 93f65b750e fix(mobile): make cancellation in image providers consistent (#31823)
fix(mobile): handle cancellation in image providers
2026-09-26 17:39:15 -04:00
Santo ShakilandGitHub fbff5f41be fix(mobile): ask before deleting local only photos on android 10 and below (#31146)
* ask before deleting local only photos on android 10 and below

* move the delete consent prompt into _cleanupLocalAssets

* ask on android 11 as well before deleting local photos

* ask before deleting only where android shows no prompt

* split the local delete prompt into its own helper

* pick the local delete dialog in one flat branch and rename notBackedUp to isLocalOnly
2026-09-25 20:19:01 +06:00
Adam GastineauandGitHub 2ccd0effc8 chore(mobile): enable dead code CI (#31753)
* chore(mobile): enable dead code CI

* Restore accidentally removed test and set mise default
2026-09-24 06:57:06 -07:00
Santo ShakilandGitHub a4af86282d fix(mobile): resume after the app was launched in the background (#31557)
* run the first resume after a background launch with a full local sync

* keep the untouched lines of the swift file as they were

* check the background launch at the first resume even after a pause
2026-09-24 10:15:44 +06:00
Santo ShakilandGitHub 2466eaeecd fix(mobile): play the server copy when the local video file cannot be read (#31606)
* play the server copy when the local video file cannot be read

* flatten the video source choice and add tests for it

* drop the platform override from the video viewer test
2026-09-24 10:15:33 +06:00
da5c2fedbe fix: save user_version in migration transaction (#31039)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-09-23 19:14:55 +05:30
Santo ShakilandGitHub 3e2e8e0fe8 fix(mobile): retry the background backup when connectivity is restored (#30909)
* fix(mobile): retry the background backup when connectivity is restored

* return the backup result from the zone and drop the unrelated upload test

* flip the background worker bool to needsRetry

* decide the background retry from the upload callbacks

* run the background worker offline again and retry on reconnect with a separate connected gated request

* retry the background backup when any upload fails and keep one worker at a time

* always hand the retry to the connected worker and release the worker lock if startWork throws

* respect the charging only setting on the connected retry worker
2026-09-23 17:27:45 +06:00
Adam GastineauandGitHub 91247f1492 chore(mobile): migrate OCR, Tag, and UserMetadata to Store (#31704)
* chore(mobile): migrate OCR, Tag, and UserMetadata to Store

* Add comments to Tag HTTP repository

* Add mounted check
2026-09-22 18:29:33 +00:00
Adam GastineauandGitHub f367ab2121 fix(mobile): prevent SurfaceLayer crashing on maps in Viewer on Android (#31709) 2026-09-22 20:55:22 +05:30
AlexandGitHub d6d0947383 feat: birthday memories (#30831) 2026-09-22 04:30:43 -05:00
Yohanes KiranaandGitHub f48d4b3321 fix(mobile): ios clear file cache feedback (#31401)
* add clear file cache handling and snackbar

* create function to count deleted cache size

* clean up code and test

* ensure stable behaviour on non ios device

* refactor(mobile): simplify clear file cache feedback
2026-09-21 09:11:03 -07:00
Adam GastineauandGitHub 241ca1e2a2 chore(mobile): make Person Store reactive via Drift (#31661) 2026-09-18 11:21:31 -07:00