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
a4af86282d
fix(mobile): resume after the app was launched in the background ( #31557 )
...
* run the first resume after a background launch with a full local sync
* keep the untouched lines of the swift file as they were
* check the background launch at the first resume even after a pause
2026-09-24 10:15:44 +06: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
Adam Gastineau
bd59a373de
fix(mobile): make EXIF provider reactive ( #31552 )
...
* fix(mobile): make EXIF provider reactive
* Fix tests
* Remove unnecessary invalidations
2026-09-16 17:36:37 +00:00
shenlong and shenlong-tanwen
bea31eb064
fix: make local album provider reactive ( #31582 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-09-15 08:11:31 -05:00
shenlong and shenlong-tanwen
ca4637adc7
refactor: reenable cloud ids ( #30345 )
...
* refactor: reenable cloud ids
# Conflicts:
# mobile/lib/domain/utils/migrate_cloud_ids.dart
* cleanup error formatting
* throw on unsupported
* move to freezed and slice http batching
* simplify remote asset duplication handling
* kUnsupportedOSError casing
* simplify _resolveCloudIds in local sync service
* cleanup and doccomment
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-09-15 00:12:26 +05:30
shenlong and shenlong-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
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
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
Santo Shakil
b1a93688d3
fix(mobile): refresh the memory lane after resume ( #31239 )
2026-09-03 20:00:22 -05:00
Santo Shakil
7211efa6cb
chore(mobile): log app resume and pause ( #31207 )
2026-09-02 04:28:06 -07:00
Santo Shakil
c17a119735
fix(mobile): refresh server info when the websocket connects ( #31144 )
...
refresh the server features and config when the websocket connects
2026-08-31 19:09:35 +06: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
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
Santo Shakil
9ab12b0c4e
fix(mobile): mark finished downloads complete instead of leaving them stuck ( #29023 )
...
* wire download status to the ui and dismiss finished entries
* mark finished downloads with a checkmark instead of dismissing
* use the theme color for the done icon and guard status updates on a known task
2026-08-17 16:10:26 +06: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
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
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
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
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
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
9862e50aab
fix(mobile): decode remote thumbnails at displayed size ( #29965 )
...
* fix(mobile): decode remote thumbnails at displayed size
* use nullable decode size and reuse the tapped thumbnail in the viewer
* clean up decode size naming and guards
2026-08-10 21:14:23 +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
shenlong and shenlong-tanwen
63b90ec43d
fix: map not updating after viewing an asset ( #30601 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-08-06 16:26:12 +05:30
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
Santo Shakil
f0386ce089
fix(mobile): handle asset websocket events ( #30499 )
2026-08-06 00:15:21 +06:00
shenlong and shenlong-tanwen
555fbde840
fix: _safeRun is finally safe ( #30571 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-08-05 21:22:31 +05:30
shenlong and shenlong-tanwen
1a40ef66b4
chore: log reason for foreground backup cancellation ( #30570 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-08-05 20:18:27 +05:30
Santo Shakil
b2eb62dfa5
fix(mobile): keep backup remainder from going negative ( #29011 )
...
* recount the backup counters when a run starts
* clear the error before the recount
* create the cancel token before the recount
2026-08-05 20:17:05 +05:30
shenlong and shenlong-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
shenlong and shenlong-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
Santo Shakil
8d2fdd6b8f
fix(mobile): stop websocket reconnect loop draining battery when server is unreachable ( #29901 )
...
* fix(mobile): stop websocket reconnect loop draining battery when server is unreachable
* fix(mobile): reconnect when the websocket is inactive and guard resume against pause
* move the test mocks to the service mocks file
2026-08-04 18:51:28 +00:00
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
Santo Shakil
e5c3bdad17
fix(mobile): sync stack changes from the websocket ( #30479 )
2026-08-03 19:53:29 +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
9fcbb6eefc
refactor: mobile edit asset actions ( #30264 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-08-01 08:06:42 +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