3433 Commits

Author SHA1 Message Date
Jason Rasmussen 0947c9ae8a fix: smpt email visibility (#32492) 2026-10-16 15:08:06 -04:00
Dag Stuan e5094d54e9 fix(mobile): Keep asset viewer controls hidden if they were hidden before zooming. (#31832) 2026-10-16 14:57:44 +06:00
Lee, Hyo jun 83594a0cee fix(mobile): sort time zones by name within the same offset (#32087) 2026-10-16 14:57:13 +06:00
Santo Shakil 3ae7111741 fix(mobile): save typed coordinates in the location picker (#32460) 2026-10-15 23:57:39 +06:00
Lee, Hyo jun 3d07c061a3 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
2026-10-15 03:40:01 +06:00
Luis Nachtigall 0d1e1ffecd 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
2026-10-14 10:34:29 -07:00
renovate[bot] 62ce1b9f4b chore(deps): update ghcr.io/jdx/mise docker tag to v2026.10.9 (#32131)
* chore(deps): update ghcr.io/jdx/mise docker tag to v2026.10.9

* fix: lockfile

* chore: upgrade mise lockfile

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2026-10-14 18:11:15 +02:00
Luis Nachtigall b246fa7c8a 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
2026-10-14 07:01:32 -07:00
Jason Rasmussen cc1e236365 feat: server feature level (#32178)
* feat: server feature level

* fix: correctly compute feature level
2026-10-14 09:56:49 -04:00
Will 83c7ec5005 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>
2026-10-14 15:10:26 +05:30
Santo Shakil 024e8e7696 chore(mobile): hide the database export in release builds (#32285) 2026-10-13 13:11:22 +06:00
Luis Nachtigall 795507cfec refactor(mobile): cleanup image providers (#31824)
* refactor(mobile): remove redundant cancellation checks in image providers

* refactor(mobile): extract request helpers in full image providers
2026-10-11 11:49:29 -07:00
Santo Shakil 116a9436ad fix(mobile): show the memories date in every app language (#32259) 2026-10-09 14:47:44 +06:00
Alex 108a3cadbf fix: show date on memories page (#32206)
* fix: show date on memories page

* Clean up API

* Drop imports

---------

Co-authored-by: Adam Gastineau <adam@agg.im>
2026-10-08 20:26:36 +00:00
Adam Gastineau 9640d9f5d2 fix(mobile): prevent rapid toggling and rerendering of cells (#32200)
* fix(mobile): prevent rapid toggling and rerendering of cells

* Apply Shakil's fix
2026-10-08 11:01:00 -07:00
Santo Shakil 0e63715394 chore(mobile): rename the native core crates and package (#31986) 2026-10-08 23:10:59 +06:00
Santo Shakil 135aba5d82 fix(mobile): stop long images squishing on android (#32213) 2026-10-08 23:10:40 +06:00
Lee, Hyo jun 02481deb14 fix(mobile): format year filter chip without thousands separator (#32159) 2026-10-08 16:03:38 +05:30
Peter Ombodi 6f042bad92 fix(mobile): prevent timeline bucket selection provider leak (#32100)
Co-authored-by: Peter Ombodi <peter.ombodi@gmail.com>
2026-10-08 16:01:42 +05:30
Santo Shakil c0d1dc923e chore(mobile): one thumbhash decoder in the native core (#31367)
* chore(mobile): rust native core

* chore(mobile): move the android byte buffer into the native core

* chore(mobile): move the raw photo rotation into the native core

* move the rotation into immich_core, the jni side only wraps it

* use the pointer loop in rotate again, the bounds checked writes were slower on a pixel 5

* chore(mobile): move the 10 bit conversion into the native core

* move the 10 bit conversion into immich_core, neon for 32 bit arm

* chore(mobile): one thumbhash decoder in the native core

* decode the thumbhash straight into the returned buffer, its jni entry sits next to the c export

* chore(mobile): move the 10 bit conversion into the native core

* move the 10 bit conversion into immich_core, neon for 32 bit arm
2026-10-08 12:02:39 +06:00
Santo Shakil b08a8fb56c chore(mobile): move the 10 bit conversion into the native core (#31363)
* chore(mobile): move the 10 bit conversion into the native core

* move the 10 bit conversion into immich_core, neon for 32 bit arm

* move the android rust flags into native/.cargo/config.toml
2026-10-08 04:53:04 +06:00
Santo Shakil 003670d013 chore(mobile): move the raw photo rotation into the native core (#31362)
* chore(mobile): move the raw photo rotation into the native core

* move the rotation into immich_core, the jni side only wraps it

* use the pointer loop in rotate again, the bounds checked writes were slower on a pixel 5
2026-10-08 03:31:37 +06:00
Santo Shakil 4c51bfed1d chore(mobile): move the android byte buffer into the native core (#31361) 2026-10-08 03:08:36 +06:00
Santo Shakil 8a02a91ee9 chore(mobile): rust native core (#31254) 2026-10-08 02:42:15 +06:00
Santo Shakil 26b8e3d400 fix(mobile): start the session when a link opens the app (#32181) 2026-10-07 19:00:19 +06:00
Peter Ombodi b94afdb468 fix(mobile): decouple delete action messages from context (#31093)
* fix(mobile): decouple delete action messages from context

* fix(mobile): finish local cleanup after action disposal

* fix(mobile): revert redundant changes

* fix(mobile): revert rest of redundant changes

---------

Co-authored-by: Peter Ombodi <peter.ombodi@gmail.com>
2026-10-07 16:06:09 +05:30
Santo Shakil 86fed468a7 fix(mobile): keep memories full screen while swiping (#32171) 2026-10-06 18:17:51 +00:00
Daniel Dietzler 8d377bfef5 fix: memories mobile sync for older clients (#32150)
Co-authored-by: Santo Shakil <shakil.mezbah@gmail.com>
2026-10-06 15:48:29 +02:00
Alex 82cfc4b28b feat: birthday memory on mobile (#32113)
* feat: birthday memory on mobile

* chore: remove yellow bg colors

* pr feedback
2026-10-06 13:34:40 +00:00
Santo Shakil 14cd2fdb0c fix(mobile): cancel the iOS background uploads when the foreground backup starts (#31944) 2026-10-02 15:14:32 +00:00
Luis Nachtigall 007c18aec6 fix(mobile): image jumps when full-res image loads during pinch or zoom animation (#31948) 2026-10-02 10:44:50 +02:00
Santo Shakil 3e44929245 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
2026-10-02 06:46:06 +00:00
Santo Shakil ad93370f02 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
2026-10-02 06:44:59 +00:00
Santo Shakil 02063972e8 fix(mobile): don't re-upload a photo the server already has (#31941) 2026-10-01 17:34:56 +00:00
Santo Shakil a81ddfafe3 fix(mobile): sort timeline assets by the date their headers group on (#30262) 2026-10-01 20:03:10 +06:00
shenlong cc91697950 feat(mobile): editors can update album title & description (#31954)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-09-30 17:10:54 -04:00
Jason Rasmussen aec7c0d97b 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
2026-09-29 18:12:25 -04:00
Santo Shakil a29153e90e 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
2026-09-30 00:43:21 +06:00
Adam Gastineau de6ef1d0e1 chore(mobile): make Fastlane Android Play Store key path relative (#31896) 2026-09-29 08:08:26 -07:00
Adam Gastineau 3c3db5d0af fix(mobile): stop playing video when dismissing on iOS (#31772)
* fix(mobile): stop playing video when dismissing on iOS
2026-09-29 12:51:18 +00:00
immich-push-o-matic[bot] a9d102234b chore: version v3.3.0-rc.0 2026-09-28 21:54:03 +00:00
Daniel Dietzler 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 Shakil 638b6ac553 fix(mobile): don't stack an upload with itself (#31851) 2026-09-28 22:15:04 +06:00
Luis Nachtigall 523c26e723 fix(mobile): don't clear cached initial image operation on completion (#31822) 2026-09-26 17:44:11 -04:00
Luis Nachtigall 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 Shakil 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 Gastineau 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 Shakil 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 Shakil 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
shenlong 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