immich-push-o-matic[bot] and Jason Rasmussen
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
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
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
909b8aac93
fix(mobile): clamp out of range datetimes so timeline queries cannot crash ( #30490 )
...
* fix(mobile): clamp out of range datetimes so timeline queries cannot crash
* replace the per column converters with a clamping custom type
* heal each table in one statement, rename the clamp type, read dates as stored
* one medium test for the clamp, drop the dart side bounds, private clamp type
2026-09-18 17:41:15 +00:00
Santo Shakil
e8c6218431
fix(mobile): show the real date for android local photos with no exif ( #29193 )
...
* fix(mobile): show the real date for android local photos with no exif
photos with no exif date showed their copy-to-phone date in the "on this device" albums instead of the real date. fall back to the earlier of date_modified/date_added (matches the server + ios), plus a migration to fix the rows already saved wrong.
* persist migration progress when the date backfill fails
* fix local date migration for trash and epoch rows
* cover epoch dates in both local asset tables
* simplify the created date pick and rework the migration test
* heal no-exif dates from mediastore in the v27 migration
* check gallery access from dart and skip dates that do not parse
* let the date heal run once and never block the version
* read the trashed assets through the same cast the sync uses
2026-09-17 19:05:07 +06:00
Adam Gastineau
c9eeedecc6
chore(mobile): shared DataController for management of data sources ( #31457 )
...
* 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
* chore(mobile): shared DataController for management of data sources
* chore(mobile): shared DataController for management of data sources
* Fix lint with removed dependency
* Re-order Store bootstrap
* Remove extra import
2026-09-14 07:58:34 -07:00
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
Yaros
956330958f
fix(mobile): hide negative age ( #31341 )
2026-09-08 10:25:56 -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
6d85f202f4
fix(mobile): switch to new OpenAPI int in RotateParameters ( #31246 )
2026-09-03 14:32:01 +00:00
Timon
8b3d6b320b
feat(server): new search API ( #30179 )
2026-08-27 20:39:55 +02:00
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
351be95769
feat: memories view ( #28675 )
...
* wip web memories view
* paginate searchMemories
* improve memories ui
* feat(mobile): memories view
* improve memories web ui
* fix(web): avoid unnecessary memory refreshes
* refactor(web): move timline memory manager filter
* fix(web): memories infinitely loading on 0 results
* fix(web): memories resetting
* feat(web): animated memory previews
* feat(web): memory page dark styling
* chore(mobile): fix failing memory lane tests
* chore(mobile): remove old import
* chore(e2e): fix failing memory lane tests
* chore(server): revert searchMemories changes
* chore(server): lint
* chore(mobile): fix bad merge
* chore(e2e): fix memory ui tests
* chore(web): rename /memory to /memories
* chore(mobile): linting
* chore(web): linting
* fix(web): prevent duplicate memory page loading
* fix(web): lint
* fix(web): memories page improvements
* chore(mobile): lint
* fix(mobile): fix translations
* fix(mobile): build errors
* fix(web): prevent memories from infinitely loading
* chore(e2e)): fix failng memory viewer test
* chore(web): clean up types in memory manager
* chore(web): lint
* feat: update list and detail memory page layouts
* onlyFavorites through drift
* rename to get all
* mobile: use widgetWhen in memory list page
* remove redundant check
* fix: e2e
---------
Co-authored-by: Timon <mail@timonrieger.de >
Co-authored-by: Jason Rasmussen <jason@rasm.me >
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-08-24 19:16:33 -05:00
Adam Gastineau
8dcfd36fa5
chore(mobile): move Drift into mobile/data ( #30966 )
...
* chore(mobile): move Drift into mobile/data
* Move into more structured subdirectories
* Fix changed merge paths
2026-08-25 00:51:02 +05:30
Yaros and shenlong
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
Jason Rasmussen and Daniel Dietzler
11b1aa5ecf
feat: cluster groups ( #30739 )
...
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
2026-08-20 20:03:00 +02:00
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
shenlong and shenlong-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
Ben Beckford
447cc40a50
feat: workflow logging ( #29878 )
...
* feat: workflow logging
* chore: update sql and openapi patch
* chore: include id in workflow log entries
* chore(server): update sql and lint
* chore(mobile): remove openapi files
* chore(web): lint
* chore: clean up workflow logging
* chore(server): add runId to workflow logs
* chore(server): store workflow results as enum
2026-08-13 19:18:24 -07:00
shenlong and shenlong-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
shenlong and shenlong-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
shenlong and shenlong-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
shenlong and shenlong-tanwen
3d42c1424c
refactor: mobile upload action ( #29949 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-08-01 08:06:43 +05:30
shenlong and shenlong-tanwen
bc84054ccc
refactor: mobile tag and download actions ( #29948 )
...
refactor: mobile tag and download action
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-08-01 08:06:43 +05:30
shenlong and shenlong-tanwen
1fa985babb
feat: album action ( #29770 )
...
refactor: mobile album actions
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-08-01 08:06:43 +05:30
shenlong and shenlong-tanwen
0a97b4b099
refactor: mobile share actions ( #29947 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-08-01 08:06:42 +05:30
shenlong and shenlong-tanwen
a048e86217
refactor: mobile cast and slideshow action ( #29768 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-08-01 08:06:42 +05:30
shenlong and shenlong-tanwen
36f12ec805
refactor: mobile open in browser, similar, set profile action ( #29769 )
...
refactor: mobile browser and similar photos action
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-08-01 08:06:41 +05:30
shenlong and shenlong-tanwen
3f3bc44258
refactor: mobile delete action ( #29771 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-08-01 08:06:41 +05:30
shenlong and shenlong-tanwen
47d34e3b4b
refactor: mobile lock action ( #29767 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-08-01 08:06:41 +05:30
shenlong and shenlong-tanwen
e6b5b0deb6
feat: archive action ( #29362 )
...
refactor: mobile archive action
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-08-01 08:06:40 +05:30
shenlong and shenlong-tanwen
208b7cf9ca
feat: stack action ( #29370 )
...
refactor: mobile stack action
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-08-01 08:06:40 +05:30
shenlong and shenlong-tanwen
5b0a324b68
feat: restore action ( #29374 )
...
* refactor: existing actions to new structure
# Conflicts:
# mobile/lib/presentation/actions/action.dart
# mobile/lib/presentation/actions/action.widget.dart
# mobile/lib/presentation/actions/asset_debug.action.dart
# mobile/lib/presentation/actions/favorite.action.dart
# mobile/lib/presentation/actions/partner.action.dart
# mobile/test/unit/presentation/actions/favorite_action_test.dart
* rename to actionitem
* review changes
* refactor: mobile restore action
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-08-01 08:06:40 +05:30
shenlong and shenlong-tanwen
fe5c8ed0fb
refactor: base action ( #29617 )
...
* refactor: existing actions to new structure
# Conflicts:
# mobile/lib/presentation/actions/action.widget.dart
# mobile/lib/presentation/widgets/action_buttons/favorite_action_button.widget.dart
# mobile/lib/presentation/widgets/action_buttons/unfavorite_action_button.widget.dart
# mobile/test/unit/presentation/partner_page_test.dart
* rename to actionitem
* more cleanup
* review changes
* lint changes
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-07-30 17:02:14 -04:00
shenlong and shenlong-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
Adam Gastineau
e7aace436d
chore(mobile): Apply stricter linting rules for correctness ( #30372 )
...
* chore(mobile): Apply stricter linting rules for correctness
* Added discarded_futures rule
2026-07-30 19:39:24 +00:00
Adam Gastineau
d864a90811
chore(mobile): Apply stricter linting rules for formatting ( #30370 )
...
* chore(mobile): Apply stricter linting rules for formatting
* Formatting fixes
2026-07-30 08:56:46 +00:00
Santo Shakil
534b8746e4
fix(mobile): refresh person thumbnail when the featured photo changes ( #29350 )
2026-07-29 22:20:26 +05:30
shenlong and shenlong-tanwen
04a38ba91c
refactor: asset update method ( #30201 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-07-27 10:15:36 -04:00
Yaros and shenlong-tanwen
792d88961a
feat(mobile): custom date range for map ( #26205 )
...
* feat(mobile): custom date range for map
* refactor: rename timerange & remove isvalid
* refactor: rename customtimerange variables
* refactor: add back setRelativeTime
* refactor: implement suggestions
* refactor: suggestions
* fix: ifPresent
* fix: context.locale
* chore: restrict selection
* refactor: move options to mapconfig
* refactor: move model to domain
* chore: locale toLanguageTag
* add map codec tests
* rebase
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-07-23 20:48:15 +05:30
Adam Gastineau
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
shenlong and shenlong-tanwen
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
Timon
6fa3f2feac
chore: bump openapi-generator version to v7.24.0 ( #30067 )
...
* remove patch in favor of [OpenAPITools/openapi-generator#23930 ](https://github.com/OpenAPITools/openapi-generator/issues/23930 )
partially revert "chore(mobile): make openapi requests abortable (#28692 )"
* gen client
* bump openapi-generator version to v7.24.0
* gen client
* enum migration changes
* drop enum exhaustion switch check
2026-07-20 20:06:23 -04:00
shenlong and shenlong-tanwen
bf64f3867b
fix: do not show the whats new page on fresh login ( #30072 )
...
* fix: do not show the whats new page on fresh login
* review suggestion
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-07-20 12:24:01 -05:00
shenlong and shenlong-tanwen
297316c7b8
refactor: owned action assets filter ( #29382 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-07-16 19:49:30 +00:00
shenlong and shenlong-tanwen
4fe33289b8
fix: ignore log db corruptions ( #29656 )
...
* fix: ignore log db corruptions
* review suggestion
* log corruption recovery
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-07-09 11:36:04 -05:00
Ben Beckford
237734bb26
feat(web): recently added link in sidebar ( #29039 )
...
* feat(web): recently added link in sidebar
* chore(mobile): update openapi patches
2026-07-01 23:12:50 +00:00
Brandon Wees
d4b994301f
fix: version compatability check ( #29405 )
2026-06-30 18:44:53 +00:00
shenlong and shenlong-tanwen
cb1af3a8ec
feat: favorite bottom sheet action ( #29320 )
...
* chore: cleanup partner action test
* feat: favorite bottom sheet action
* review suggestions
* implicit favorite handling
* feat: viewer favorite icon to action (#29321 )
* feat: viewer favorite icon to action
* feat: advance info action
* implicit favorite handling
* feat: viewer favorite icon to action
# Conflicts:
# mobile/lib/presentation/widgets/asset_viewer/viewer_top_app_bar.widget.dart
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
* chore: timeline action test (#29324 )
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
* clear selection only on success
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-06-25 16:55:06 -04:00