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
Adam Gastineau
241ca1e2a2
chore(mobile): make Person Store reactive via Drift ( #31661 )
2026-09-18 11:21:31 -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
Santo Shakil
c68ecb3892
feat(mobile): write the previous checksum when the upload finishes ( #31577 )
...
* write the previous checksum when the upload finishes
* ask the server for the checksum when the upload has none
2026-09-16 23:47:02 +06:00
Santo Shakil
962ffaacc1
feat(mobile): stack edited photos over the original on upload ( #31082 )
...
* feat(mobile): stack edited photos over the original on upload
* stack through the asset service and give the live photo still its task metadata
* add plain photo stacking tests and the 2x2 edit detection matrix
2026-09-15 11:22:14 -07: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
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
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
a066b5f301
fix(mobile): order album/place/person timelines by local date ( #29338 )
...
* fix(mobile): order album/place/person timelines by local date
* fold the timeline date ordering into one helper and tighten the tests
* drop the redundant none guard from the place asset query
* format
2026-08-20 13:52:33 +06: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
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
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
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
49a821b0d0
chore: fix mobile test flakiness ( #29325 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-06-25 22:56:59 +05:30
Santo Shakil
12b7cd066b
fix(mobile): show memories with no showAt/hideAt in the timeline lane ( #29158 )
2026-06-16 18:46:52 +00: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
Santo Shakil
e2954b6411
fix(mobile): show albums whose assets are all trashed ( #28985 )
2026-06-11 09:41:02 -05:00
Santo Shakil
07813135b5
fix(mobile): deduplicate people in asset details panel ( #28972 )
2026-06-10 14:37:45 +00:00
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
shenlong and shenlong-tanwen
14aff51da9
refactor: rename metadata to settings ( #28691 )
...
rename metadata to settings
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-05-30 10:27:55 -05:00
shenlong and shenlong-tanwen
3b23f71a3f
refactor: cleanup metadata ( #28485 )
...
jason-ify metadata
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-05-28 01:19:25 +05:30
Alex
4a7f06e8fd
feat: upload and add local asset directly to album ( #28123 )
...
* feat: manually upload local assets to album
* feat: manually upload local assets to album
* refactor
* Upload status
* pr feedback
2026-05-18 20:31:22 +05:30
shenlong and shenlong-tanwen
0a4ed6fd71
refactor: migrate viewer config to metadata table ( #28396 )
...
* refactor: app metadata
* refactor to per row store
* cleanup
* more test
* review changes
* more refactor
* refactor
* migrate primary color
* migrate dynamic theme
* migrate colorfulInterface
* cleanup providers
* migrate cleanup
* migrate mapconfig
* remove unused keys
* migrate timeline config
* migrate image config
* migrate viewer config
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-05-13 09:36:19 -05:00
shenlong and shenlong-tanwen
faab9e620d
refactor: medium repository context helpers ( #28311 )
...
* refactor: medium repository context helpers
* test: add regress test for 26723
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-05-09 08:19:31 -05:00
stfn and Stefan Friedli
3100bd5eed
fix(mobile): avoid duplicate assets in album view ( #28152 )
...
fix(mobile): avoid duplicate assets in remote album timeline
Co-authored-by: Stefan Friedli <stefan@stefanfriedli.ch >
2026-05-09 08:24:54 +07:00
shenlong and shenlong-tanwen
97100a4362
refactor: app metadata ( #28113 )
...
* refactor: app metadata
* refactor to per row store
* cleanup
* more test
* review changes
* more refactor
* refactor
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-05-05 10:45:51 +07:00
4bfb8b36c2
chore!: migrate album owner to album_user ( #27467 )
...
Co-authored-by: mertalev <101130780+mertalev@users.noreply.github.com >
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-04-22 16:52:23 +02:00
Luis Nachtigall
539a39ae49
refactor(mobile): Migrate durationInSeconds to durationMs ( #26615 )
2026-04-20 23:28:11 -04:00
shenlong and shenlong-tanwen
d9011c0829
refactor: test organisation and service test ( #27991 )
...
* refactor: test organisation
# Conflicts:
# mobile/test/unit/utils/editor_test.dart
* regroup hash_service_test
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-04-20 17:45:20 -04:00
shenlong and shenlong-tanwen
4b8f90aa55
refactor: remote album repository test to use context ( #26481 )
...
* refactor: remote album repository test to use context
* refactor: medium repo context (#26482 )
* refactor: medium repo context
* store userId in closure
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-02-24 13:25:07 +00:00
shenlong and shenlong-tanwen
17b327bfcd
refactor: medium repository context ( #26472 )
...
refactor: repository test context
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-02-23 21:34:21 +00:00