Alex
737e768212
feat: drift partners ( #20051 )
...
* feat: drift toggle partner in timeline
* partners operation
* fix: lint
2025-07-21 16:58:53 -05:00
Alex
4d27f187ea
feat: new upload (cont) ( #20029 )
...
* new upload button
* wip
* pr feedback
* fix: updateAll override album selection value
* feat: status box
* feat: handle upload resume
* re-enable websocket event
* fix: update state condition and upload status
* Better backup detail page
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2025-07-21 15:30:51 -05:00
shenlong
1dc62fce5f
fix: remove foreign constraint on stack.primaryAssetId ( #20052 )
...
* fix: remove foreign constraint in stack.primaryAssetId
* fix migration
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2025-07-21 15:20:41 -05:00
Alex
fafb88d31c
feat(mobile): new upload ( #18726 )
2025-07-19 04:58:53 +00:00
Daimolean
7bae49ebd5
feat(mobile): people sync ( #19777 )
...
* feat(mobile): drift people sync
* merge main
---------
Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-07-18 14:21:39 +00:00
shenlong
f32cd74232
feat: show stacks in asset viewer ( #19935 )
...
* feat: show stacks in asset viewer
* fix: global key issue and flash on stack asset change
* feat(mobile): stack and unstack action (#19941 )
* feat(mobile): stack and unstack action
* add custom model
* use stackId from ActionSource
* Update mobile/lib/providers/infrastructure/action.provider.dart
Co-authored-by: shenlong <139912620+shenlong-tanwen@users.noreply.github.com>
---------
Co-authored-by: shenlong <139912620+shenlong-tanwen@users.noreply.github.com>
* fix: lint
* fix: bad merge
* fix: test
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
Co-authored-by: Alex <alex.tran1502@gmail.com>
Co-authored-by: Daimolean <92239625+wuzihao051119@users.noreply.github.com>
Co-authored-by: wuzihao051119 <wuzihao051119@outlook.com>
2025-07-18 04:31:04 +00:00
Daimolean
8491fe459d
feat(mobile): drift search page ( #19811 )
...
* feat(mobile): drift search page
* migrate to drift page
---------
Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-07-17 15:25:25 -05:00
shenlong
2046dcc5b4
fix: mobile storage status check ( #19986 )
...
* fix: _shouldUseLocalAsset check
* show storage indicators in local album view
* update local thumb provider to work with remote asset
* update checks
* do not show upload button when selection is only merged assets
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-07-17 17:13:21 +00:00
shenlong
531515daf9
feat: add toggle to switch between Isar and Sqlite ( #19953 )
2025-07-17 11:12:29 -05:00
Mert
649221176c
refactor(mobile): delete local button in new timeline ( #19961 )
...
* delete local action button
* include source
* move prompt
* batch
2025-07-16 16:25:41 -05:00
Alex
34620e1e9a
feat: album edit ( #19936 )
2025-07-15 20:37:44 -05:00
Daimolean
ba262fbaa8
feat(mobile): drift place page ( #19914 )
...
* feat(mobile): drift place page
* merge main
* feat(mobile): drift place detail page (#19915 )
---------
Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-07-15 15:10:12 +00:00
Daimolean
0acbf1199a
feat(mobile): drift user metadata sync ( #19894 )
...
* feat(mobile): drift user metadata sync
* change text to jsonb
* update primary key
---------
Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-07-15 09:17:35 -05:00
shenlong
9abb95d34a
feat: handle live photos on new asset viewer ( #19926 )
...
sync and handle livePhotoVideoId in asset viewer
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2025-07-14 14:23:24 -05:00
Alex
2b07d7ac63
feat: remove from album action button ( #19884 )
...
* feat: remove from album action
* feat: remove from album action
2025-07-11 10:06:53 -05:00
shenlong
a625921e8f
refactor: timeline repo queries ( #19871 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2025-07-11 14:57:46 +00:00
Alex
68db17028b
feat: new create album page ( #19731 )
...
* feat: new create album page
* finished create album flow
* refactor into stateful widgets
* refactor
* focus fix
* lint
* default sort
* pr feedback
2025-07-10 11:59:15 -05:00
Alex
feff1899ee
feat: expanded sliver app bar ( #19827 )
...
* use mutex
* feat: cool app bar
* animation
* adapt to more pages
* animation
* better animation
* fix: asset count
* Revert "fix: asset count"
This reverts commit 673a5b264b .
* fix: asset count
* fix: shaky animation on Android
* tunning
* offset SizedBox to fix scroll jump on multiselect
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2025-07-10 10:13:46 -05:00
shenlong
dfe6d27bbd
feat: sqlite video player ( #19792 )
...
* feat: video player
* use remote asset id in local query
* fix: error from pre-caching beyond total assets
* fix: flipped local videos
* incorrect aspect ratio on iOS
* ignore other storage id during equals check
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2025-07-09 09:34:25 -05:00
Daimolean
a556de67b0
feat(mobile): drift local albums page ( #19817 )
...
* feat(mobile): drift local albums page
* fix: lint
* refactor: use AsyncValue
* fix: lint
* local album thumbnail
---------
Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-07-08 15:37:57 +00:00
Daimolean
172388c455
feat(mobile): drift recently taken page ( #19814 )
...
* feat(mobile): drift recently taken page
* fix: lint
* refactor(mobile): timeline queries (#19818 )
refactor: remote assets query to take single user id
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
---------
Co-authored-by: shenlong <139912620+shenlong-tanwen@users.noreply.github.com>
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2025-07-08 13:54:29 +00:00
Alex
87dd09d103
feat: selection mode timeline ( #19734 )
...
* feat: new page
* force multi-selection state
* fix: provider scoping
* Return selected assets
* lint
* lint
* simplify provider scope and drop drilling
* selection styling
2025-07-08 10:11:37 +05:30
Daimolean
683af67344
feat(mobile): drift video page ( #19784 )
...
* feat(mobile): drift video page
* filter motional parts
* remove status indicator join
---------
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2025-07-07 18:51:49 +00:00
Daimolean
d149d6fa3f
feat(mobile): drift favorite page ( #19783 )
...
* feat(mobile): drift favorite page
* remove status indicator join
2025-07-07 12:57:08 -05:00
Daimolean
cf91d9bdfc
feat(mobile): drift locked folder page ( #19746 )
...
* feat(mobile): drift locked folder page
* feat: include local indicator
* remove join in bucket
* remove status indicator join
---------
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2025-07-07 04:29:33 +00:00
Daimolean
5579554532
feat(mobile): drift trash page ( #19745 )
...
* feat(mobile): drift trash page
* feat: include local indicator
* remove join in bucket
* remove indicator join
---------
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2025-07-07 04:05:40 +00:00
Daimolean
56756baea2
feat(mobile): drift archive page ( #19740 )
...
* feat(mobile): drift archive page
* fix: lint
* feat: include local indicator
* remove join in bucket
* remove showing local indicator in bucket
---------
Co-authored-by: Alex <alex.tran1502@gmail.com>
Co-authored-by: alex <alex@localhost-live.localdomain>
2025-07-07 03:51:58 +00:00
Daimolean
cc471806fe
feat(mobile): stack sync ( #19735 )
...
* feat(mobile): stack sync
* fix: lint
* Update mobile/lib/infrastructure/repositories/sync_api.repository.dart
Co-authored-by: Alex <alex.tran1502@gmail.com>
---------
Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-07-06 22:01:09 -05:00
shenlong
73733370a2
feat: adds bottom sheet map and actions ( #19726 )
...
* reduce timeline rebuilds
* feat: adds bottom sheet map and actions (#19692 )
* adds bottom sheet map and actions
* PR feedbacks
* only reload the asset viewer if asset is changed
* styling tweak
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
Co-authored-by: Alex <alex.tran1502@gmail.com>
* rename singleton and remove event prefix
* adds bottom sheet map and actions
* PR feedbacks
* refactor: use provider for viewer state
* feat: adds top and bottom app bar
* add safe area to bottom app bar
* change app and bottom bar color
* viewer - always have black background
* use the full width for the bottom sheet on landscape as well
* constraint the bottom sheet to not expand all the way
* add padding for location details in landscape
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-07-04 14:08:06 -05:00
Alex
4a2cf28882
feat: memories in new timeline ( #19720 )
...
* feat: memories sliver
* memories lane
* display and show memory
* fix: get correct memories
* naming
* pr feedback
* use equalsValue for visibility
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2025-07-04 13:49:15 -05:00
Alex
445f9174ea
feat: memories sync ( #19644 )
...
* feat: memories sync
* Update mobile/lib/infrastructure/repositories/sync_stream.repository.dart
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update mobile/lib/infrastructure/repositories/sync_stream.repository.dart
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* show sync information
* tests and pr feedback
* pr feedback
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-07-02 19:18:37 +00:00
shenlong
7855974a29
feat(mobile): sqlite asset viewer ( #19552 )
...
* add full image provider and refactor thumb providers
* photo_view updates
* wip: asset-viewer
* fix controller dispose on page change
* wip: bottom sheet
* fix interactions
* more bottomsheet changes
* generate schema
* PR feedback
* refactor asset viewer
* never rotate and fix background on page change
* use photoview as the loading builder
* precache after delay
* claude: optimizing rebuild of image provider
* claude: optimizing image decoding and caching
* use proper cache for new full size image providers
* chore: load local HEIC fullsize for iOS
* make controller callbacks nullable
* remove imageprovider cache
* do not handle drag gestures when zoomed
* use loadOriginal setting for HEIC / larger images
* preload assets outside timer
* never use same controllers in photo-view gallery
* fix: cannot scroll down once swipe with bottom sheet
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-07-02 18:24:37 +00:00
Daimolean
a644cabab6
feat(mobile): trash and delete action ( #19681 )
...
* feat(mobile): trash and delete action
* fix lint
2025-07-02 12:26:07 -05:00
Daimolean
b8e67d0ef9
fix(mobile): filter deleted assets ( #19683 )
2025-07-02 12:25:14 -05:00
Daimolean
83afd49f5c
feat(mobile): edit location action ( #19645 )
...
* change dto from integer to double
* feat(mobile): edit location action
* patch openapi
* refactor in provider
* fix lint
* chore: not showing success prompt if dimissed
* i18n
---------
Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-07-01 16:52:11 +00:00
Alex
3f330c6476
feat: drift album page ( #19564 )
...
* feat: drift album page
* feat: page renderred
* feat: asset count
* refactor: use statefulwidget
* refactor: private widgets
* refactor: service layer
* refactor: import
* feat: get owner name
* pr feedback
* pr feedback
* pr feedback
* pr feedback
2025-07-01 07:54:50 +05:30
Daimolean
32a7087883
feat(mobile): archive action ( #19630 )
...
* feat(mobile): archive action
* fix: lint
* Update i18n/en.json
Co-authored-by: Alex <alex.tran1502@gmail.com>
* fix: lint
* fix: lint
---------
Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-06-30 14:38:15 -05:00
Alex
4c3fcdc745
feat: favorite action ( #19623 )
2025-06-30 12:21:09 -05:00
shenlong
72a53f43c8
feat: use sqlite timeline user provider ( #19577 )
...
use sqlite timeline user provider
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2025-06-27 08:29:27 -05:00
shenlong
ea3a14ed25
feat(mobile): add album asset sync ( #19522 )
...
* feat(mobile): add album asset sync
* add SyncAlbumToAssetDeleteV1 to openapi-spec
* update delete queries to use where in statements
* clear remote album when clear remote data
* fix: bad merge
* fix: bad merge
* fix: _SyncAckV1 return type
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
Co-authored-by: wuzihao051119 <wuzihao051119@outlook.com>
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2025-06-26 08:50:39 -05:00
shenlong
5b0575b956
refactor: DCM - const border radius, constructor & switch expressions ( #19515 )
...
* enable border radius, switch exp, const constructor
* regenerate provider
* more formatting
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2025-06-25 13:06:24 +05:30
Alex
1923f1a887
refactor(mobile): interfaces refactor ( #19415 )
...
* refactor(mobile): interfaces refactor
* generate files
2025-06-23 11:27:44 -05:00
Alex
bce4f93c90
refactor(mobile): (1) user.interface.dart ( #19322 )
...
* refactor(mobile): user.interface.dart
* generate files
* refactor(mobile): (2) user_api.interface.dart (#19323 )
* refactor(mobile): (2) user_api.interface.dart
* generate files
* refactor(mobile): (3) sync_stream.interface.dart (#19325 )
2025-06-19 23:25:18 +00:00
shenlong
db68d1af9b
feat(server): add duration to SyncAssetV1 ( #19196 )
...
add duration to SyncAssetV1
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2025-06-17 08:09:50 -04:00
shenlong
bcda2c6e22
feat(mobile): sqlite timeline ( #19197 )
...
* wip: timeline
* more segment extensions
* added scrubber
* refactor: timeline state
* more refactors
* fix scrubber segments
* added remote thumb & thumbhash provider
* feat: merged view
* scrub / merged asset fixes
* rename stuff & add tile indicators
* fix local album timeline query
* ignore hidden assets during sync
* ignore recovered assets during sync
* old scrubber
* add video indicator
* handle groupBy
* handle partner inTimeline
* show duration
* reduce widget nesting in thumb tile
* merge main
* chore: extend cacheExtent
* ignore touch events on scrub label when not visible
* scrub label ignore events and hide immediately
* auto reload on sync
* refactor image providers
* throttle db updates
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2025-06-16 20:37:45 +05:30
Alex
5f5308631e
chore: Revert "feat(mobile): remote album sync" ( #19159 )
...
Revert "feat(mobile): remote album sync (#18876 )"
This reverts commit 242817c49a .
2025-06-13 16:15:39 +00:00
Daimolean
242817c49a
feat(mobile): remote album sync ( #18876 )
...
* feat(mobile): remote album sync
* fix: lint
* missing createdAt field
* lint
2025-06-09 10:09:14 -05:00
shenlong
2d05a5482f
refactor: logger service and remove dynamic ( #17733 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2025-06-08 22:01:31 -05:00
shenlong
84024f6cdc
refactor(mobile): simplify local sync and hash service ( #18970 )
...
* Hash service review changes
* local album repo test
* simplify local album repo method names
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2025-06-08 21:56:44 -05:00
shenlong
75c24f0023
feat(mobile): sync local asset width & height from platform ( #18994 )
...
* add width and height to sqlite entities
* sync width & height from platform
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2025-06-08 21:50:54 -05:00