405 Commits
Author SHA1 Message Date
Santo ShakilandCodex e66d5a70e7 fix(mobile): hide server addresses in upload error logs (#32550)
* fix(mobile): hide server addresses in upload error logs

* fix(mobile): remove duplicate upload failure logs

(cherry picked from commit 211773f778ca24ac33e64d46e50b3ab46702c851)
2026-10-22 05:22:44 +03:00
Santo ShakilandCodex 59bf69f1d5 fix(mobile): hide server addresses and tokens in shared logs (#32287)
* fix(mobile): hide server addresses and tokens in shared logs

* fix(mobile): stop writing server urls and oauth values to the log

* fix(mobile): redact logs where they are read

* fix(mobile): redact logs when they are written

* fix(mobile): hide ipv6 addresses and name labels after their settings

(cherry picked from commit 89d2de1274a3e1a70a6169f4cfe1feebfb327791)
2026-10-22 05:18:40 +03:00
Luis NachtigallandCodex 57b2b007a8 fix(mobile): show play instead of replay button for unplayed videos (#32307)
* fix(mobile): show play instead of replay button for unplayed videos

* fix(video): clarify comment for playback status handling

(cherry picked from commit 0d1e1ffecd5df8793ee020f90ddb10d6252dd5d8)
2026-10-14 21:24:14 +03:00
20472b34dc fix(mobile): don't start the foreground backup in iOS background launches (#32002)
fix(mobile): don't start the foreground backup in iOS background launches (#31943)

* fix(mobile): don't start the foreground backup in iOS background launches

* add a TODO to remove the background launch check

(cherry picked from commit 3e4492924541a0e73ea3c326fcfcfcd053871610)

Co-authored-by: Santo Shakil <santoshakil@users.noreply.github.com>
2026-10-02 07:22:41 +00:00
cb5ea76227 fix(mobile): make the iOS background batch wait for its remote sync (#32003)
fix(mobile): make the iOS background batch wait for its remote sync (#31942)

* fix(mobile): make the iOS background batch wait for its remote sync

* test onIosUpload itself, the worker reads its sync services from the providers

(cherry picked from commit ad93370f0287faafa7db615c726f32bd9e6d30e7)

Co-authored-by: Santo Shakil <santoshakil@users.noreply.github.com>
2026-10-02 07:22:19 +00:00
Adam GastineauandGitHub 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 ShakilandGitHub 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 GastineauandGitHub 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 GastineauandGitHub 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
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
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
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 GastineauandGitHub 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 GastineauandGitHub 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 ShakilandGitHub b1a93688d3 fix(mobile): refresh the memory lane after resume (#31239) 2026-09-03 20:00:22 -05:00
Santo ShakilandGitHub 7211efa6cb chore(mobile): log app resume and pause (#31207) 2026-09-02 04:28:06 -07:00
Santo ShakilandGitHub 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 GastineauandGitHub 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
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 GastineauandGitHub 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 GastineauandGitHub 37e033a09d chore(mobile): migrate remaining simple classes to Freezed (#30907) 2026-08-21 22:37:03 +05:30
Adam GastineauandGitHub 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 ShakilandGitHub 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
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
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
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
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
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
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 GastineauandGitHub 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 ShakilandGitHub 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 ShakilandGitHub 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 ShakilandGitHub 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
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
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 GastineauandGitHub 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 ShakilandGitHub f0386ce089 fix(mobile): handle asset websocket events (#30499) 2026-08-06 00:15:21 +06:00
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
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 ShakilandGitHub 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
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
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 ShakilandGitHub 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 ShakilandGitHub 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 ShakilandGitHub e5c3bdad17 fix(mobile): sync stack changes from the websocket (#30479) 2026-08-03 19:53:29 +05:30
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
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
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