Commit Graph
11461 Commits
Author SHA1 Message Date
renovate[bot] 08d9ef733c chore(npm): update dependency exiftool-vendored (39.0.1 → 39.1.0) (#32899)
* chore(npm): update dependency exiftool-vendored (39.0.1 → 39.1.0)

* fix: lockfile

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jason Rasmussen <jason@rasm.me>
# Conflicts:
#	pnpm-lock.yaml
2026-11-05 20:35:38 +03:00
renovate[bot] 6851091403 chore(mise): update tool java (21.0.2 → 21.0.13+9.0.lts) (#32891)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-11-05 20:35:17 +03:00
Santo Shakil 11e9a4b4da fix(mobile): clear the app's cookies on logout (#32965) 2026-11-05 20:35:16 +03:00
renovate[bot] 9b5e1aae5b chore(container): update image grafana/grafana (13.2.4-ubuntu → 13.3.0-ubuntu) (#32896)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-11-05 20:35:16 +03:00
Santo Shakil 7aba6c3f88 feat(mobile): delete passkeys (#32785)
* feat(mobile): delete passkeys

* fix(mobile): refresh the passkey list from the store after a delete
2026-11-05 20:35:16 +03:00
Santo Shakil f727e8edb4 feat(mobile): rename passkeys (#32784)
* feat(mobile): rename passkeys

* fix(mobile): refresh the passkey list from the store after a rename

* fix(mobile): skip the name dialog after creating a passkey
2026-11-05 20:35:16 +03:00
Santo Shakil cfa416e612 feat(mobile): list passkeys (#32783)
* feat(mobile): list passkeys

* fix(mobile): show the passkey list as the server's passkeys

* fix(mobile): reword and align the passkey list, refresh it from the store
2026-11-05 20:35:16 +03:00
Santo Shakil 22e7b20d3e feat(mobile): login with passkey (#32782)
* feat(mobile): login with passkey

* feat(mobile): use the server feature level on the login page

* refactor(mobile): share the steps after a login

* password, OAuth and passkey logins end with one finishLogin
* OAuth now also connects the websocket, like the password login

* fix(mobile): passkey login through the shared login steps

* fix(mobile): build the login response through its constructor
2026-11-05 20:35:16 +03:00
Santo Shakil 28a52948a9 feat(mobile): passkeys page with new passkey (#32781)
* feat(mobile): passkeys page with new passkey

* feat(mobile): passkeys entry under settings

* show it in settings when logged in and passkeys are on
* remove it from the profile menu

* feat(mobile): use the server feature level for passkeys

* hide passkeys below the passkeys feature level, without asking the server
* keep the server's feature level on ServerVersion

* fix(mobile): passkeys as a settings section through the store

* fix(mobile): filter the settings sections in SettingSection

* fix(mobile): remove the passkeys description and use the settings padding
2026-11-05 20:35:16 +03:00
Santo Shakil 63df351cad feat(mobile): passkey bridge for ios (#32780)
* feat(mobile): passkey bridge for ios

* fix(mobile): ios passkey bridge in one file

* merge Passkeys.swift into PasskeyHostApiImpl.swift
* set up the host api on the main engine only
* map the json with Codable structs, with base64url in the coder data strategies
* throw on a missing attestation object or an unexpected credential type
* need iOS 17.4, where a passkey registration can exclude the account's passkeys

* fix(mobile): ios passkeys from ios 16

Passkeys are on from iOS 16 again. The platform registration only takes
excludedCredentials from iOS 17.4, so that check keeps its own comment.
2026-11-05 20:35:01 +03:00
Santo Shakil f2f2093e41 feat(mobile): passkey bridge for android (#32779)
* feat(mobile): passkey bridge for android

* fix(mobile): passkey plugin on the main engine only

* register it in configureFlutterEngine and cancel its scope on detach
* pass coroutine cancellation through instead of treating it as an error
* check for Play services 23.08+ before Android 14 in isSupported
* explain why NotAllowedError counts as a cancel
* share one perform function between register and authenticate
2026-11-05 20:35:01 +03:00
renovate[bot] 99cda00260 chore(mise): update tool terragrunt (1.2.0 → 1.2.1) (#32893)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-11-05 20:34:43 +03:00
renovate[bot] a1a47d909c chore(container): update image node (24.22.1 → 24.22.2) (#32887)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-11-05 20:34:43 +03:00
Daniel Dietzler 50cb08f35d chore: migrate server import sorting back to prettier (#32994) 2026-11-05 20:34:42 +03:00
Santo Shakil 17ad3a2e8a fix(mobile): show view in timeline for photos opened from a deep link (#33001) 2026-11-05 20:34:15 +03:00
Adam Gastineau faaf0e410b chore(android): Build Flutter config before Fastlane builds (#33000) 2026-11-05 20:34:15 +03:00
Ashwani AgarwalandDaniel Dietzler 558ed71b7d feat: keyboard shortcuts for person page (#31679)
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2026-11-05 20:34:14 +03:00
bo0tzz 2c4d581495 fix(ml): include the error when a model fails to load (#32985) 2026-11-05 20:34:14 +03:00
Daniel Dietzler b7b361bed1 fix: asset viewer reactivity (#32978) 2026-11-05 20:34:14 +03:00
Thomas Günther 25d368790f fix(web): smoother asset viewer gradients (#32946)
* Smoother asset viewer gradients

* Use Tailwind utilities for the gradient masks
2026-11-05 20:34:14 +03:00
Codex 93f60cd2dc chore: prepare local.6 and regenerate API clients 2026-11-04 21:11:35 +03:00
Mees Frensel beb49e8005 chore(web): refactor help and support modal (#32835) 2026-11-04 20:47:09 +03:00
bo0tzz a5c8af3791 fix: revert terraform cloudflare update to v5 (#32973) 2026-11-04 20:47:09 +03:00
Santo Shakil fae436a03c fix(mobile): log out before resetting the local database (#32928)
* fix(mobile): log out before resetting the local database

* fix(mobile): use a stateful widget for the reset state instead of hooks

* fix(mobile): run the reset tests' db work on the real clock
2026-11-04 20:47:09 +03:00
Daniel Dietzler 87aed8305a refactor(web): migrate from use: to attachments (#32968) 2026-11-04 20:47:09 +03:00
Daniel Dietzler c3cec81b0a fix(web): scroll memory (#32964) 2026-11-04 20:47:09 +03:00
Mert 6dbc3b4cb3 fix(server): build sharp in dev stack (#32961)
build sharp in dev stack
2026-11-04 20:47:08 +03:00
bo0tzz 9ec66cbe79 fix(server): validate motion photo video range before extraction (#32931) 2026-11-04 20:47:08 +03:00
Snowknight26 1d6947b512 fix(server): read only valid ISO values (#32938)
* fix(server): read only valid ISO values

* Add an extra test case

* Add extra test cases with undefined values
2026-11-04 20:47:08 +03:00
Michael Kentandmertalev 607a18ffff fix(ml): disable onnxruntime telemetry (#32956)
* fix(ml): disable onnxruntime telemetry

* cleanup

---------

Co-authored-by: mertalev <101130780+mertalev@users.noreply.github.com>
2026-11-04 20:47:08 +03:00
Jason Rasmussen 3a5d842ac1 fix: medium test flake (#32944) 2026-11-04 20:47:08 +03:00
Jason Rasmussen 9632838132 fix: rate limits (#32943) 2026-11-04 20:47:08 +03:00
Daniel Dietzler 4c4ed38353 fix: people page websockets (#32940) 2026-11-04 20:46:45 +03:00
Daniel Dietzler 657f24550c fix: web error handler (#32935) 2026-11-04 20:46:45 +03:00
Jason Rasmussen 4f009feec5 fix: backups codegen (#32839) 2026-11-04 20:46:45 +03:00
Daniel Dietzler f3f56bb5e8 fix: oauth regressions (#32934) 2026-11-04 20:46:33 +03:00
Codex b5da1f06fb test(web): isolate browser preferences and stabilize date input 2026-11-03 20:13:03 +03:00
Codex d3d5374a10 chore: integrate upstream fixtures and refresh dependency lock 2026-11-03 19:57:10 +03:00
renovate[bot] eb20a2e05a chore(github-action): update github-actions (#32898) 2026-11-03 19:40:25 +03:00
renovate[bot] 78a0982999 chore(container): pin image ghcr.io/immich-app/futo-backups-restic-proxy to 04a9313 (#32883) 2026-11-03 19:39:55 +03:00
renovate[bot] d8cc86ca42 chore(container): update image docker.io/valkey/valkey (418652c → 3add1a3) (#32884) 2026-11-03 19:39:55 +03:00
renovate[bot] 94c825a92a chore(container): update image ghcr.io/jdx/mise (2026.10.20 → 2026.10.25) (#32886) 2026-11-03 19:39:39 +03:00
renovate[bot]andDaniel Dietzler a8032b2e6d chore(npm): update typescript-projects (#32894)
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2026-11-03 19:39:38 +03:00
Jason Rasmussen e14fcd0a52 feat: web medium tests (#32817)
* feat: web medium tests

* chore: pr feedback

* fix: merge
2026-11-03 19:39:30 +03:00
Codex b10d600e23 fix(web): restore fonts, upload worker and album layout updates
Apply upstream fixes from 5ebda1f0b9b109c9098026866a354f0abb4823a8, 8d662d75791f6a67effacbf9e54cbefc92e8d313 and a9c4e0ed65757279fdade2b0126c10a018286901.
2026-11-02 20:46:50 +03:00
Codex 18e5e1f75d fix: preserve OCR search and align album sort labels 2026-11-01 14:50:46 +03:00
Codex 2800192c76 feat: add private file storage for web and Android 2026-10-31 23:07:09 +03:00
Codex 916718b558 fix(web): normalize maintenance backup test formatting 2026-10-31 07:55:35 +03:00
Codex 8a5ef4c96e Prepare local 3.4.0 web and Android release 2026-10-31 07:42:26 +03:00
Santo Shakil 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