Commit Graph
10597 Commits
Author SHA1 Message Date
Adam GastineauandGitHub a0a0aa3f3c fix(mobile): allow URL validation to pass when scheme is not provided (#30142)
* fix(mobile): allow URL validation to pass when scheme is not provided

* Do normalize and validate in the same step
2026-07-23 19:46:48 +05:30
upmcplanetrackerandGitHub ceef4037f1 fix: hypertext link to example docker-compose.rootless.yml (#30155) 2026-07-23 15:16:44 +02:00
NOBOIKEandGitHub cbb565b7b7 fix(web): mirror asset viewer navigation icons in RTL (#30151) 2026-07-23 12:22:45 +02:00
okxintandGitHub 3bd580e37d fix(web): restore correct back route when opening person asset via direct URL (#30129) 2026-07-23 09:06:59 +00:00
TimonandGitHub f24a128319 feat(server): new search schemas and query builders (#28686) 2026-07-22 22:33:23 +00:00
Santo ShakilandGitHub 36dfc98527 fix(mobile): birthday picker date order follows locale (#29419)
* fix(mobile): birthday picker date order follows locale

* test(mobile): cover date order locales for the birthday picker
2026-07-23 02:32:17 +05:30
9403e71d23 refactor: add asset update method (#29384)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-07-22 19:51:06 +00:00
1f81eac8ab refactor: toast repository (#29386)
refactor: feedback repository

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-07-22 19:48:28 +00:00
Pavel MiniutkaandGitHub 564cda5088 chore(mobile): Adds Belarusian language option in settings on mobile (#29939)
chore(mobile): add missing Belarusian (be) language option in settings
2026-07-22 17:53:21 +00:00
AlexandGitHub a7f1d495c6 fix: wrong corner radius of recently added link (#30140) 2026-07-22 16:44:14 +00:00
Jason RasmussenandGitHub b9f6c4aaf2 feat: password invalidate sessions (#30125) 2026-07-22 12:09:05 -04:00
23778551f7 fix: locked view and asset view provider (#30136)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-07-22 09:51:33 -05:00
bo0tzzandGitHub 457da17c5d fix: always set extension from provided file (#29839)
* fix: always set extension from provided file

The livephoto case can also happen with other files; for example, we
receive a DNG file as JPEG but then still call it .dng

Fixes #29805, partially addresses #28602

* chore: test cases for file extension naming
2026-07-22 18:29:54 +05:30
12f741d911 chore(cli): remove -h shorthand for --skip-hash (#30119)
Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2026-07-22 13:25:29 +02:00
Aditya Raj SinghandGitHub a0c7b81142 fix(server): dissolve stack when its non-primary assets are deleted (#29354) 2026-07-22 13:00:52 +02:00
Daniel DietzlerandGitHub 20997823d8 chore: mise monorepo support is now stable (#30131) 2026-07-22 12:55:47 +02:00
okxintandGitHub 8a875f5978 fix(web): use correct date field for shift-click range in Recently Added (#30071) 2026-07-22 11:53:45 +02:00
renovate[bot]andGitHub 8435d219e4 chore(deps): update dependency opentofu to v1.12.4 (#28491) 2026-07-22 09:30:08 +00:00
Ben BeckfordandGitHub 8bbc252703 feat: exif metadata workflow filter (#29295) 2026-07-22 11:20:57 +02:00
renovate[bot]andGitHub 2d3cf8ffaa chore(deps): update dependency terragrunt to v1.1.1 (#29399) 2026-07-22 11:16:09 +02:00
renovate[bot]andGitHub 33cba2f9af chore(deps): update grafana/grafana docker tag to v12.4.5-ubuntu (#29670) 2026-07-22 10:59:29 +02:00
renovate[bot]andGitHub 75053ebfba chore(deps): update terraform cloudflare to v4.52.8 (#29671) 2026-07-22 10:59:04 +02:00
YarosandGitHub ba9ec7c80e fix: backup delay translation key parsing (#30112) 2026-07-22 10:58:38 +02:00
YarosandGitHub 99370b2ac4 fix: admin user details responsive layout (#30114) 2026-07-22 10:54:26 +02:00
Ben BeckfordandGitHub 0f5bf6071f chore(server): test assetDateFilter workflow method (#30110) 2026-07-22 10:48:31 +02:00
998fd5f6a8 fix(mobile): send date-only value for memories query param (#30049)
* fix(ios-widget): send date-only value for memories query param

Server v3.0.3 (immich-app#29907) validates the /memories `for` query
param with a date-only schema (YYYY-MM-DD). The iOS widget still sent a
full ISO 8601 datetime, so every request 400s and the widget shows
"Unable to connect to your Immich instance" on any server >= v3.0.3.

Build the value from the local calendar day, matching what the web
client (memory-manager.svelte.ts) and Android already send, instead of
a UTC datetime.

Also fix a related bug in the timeline provider: fetchMemory was
called with a bare try inside a Task, so a failure silently dropped
the error and never called completion, leaving the widget in a stale
state instead of showing an error card. Wrap it in a guard/try?, same
pattern already used in getSnapshot.

Fixes immich-app#30044

Signed-off-by: ajuijas <189517297+ajuijas@users.noreply.github.com>

* address review: drop unrelated widget change and comment

Signed-off-by: ajuijas <189517297+ajuijas@users.noreply.github.com>

---------

Signed-off-by: ajuijas <189517297+ajuijas@users.noreply.github.com>
Co-authored-by: ajuijas <189517297+ajuijas@users.noreply.github.com>
Co-authored-by: Santo Shakil <santoshakil@users.noreply.github.com>
2026-07-22 14:19:19 +06:00
renovate[bot]andGitHub f413c446e3 chore(deps): update github-actions (#30089) 2026-07-22 09:15:38 +02:00
YarosandGitHub c9539a4aa8 fix(mobile): map unresponsive after viewing asset (#27036)
* fix(mobile): map unresponsive after viewing asset

* chore: better fix
2026-07-22 02:56:23 +05:30
a560e08693 fix: re-evaluate OIDC role claim on every login and support array values (#29991)
* fix(server): re-evaluate OIDC role claim on every login and support array values

Previously the OIDC role claim (immich_role) was only read at user
auto-registration time and only accepted as a scalar string, so admin
status never updated after the first login and array-valued role/group
claims (common with Keycloak, Entra ID, etc.) were silently ignored.

Now the role claim is normalized from either a string or an array of
strings, and existing users have their isAdmin flag synced from the
claim on every login, keeping the IdP as the source of truth for
privileges while leaving isAdmin untouched when the claim is blank.

* fix(server): use .includes() instead of .some() for role claim check

Satisfies unicorn/prefer-includes lint rule flagged by CI.

* fix(server): resolve missing role claim to standard user and fix test mock

Default the OIDC role claim to 'user' when the IdP omits it so
auto-registration doesn't crash, and add the missing getAdmin mock in the
auth.service test so it correctly simulates an existing admin rather than
the first-user-registration path.

* fix: claim sync logic

---------

Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
2026-07-21 17:21:19 -04:00
YarosandGitHub 49c0baf076 fix: disable slideshow crossfade on reduced motion (#29826)
* fix: disable slideshow crossfade on reduced motion

* chore: share photoview instances

* chore: listen to changes
2026-07-22 01:59:26 +05:30
3485dbffda refactor(mobile): extract CachedKeyValueRepository (#28789)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-07-21 20:23:50 +00:00
YarosandGitHub e508781125 fix: limit ocr overlay to images (#30116) 2026-07-21 20:23:04 +00:00
a30ebab70c fix(mobile): refresh asset stack after deleting viewer item (#28164)
* fix(mobile): refresh asset stack after deleting viewer item

* fix(mobile): clamp stack index,
filter visible stack assets

* refactor(mobile): simplify stack asset refresh handling

* fix(mobile): revert changes in DeleteLocalActionButton

* style(mobile): reformat code

* fix(mobile): remove redundant setStack

---------

Co-authored-by: Peter Ombodi <peter.ombodi@gmail.com>
2026-07-22 01:48:47 +05:30
Daniel DietzlerandGitHub 5d7283e44d fix: album update event emitting (#30120) 2026-07-21 19:43:27 +00:00
73329a8ce8 fix(server): send id_token_hint on OIDC logout (#29720)
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2026-07-21 19:19:13 +02:00
Santo ShakilandGitHub d5adfb97dd fix(mobile): treat wired ethernet as unmetered on ios (#29351)
check the metered flags instead of the interface type, so ethernet counts like android already does.
2026-07-21 11:02:36 -05:00
b70cb58bc8 fix(web): improve slideshow controls visibility on bright backgrounds (#29950)
Co-authored-by: priyanshuANDcoad <priyanshu23154050@akgec.ac.in>
2026-07-21 15:58:51 +00:00
Santo ShakilandGitHub 943bfafb7a fix(mobile): show real error when an asset can't be added to an album (#29754)
* fix(mobile): show real error when an asset can't be added to an album

* fix(mobile): show added toast when an add-to-album partly succeeds

* docs(mobile): explain why a partial add-to-album shows added
2026-07-21 10:56:50 -05:00
TimonandGitHub ee4bd3f833 feat: add album asset event handling (#29008)
* feat: add album asset event handling

* fix medium tests

* patch medium test

* collapse in AlbumUpdate
2026-07-21 10:55:46 -05:00
Adam GastineauandGitHub 7a7303aceb fix(mobile): properly group download tasks for Live Photos (#29952)
* fix(mobile): properly group download tasks for Live Photos

* Remove completely unused onLivePhotoDownloadStatus

* Remove dead code
2026-07-21 10:45:15 -05:00
Adam GastineauandGitHub 0a7c067b20 chore(mobile): bump maplibre to 0.26.2 in SwiftPM lock (#30108) 2026-07-21 10:44:30 -05:00
c8de56c422 fix(mobile): prevent duplicate album creation during submission (#30003)
* fix: prevent duplicate album creation during submission

* Nit fix

---------

Co-authored-by: Adam Gastineau <adam@agg.im>
2026-07-21 15:31:23 +00:00
0e4572c37b chore: pin photo_manager to 3.9.0 (#30091)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-07-21 10:06:27 -05:00
Santo ShakilandGitHub 14a2776453 fix(mobile): add album picker to the partner view bottom sheet (#30099) 2026-07-21 10:05:34 -05:00
renovate[bot]andGitHub 59bc81423c chore(deps): update github-actions (major) (#30095) 2026-07-21 16:37:38 +02:00
Roberto Carlos Martinez ArriagaandGitHub e6fff3b15e feat(web): add maintenance link to command palette (#30016) 2026-07-21 16:27:23 +02:00
renovate[bot]andGitHub 755df23b22 chore(deps): update ghcr.io/devcontainers/features/docker-in-docker docker tag to v4 (#30094) 2026-07-21 16:05:54 +02:00
Jason RasmussenandGitHub 899f547053 fix(web): lens model search (#30088) 2026-07-21 13:54:28 +00:00
Santo ShakilandGitHub 4938fd4c89 fix(mobile): back up files moved into a watched folder on android (#29872) 2026-07-21 19:09:50 +05:30
Santo ShakilandGitHub e81a79224c fix(mobile): stop double close animation when dismissing an asset (#29413) 2026-07-21 19:08:45 +05:30