Adam Gastineau
8e04e6e2c6
fix(mobile): prevent inner mutability on Freezed classes ( #31229 )
...
* fix(mobile): prevent inner mutability on Freezed classes
* Minor fixes
2026-09-03 21:04:58 +05:30
Adam Gastineau
6d85f202f4
fix(mobile): switch to new OpenAPI int in RotateParameters ( #31246 )
2026-09-03 14:32:01 +00:00
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
Adam Gastineau
11cdfa9c5e
chore(mobile): remove commited db.repository.steps.dart ( #30910 )
2026-08-22 07:37:47 +05:30
Santo Shakil
a490cea1c4
fix(mobile): dedupe stale remote_asset rows on sync ( #28445 )
...
* fix(mobile): dedupe stale remote_asset rows on sync
queue a pre-delete on the matching partial-index tuple before each
upsert in updateAssetsV1/V2 so the second insert does not crash on
SqliteException(2067) when the server re-issues a new id for the
same (ownerId, checksum). closes #22522 #27186 .
* run the dedupe deletes before the inserts and keep only the last duplicate per payload
* switch the asset upsert to insert or replace
* trim the dedupe tests to the essentials
2026-08-21 11:13:48 +00:00
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
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
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
shenlong and shenlong-tanwen
cafd6c7c0f
refactor: cleanup actions & action tests ( #30265 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-08-01 08:06:44 +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
858aeadce8
chore(mobile): Apply stricter linting rules for Flutter and known issues ( #30373 )
2026-07-30 15:15:35 -04: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
27a29b6fab
chore(mobile): remove Drift generated code ( #30297 )
...
* chore(mobile): remove Drift generated code
* Remove Drift test generated files from tree
* Make static_analysis use the shared mobile:codegen action
* Remove static_analysis generated file diffing
2026-07-29 20:29:07 +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
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
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
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
Santo Shakil
4938fd4c89
fix(mobile): back up files moved into a watched folder on android ( #29872 )
2026-07-21 19:09:50 +05:30
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
9cea3f2375
chore: pump drift ( #29113 )
...
* chore: pump drift
* run codegen
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-07-16 17:32:30 +00:00
ffafc144c6
refactor: use single bucket for none grouping ( #29880 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
Co-authored-by: Alex <alex.tran1502@gmail.com >
2026-07-13 15:01:59 -05: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
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
Ben Beckford and Alex
c7b4a798cb
fix: incorrect grouping of recently added assets ( #29666 )
...
* fix: incorrect grouping of recently added assets
* chore(web): lint
* chore(web): refactor timeline utc to local dates
* chore(mobile): index remote asset upload dates
---------
Co-authored-by: Alex <alex.tran1502@gmail.com >
2026-07-07 11:21:58 -05:00
shenlong and shenlong-tanwen
0ebb723b39
fix: wrap migrations in transaction ( #29664 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-07-07 10:54:24 -05:00
Santo Shakil and mertalev
58b1c5e8fb
fix(mobile): fix 10-bit heic and avif colors on android ( #29631 )
...
* fix(mobile): fix 10-bit heic and avif colors on android
* fix(mobile): share the decode pool across flutter engines
* vectorize conversion
---------
Co-authored-by: mertalev <101130780+mertalev@users.noreply.github.com >
2026-07-06 21:16:09 +00:00
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
0f49bcbd27
chore: do not optimize on cleanup ( #29118 )
2026-06-16 12:42:12 -04: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
9cb94343d1
fix(mobile): keep timezone when editing asset date time ( #28978 )
...
* fix(mobile): keep timezone when editing asset date time
* fix(mobile): negative utc offsets with minutes off by an hour
2026-06-10 21:31:31 -05:00
Santo Shakil
07813135b5
fix(mobile): deduplicate people in asset details panel ( #28972 )
2026-06-10 14:37:45 +00:00
Yaros
346b98ed4f
feat(mobile): min face count per-user ( #28805 )
2026-06-05 13:16:07 -04:00
shenlong and shenlong-tanwen
60683bd91e
fix: cross isolate drift watchers ( #28862 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-06-05 12:15:41 -05:00
Yaros
733373c0ca
feat(mobile): ocr support ( #26523 )
2026-06-05 04:29:03 +05:30
shenlong and shenlong-tanwen
58528cad08
refactor: replace drift_flutter with drift_sqlite_async ( #28440 )
...
replace drift_flutter with drift_sqlite_async
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-06-05 00:01:50 +05:30
99281de6ab
refactor!: disallow star rating < 1 ( #27896 )
...
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
Co-authored-by: timonrieger <mail@timonrieger.de >
2026-06-04 17:06:28 +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