Mert
9ae42106cc
fix(mobile): stack row blocking gestures and not showing up ( #21854 )
2025-09-18 06:16:14 +00:00
shenlong
532ec10d5f
refactor: hashing service ( #21997 )
...
* download only backup selected assets
* android impl
* fix tests
* limit concurrent hashing to 16
* extension cleanup
* optimized hashing
* hash only selected albums
* remove concurrency limit
* address review comments
* log more info on failure
* add native cancellation
* small batch size on ios, large on android
* fix: get correct resources
* cleanup getResource
* ios better hash cancellation
* handle graceful cancellation android
* do not trigger multiple hashing ops
* ios: fix circular reference, improve cancellation
* kotlin: more cancellation checks
* no need to create result
* cancel previous task
* avoid race condition
* ensure cancellation gets called
* fix cancellation not happening
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
Co-authored-by: mertalev <101130780+mertalev@users.noreply.github.com >
Co-authored-by: Alex <alex.tran1502@gmail.com >
2025-09-17 23:42:37 -05:00
shenlong
61c3f27fdc
feat: add configurable backup on charging only and delay settings for android ( #22114 )
...
* feat: add configurable on charging only and delay
* Segmented and style the settings
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
Co-authored-by: Alex <alex.tran1502@gmail.com >
2025-09-17 14:13:49 +00:00
Mert
b79a2eb6b9
chore(mobile): const platform checks ( #21878 )
...
* use `defaultTargetPlatform`
* extension
* formatting
2025-09-15 11:13:39 -04:00
shenlong
dcee34095b
fix: reset sqlite on beta migration ( #20735 )
...
reset sync stream on migration
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2025-09-14 16:30:25 -05:00
shenlong
b26b452530
fix: do not listen for store updates in isolates ( #21947 )
...
* dispose store on isolate cleanup
* do not listen for store updates in isolates
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
Co-authored-by: Alex <alex.tran1502@gmail.com >
2025-09-14 14:50:17 -05:00
Mert
17bbcdf584
chore(mobile): add debugPrint lint rule ( #21872 )
...
* add lint rule
* update usages
* stragglers
* use dcm
* formatting
* test ci
* Revert "test ci"
This reverts commit 8f864c4e4d .
* revert whitespace change
2025-09-12 18:56:00 -04:00
Alex
42a03f2556
fix: concurrency issue ( #21830 )
2025-09-11 19:02:03 +00:00
shenlong
722a464e23
fix: android background backups ( #21795 )
...
* upload using dart client
* add connectivity api
* respect backup network setting
* comment as to why we need to wait for setForegroundAsync call
* log assets skipped due to network constraint
* dynamic spawning -> false
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
Co-authored-by: Alex <alex.tran1502@gmail.com >
2025-09-11 12:01:15 -05:00
Alex
56e5236a39
chore: clean up background tasks ( #21785 )
2025-09-10 16:17:37 -05:00
shenlong
e239b8d2fa
fix: android crash on app pause ( #21768 )
...
* revert service locks
* rename backgroundWorkerFgServiceProvider
* refactor: parallel background worker init (#21769 )
* refactor: parallel background worker init
* fix: hashing not running from the background engine (#21773 )
* init and dispose workmanager from background engine
* log message contend
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
Co-authored-by: Alex <alex.tran1502@gmail.com >
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
Co-authored-by: Alex <alex.tran1502@gmail.com >
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
Co-authored-by: Alex <alex.tran1502@gmail.com >
2025-09-10 17:15:42 +00:00
Alex
2c7b980eed
chore: make beta timeline the default ( #21751 )
...
* chore: make beta timeline the default
* fix: logic
* awaiting
* refactor
2025-09-10 12:11:46 -05:00
shenlong
67a8cab286
feat: resurrect advanced info ( #21633 )
...
* feat: resurrect advanced info
* display null values as well
* add exif details
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2025-09-10 08:38:53 -05:00
Alex
59accbf32a
fix: prevent isolate deadlock ( #21692 )
2025-09-08 19:18:13 +00:00
shenlong
059a0e8aa8
feat: sync AuthUserV1 ( #21565 )
...
* feat: sync AuthUserV1
* migration
* chore: fix analyze
* fix user updatedAt check
* fix: auth user sync query
* generate sql
* bump schema version and update migration
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
Co-authored-by: Jason Rasmussen <jason@rasm.me >
Co-authored-by: Alex Tran <alex.tran1502@gmail.com >
2025-09-08 14:00:10 -05:00
shenlong
fd4c2acde8
feat: handle SyncResetV1 ( #20732 )
...
* feat: handle SyncResetV1
* auto retry on reset and handle SyncCompleteV1
* fix tests
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
Co-authored-by: Alex <alex.tran1502@gmail.com >
2025-09-08 09:48:26 -05:00
Alex
bcfb5bee1f
feat: album info sync ( #21103 )
...
* wip
* album creation
* fix: album api repository no invalidating after logging out
* add linkedRemoteAlbumId column and migration
* link/unlink remote album
* logic to find and add new assets to album
* pr feedback
* add toggle option to backup option page
* refactor: provider > service
* rename
* Handle page pop manually
* UI feedback for user creation and sync linked album
* uncomment migration
* remove unused method
2025-09-04 18:44:10 +00:00
shenlong
5fe954b3c9
fix: use lock to synchronise foreground and background backup ( #21522 )
...
* fix: use lock to synchronise foreground and background backup
# Conflicts:
# mobile/lib/domain/services/background_worker.service.dart
# mobile/lib/platform/background_worker_api.g.dart
# mobile/pigeon/background_worker_api.dart
* add timeout to the splash-screen acquire lock
* fix: null check on created date
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
Co-authored-by: Alex <alex.tran1502@gmail.com >
2025-09-04 11:44:33 -05:00
shenlong
270a0ff986
chore: log name and createdAt of asset on hash failures ( #21546 )
...
* chore: log name and createdAt of asset on hash failures
* add album name to hash failure logs
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2025-09-03 09:58:03 -05:00
shenlong
9d3f10372d
refactor: simplify background worker ( #21558 )
...
* chore: log hash starting
* chore: android - bump the min worker delay
* remove local sync only task and always enqueue background workers
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2025-09-03 09:57:30 -05:00
Alex
5ce946bb5b
fix: null check ( #21536 )
2025-09-02 19:21:41 -05:00
shenlong
674faf2e57
fix: local sync task never runs on iOS ( #21491 )
...
* fix: local sync task never runs on iOS
* chore: rename ios register method
* refactor from using dart callback to dart entrypoint + more logs
* check if file exists before hashing
* reschedule local sync task
* chore: rename background worker logger
* refactor: move file exists check inside repo
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2025-09-03 02:05:58 +05:30
shenlong
ec2f94cae8
fix: handle datetime outside the valid range supported by dart ( #21526 )
...
* fix: handle datetime outside the valid range supported by dart
* add tests for tryFromSecondsSinceEpoch
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2025-09-02 14:20:49 -05:00
shenlong
0df88fc22b
feat: beta background sync ( #21243 )
...
* feat: ios background sync
# Conflicts:
# mobile/ios/Runner/Info.plist
* feat: Android sync
* add local sync worker and rename stuff
* group upload notifications
* uncomment onresume beta handling
* rename methods
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
Co-authored-by: Alex <alex.tran1502@gmail.com >
2025-08-28 14:11:54 +00:00
shenlong
2be1a58c5b
fix: prefer local video if available ( #21119 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
Co-authored-by: Alex <alex.tran1502@gmail.com >
2025-08-23 11:18:57 -05:00
shenlong
6f4f79d8cc
feat: migrate store to sqlite ( #21078 )
...
* add store entity and migration
* make store service take both isar and drift repos
* migrate and switch store on beta timeline state change
* chore: make drift variables final
* dispose old store before switching repos
* use store to update values for beta timeline
* change log service to use the proper store
* migrate store when beta already enabled
* use isar repository to check beta timeline in store service
* remove unused update method from store repo
* dispose after create
* change watchAll signature in store repo
* fix test
* rename init isar to initDB
* request user to close and reopen on beta migration
* fix tests
* handle empty version in migration
* wait for cache to be populated after migration
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
Co-authored-by: Alex <alex.tran1502@gmail.com >
2025-08-21 14:58:50 -05:00
Alex
aefa62b234
fix: asset_viewer page viewing experience ( #20889 )
...
* fix: zoomed in effect on swiped when bottom sheet is open
* fix: memory leaked
* fix: asset out of range when swiping in asset_viewer
2025-08-13 11:35:42 -05:00
Brandon Wees
0d60199514
fix(mobile): newest/oldest album sort ( #20743 )
...
* fix(mobile): newest/oldest album sort
* chore: use sqlite to determine album asset timestamps
* Fix missing future
Co-authored-by: Alex <alex.tran1502@gmail.com >
* fix: async handling of sort
* chore: tests
* chore: code review changes
* fix: use created at for newest asset
* fix: use localDateTime for sorting
* chore: cleanup
* chore: use final
* feat: loading indicator
---------
Co-authored-by: Alex <alex.tran1502@gmail.com >
2025-08-12 14:46:50 -05:00
Brandon Wees
3cd7f5ab90
feat: use sqlite for logging ( #20414 )
...
* feat: use drift for logging
* fix: tests
* feat: use the truncate limit from constants.ts as default
* chore: move setupAll to top level and restructure
* chore: code review changes
* fix: inherits
* feat: raise log line limit to 2000
* limit getAll to 250 lines
* delete DLog and make LogRepository not a singleton
* fix: drift build settings and `make migration`
* fix: tests
* remove sensitive log
---------
Co-authored-by: Alex <alex.tran1502@gmail.com >
2025-08-06 10:49:29 -05:00
Mert
0121043d7d
refactor(mobile): sqlite-based map view ( #20665 )
...
* feat(mobile): drift map page
* refactor: map query
* perf: do not filter markers
* fix: refresh timeline by key
* chore: rename
* remove ref listen and global key
* clean code
* remove locked and favorite
* temporary change for stress test
* optimizations
* fix bottom sheet
* cleaner bounds check
* cleanup
* feat: back button
---------
Co-authored-by: wuzihao051119 <wuzihao051119@outlook.com >
Co-authored-by: Alex <alex.tran1502@gmail.com >
2025-08-06 10:05:49 -05:00
Zack Pollard
02381343ff
fix: album asset sync must sync new assets in a shared album ( #20655 )
2025-08-05 17:53:51 +01:00
Brandon Wees
7118dca559
feat(mobile): album shared user editing ( #20671 )
...
* feat(mobile): album shared user editing
* fix: album leaving
* i18n and options button
---------
Co-authored-by: Alex <alex.tran1502@gmail.com >
2025-08-05 15:31:58 +00:00
shenlong
4efbf36d82
chore: log asset name on hash failures ( #20608 )
2025-08-04 06:07:50 +00:00
shenlong
f416342eff
fix: clear local file cache before upload ( #20448 )
...
* clear local file cache before upload
* clear cache during hashing
* fix test
* add button to clear cache manually
* add button to clear cache manually
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
Co-authored-by: Alex <alex.tran1502@gmail.com >
2025-07-30 14:32:38 -05:00
Brandon Wees
097e132fba
fix: user profile images not working in beta timeline ( #20203 )
...
* fix user icons in album view
* revert updateUsersV1 change
* fix: UserDto merge issues
* fix: update user entity
* revert what I thought were merge issues
turns out drift cant figure out when it needs to gen a file...
* fix removed line
* handle defaults for older servers
* feat: checkpoint migrations
* fix: use parenthesis instead of brackets
* Update 1753800911775-ProfileImageCheckpointRemoval.ts
* fix: sync stream updateUsersV1
2025-07-30 11:09:28 -05:00
Alex
29f16c6a47
feat: people page/sheet/detail ( #20309 )
2025-07-30 03:07:53 +00:00
shenlong
268b411a6f
fix: sync is_favorite from native ( #20412 )
...
* feat: sync is_favorite from native
* handle favorite during upload
* Update mobile/ios/Runner/Sync/MessagesImpl.swift
Co-authored-by: Alex <alex.tran1502@gmail.com >
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
Co-authored-by: Alex <alex.tran1502@gmail.com >
2025-07-29 21:57:04 -05:00
shenlong
e52b9d15b5
chore: bump dart sdk to 3.8 ( #20355 )
...
* chore: bump dart sdk to 3.8
* chore: make build
* make pigeon
* chore: format files
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2025-07-28 14:04:03 -05:00
beposec
f2141de5bb
fix(mobile): Fix a typo in SyncStreamService Logging ( #20283 )
...
Fix typo in logging
2025-07-26 11:29:42 +00:00
Brandon Wees
f9292c9c96
fix(mobile): deep links when using the beta timeline ( #20111 )
...
* fix: deep links when using the beta timeline
* Update remote_asset.repository.dart
* Update mobile/lib/domain/services/asset.service.dart
Co-authored-by: Alex <alex.tran1502@gmail.com >
* return optional from album get
* do not include trashed assets in album asset count
Co-authored-by: shenlong <139912620+shenlong-tanwen@users.noreply.github.com >
* formatting
---------
Co-authored-by: Alex <alex.tran1502@gmail.com >
Co-authored-by: shenlong <139912620+shenlong-tanwen@users.noreply.github.com >
2025-07-25 17:02:49 +00:00
shenlong
ad65e9011a
chore: bump line length to 120 ( #20191 )
2025-07-25 02:37:22 +00:00
shenlong
79157e1043
fix: fallback auto grouping to day grouping ( #20156 )
...
fallback auto grouping to day grouping
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2025-07-24 19:28:40 +00:00
Daimolean
ac44f6d1e0
feat(mobile): asset face sync ( #20022 )
...
* feat(mobile): asset face sync
* fix: lint
---------
Co-authored-by: Alex <alex.tran1502@gmail.com >
2025-07-22 17:17:52 +00:00
Brandon Wees
2efca67217
feat(mobile): beta sync stats page ( #19950 )
...
* show beta sync stats
* show status next to jobs
* use drift devtools reset database impl
* dcm fixes
* fix: hash count
* styling
---------
Co-authored-by: Alex <alex.tran1502@gmail.com >
2025-07-22 16:24:32 +00:00
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
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