Adam Gastineau
dc813e2816
fix(mobile): handle transient loading states for map timelines ( #29735 )
...
* fix(mobile): handle transient loading states for map timelines
* fix(mobile): handle transient loading states for map timelines
* Add support for new method
* Rewrote map options notifier to be more Riverpody
2026-08-28 06:06:10 -07: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
Lauritz Tieste and shenlong-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
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
Santo Shakil
2237b28813
fix(mobile): permanently delete local copies when moving to the locked folder ( #29730 )
...
* permanently delete local copies when moving to the locked folder
* simplify the delete path and move the stubs into the mock defaults
* drop the kept count from the partial message and log the mismatch instead
2026-08-22 07:42:11 +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
shenlong and shenlong-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
shenlong and shenlong-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
shenlong and shenlong-tanwen
303a9f15b1
refactor: reactive driftGetAllPeopleProvider ( #30660 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-08-12 21:12:12 +05:30
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
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
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
Santo Shakil
0ff47f4178
fix(mobile): don't let a frozen sync block syncing on resume ( #29870 )
...
* fix(mobile): don't let a frozen sync block syncing on resume
* share the task lists between the cancel paths
* fix analyzer issues in resume integration test
* isolate the resume e2e test and pin the worker pool setup
2026-08-10 21:39:38 +06:00
Santo Shakil
35c2a90fca
fix(mobile): video playback controls dead for backed up videos opened from search ( #30587 )
...
* key video player state by asset id instead of hero tag
* expose id on BaseAsset instead of a separate playerKey
2026-08-09 23:54:55 +06:00
shenlong and shenlong-tanwen
e9eafc3161
refactor: gallery permission notifier ( #30477 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-08-08 11:14:14 -05:00
Adam Gastineau
18d4a796bb
chore(mobile): simple freezed implementation on some models ( #30168 )
...
* chore(mobile): example freezed implementation on some models
* Don't commit Freezed generated code
* Freezed easy pass
* Formatting fix
* Generate Flutter debugging info
2026-08-05 12:00:49 -07:00
shenlong and shenlong-tanwen
29512081db
fix: use setRequireOriginal on SDK 29 and above ( #29072 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-08-04 20:43:51 +05:30
Santo Shakil
7121e0a75c
fix(mobile): run one more sync round when a request arrives mid sync ( #30478 )
...
* fix(mobile): run one more sync round when a request arrives mid sync
* fix(mobile): only queue the extra sync round when the caller asks for it
* fix(mobile): skip the queued sync round when the sync fails
* clear the sync task in whenComplete and gate the queued round on the result
* simplify the queued flag gate
2026-08-04 14:59:19 +00:00
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
Adam Gastineau
483b375c26
fix(mobile): resolve owned assets when partner owns identical asset ( #30137 )
...
* fix(mobile): resolve owned assets when partner owns identical asset
* Add limit to auth user expressions
* Change debug method semantics
2026-07-31 14:37:12 +00:00
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
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
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
shenlong and shenlong-tanwen
20ae07e228
fix: run background tasks in root isolate ( #30101 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-07-23 20:06:37 +05:30
shenlong and shenlong-tanwen
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
Peter Ombodi and Peter Ombodi
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
Santo Shakil
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
Timon
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
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
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
Santo Shakil and Alex
c4f084f4a5
fix(mobile): play videos from search results and folder view ( #29693 )
...
* fix(mobile): play videos from search results and folder view
* pr suggestion
---------
Co-authored-by: Alex <alex.tran1502@gmail.com >
2026-07-08 20:22:35 +00:00
Adam Gastineau and Alex
a225c962de
fix(mobile): properly handle live photos locally ( #29462 )
...
* fix(mobile): properly handle live photos locally
* Added basic motion photo data tests
* Cover mismatched platforms and motion photos
* Revert unnecessary storage.repository changes
---------
Co-authored-by: Alex <alex.tran1502@gmail.com >
2026-07-07 12:25:43 -05:00
shenlong and shenlong-tanwen
f73796597c
fix: albums broken on v2 mobile clients ( #29446 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-07-02 14:04:37 -05:00
Alex
165bca4b0a
feat: new feature message ( #29388 )
...
* feat: new feature board
* wip
* wip
* wip
* lint
* lint
* pr feedback
* pr feedback
* i18n
* i18n
2026-06-30 13:53:13 -05: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
shenlong
0f49bcbd27
chore: do not optimize on cleanup ( #29118 )
2026-06-16 12:42:12 -04:00
Santo Shakil
9ee412110f
fix(mobile): stop sync albums crashing on the main isolate ( #29133 )
...
the album sync provider read cancellationProvider, which only exists in the background isolate and throws on the main one. moved the cancel signal onto the isolate call path.
fixes #29125
fixes #29119
2026-06-16 09:14:33 -05:00
Alex
622a330d82
chore: slideshow transition improvement ( #29079 )
...
* chore: better slideshow transition
* chore: tune
* simplify setup
* better default
* fix: correctly zoom alternatively
* lint
2026-06-15 10:10:05 -05:00
shenlong and shenlong-tanwen
296cd40da9
refactor: nullable settings key ( #28988 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-06-11 18:05:50 -05:00
Alex and shenlong-tanwen
8132e8a38c
feat: image quality option in sharing ( #28918 )
...
* feat: share with quality options
* merge main
* clean up
* refactor
* translation
* translation
* add settings and default behavior
* fix: lint
* cleanup
* merge main
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-06-10 09:26:09 -05:00
shenlong and shenlong-tanwen
4bc411b7c7
revert: clear album description sends null instead of empty string ( #28956 )
...
Revert "fix(mobile): clear album description sends null instead of empty string (#28817 )"
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-06-09 22:05:37 -05:00
Yaros
346b98ed4f
feat(mobile): min face count per-user ( #28805 )
2026-06-05 13:16:07 -04:00
Timon
28e42f7e29
refactor(mobile): use Optional only on API boundary ( #28845 )
2026-06-05 04:29:13 +05:30
Yaros
733373c0ca
feat(mobile): ocr support ( #26523 )
2026-06-05 04:29:03 +05:30
shenlong and shenlong-tanwen
6b0fd89cd2
refactor: partner-page ( #28783 )
...
* refactor: partner-page
* cleanup
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-06-04 09:05:45 -04:00