Commit Graph
442 Commits
Author SHA1 Message Date
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 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
Clément Delestre 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
Tiago Deane 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
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
Lee, Hyo jun 9e89e65d23 fix(mobile): sort time zones by name within the same offset (#32087) 2026-10-16 20:51:28 +03:00
Santo Shakil 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
Will 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
Santo Shakil 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
immich-push-o-matic[bot]andLuis Nachtigall 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
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
Adam Gastineau 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
Yohanes Kirana 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
Santo Shakil 398a04e11d fix(mobile): sync status page goes blank when the counts query fails (#31642)
* sync status page stays usable when the counts query fails

* sync status error text through i18n
2026-09-17 18:14:11 +00:00
Luis Nachtigall 9994eb3bed fix(mobile): prevent live photo from getting stuck during dismiss animation (#28080)
* update animation methods to return futures

* fix(mobile): prevent live photo from getting stuck during dismiss animation

* chore: rename variables + comment
2026-09-17 10:32:20 -07:00
Adam Gastineau 64de38092e chore(mobile): centralize duplicate mesmerizing header components (#31590)
* chore(mobile): centralize duplicate mesmerizing header components

* Fix formatting
2026-09-15 12:33:15 -07:00
shenlongandshenlong-tanwen d2928cecce refactor: migrate to new changePassword endpoint (#31277)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-09-14 21:04:42 +05:30
Adam Gastineau 6874c07dbe chore(mobile): static Store to unify and streamline reactivity (#31099)
* chore(mobile): static Store to unify and streamline reactivity

* Add tests of caching and new stores

* Don't instantiate PeopleDbRepository

* Slight DB rename and fix throwing store methods
2026-09-11 10:56:00 -07:00
8d90cbeafc chore(mobile): remove unused code (#31280)
* chore: remove unused methods

* Remove dead test group

---------

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
Co-authored-by: Adam Gastineau <adam@agg.im>
2026-09-08 13:56:46 +00:00
Adam Gastineau 4c7b30c18b chore(mobile): move settings components to UI package (#31272) 2026-09-04 12:06:01 -07:00
Adam Gastineau 8e04e6e2c6 fix(mobile): prevent inner mutability on Freezed classes (#31229)
* fix(mobile): prevent inner mutability on Freezed classes

* Minor fixes
2026-09-03 21:04:58 +05:30
shenlongandshenlong-tanwen 22a56a79f2 fix: ios map settings sheet (#31060)
fix: ios map settings

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-08-28 00:27:02 +05:30
Adam Gastineau c04c81a979 chore(mobile): remove Drift* prefixes from classes and variables (#31038)
* chore(mobile): remove Drift* prefixes from classes and variables

* Remove *Drift* from related mocks
2026-08-26 19:11:12 +00:00
Lauritz Tiesteandshenlong-tanwen 4ff7148f85 feat(mobile): show asset owner in asset details (#29302)
* feat(mobile): show asset owner in asset details

* refactor(mobile): fetch asset owner from local DB instead of API

* cleanup

* review changes

---------

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-08-25 20:40:05 +00:00
Yarosandshenlong c98c20e963 fix(mobile): respect 24h system setting (#30792)
* fix(mobile): respect 24h system setting

* refactor: extract into utils

* chore: remove comment

Co-authored-by: shenlong <139912620+shenlong-tanwen@users.noreply.github.com>

* refactor: resolveAssetDateTime

Co-authored-by: shenlong <139912620+shenlong-tanwen@users.noreply.github.com>

* refactor: alwaysUse24HourFormat

* chore: impl suggestions

* refactor: less comments & resolveDateTimeLocale

---------

Co-authored-by: shenlong <139912620+shenlong-tanwen@users.noreply.github.com>
2026-08-23 17:51:03 +05:30
Adam Gastineau 37e033a09d chore(mobile): migrate remaining simple classes to Freezed (#30907) 2026-08-21 22:37:03 +05:30
Adam Gastineau 225ca9ab8d chore(mobile): use Drift @DriftAccessor() and collapse some providers (#30693)
* chore(mobile): use Drift @DriftAccessor() and collapse some providers

* Fix import order

* Required formatting
2026-08-17 14:43:32 -07:00
shenlongandshenlong-tanwen ffc83eae36 chore: more dart lints (#30665)
The lints are regrouped and sorted. Also, added the following new lints:
- unnecessary_ignore
- parameter_assignments
- avoid_unused_constructor_parameters
- tighten_type_of_initializing_formals
- only_throw_errors
- deprecated_consistency
- unnecessary_statements

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-08-15 16:55:45 +05:30
shenlongandshenlong-tanwen bd55f7e73a chore: pump flutter_lints to 6.0 (#30664)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-08-15 16:55:45 +05:30
cmdPromptCriticalandcmdpromptcritical 66d010381e fix(mobile): prevent snapping to center on pinch-to-zoom release (#29207) (#29343)
Co-authored-by: cmdpromptcritical <cmdpromptcritical@github.com>
2026-08-14 12:30:28 -07:00
Adam Gastineau 190a939af7 fix(mobile): disable iOS smart quotes/dashes in email/password inputs (#30767)
* fix(mobile): disable iOS smart quotes/dashes in email/password inputs

* Remove enum prefixes
2026-08-14 19:21:39 +00:00
shenlongandshenlong-tanwen 652ef8a427 refactor: server capabilities (#30663)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-08-14 07:53:12 -05:00
shenlongandshenlong-tanwen 1c3a5cf508 chore: remove old people provider (#30662)
* chore: remove old people provider

* refactor: rename driftGetAllPeopleProvider

* minor fixes

---------

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-08-12 21:12:12 +05:30
shenlongandshenlong-tanwen 52edcc0c74 refactor: unify person model (#30659)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-08-12 21:12:11 +05:30
shenlongandshenlong-tanwen ce705dcc06 fix: riverpod reactivity regression from lint fixes (#30734)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-08-12 10:00:06 -04:00
shenlongandshenlong-tanwen 675408b003 chore: migrate mobile translations accessor (5) (#30672)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-08-11 14:41:13 +05:30
shenlongandshenlong-tanwen a8b3b30aba chore: migrate mobile translations accessor (4) (#30671)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-08-11 14:41:13 +05:30
shenlongandshenlong-tanwen d799698c51 chore: migrate mobile translations accessor (3) (#30670)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-08-11 14:41:12 +05:30
shenlongandshenlong-tanwen 835c35e940 chore: migrate mobile translations accessor (2) (#30668)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-08-11 14:41:12 +05:30
shenlongandshenlong-tanwen 565fbe4917 chore: migrate mobile translations accessor (1) (#30667)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-08-11 14:41:11 +05:30
Adam Gastineau 235daff561 chore(mobile): more complicated Freezed pass (#30452)
* chore(mobile): example freezed implementation on some models
2026-08-10 14:12:45 -07:00
shenlongandshenlong-tanwen 1c7c28bb0d chore: more riverpod lints from dcm (#30447)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-08-05 01:26:49 +05:30
shenlongandshenlong-tanwen 8450687db7 chore: riverpod lints from dcm (#30446)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-08-05 01:26:49 +05:30
shenlongandshenlong-tanwen 405020eeee chore: enable use_build_context_synchronously lint (#30367)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-07-30 20:10:36 +00:00