shenlong
f19ad9726f
chore(dep): minor mobile dependency updates ( #23126 )
...
* chore(dep): minor dependency updates
* build_runner changes
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2025-10-22 10:14:44 -05:00
Alex
7b7d91a5e1
fix: get all assets for the Recents album on iOS ( #22956 )
2025-10-15 23:06:52 +05:30
Alex
7d0228a159
chore: post release tasks ( #22936 )
2025-10-15 09:31:49 -05:00
shenlong
cf52b879b1
fix: ios skip posting hash response after detached from engine ( #22695 )
...
* skip posting message after detached from engine
* review changes
* cancel plugin before destroying engine
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
Co-authored-by: Alex <alex.tran1502@gmail.com >
2025-10-13 21:09:12 -05:00
shenlong
8ee495b08f
fix: promote to foreground service before starting engine ( #22517 )
...
fix: show notification from native
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
Co-authored-by: Alex <alex.tran1502@gmail.com >
2025-10-07 08:49:43 -05:00
Alex
cf4cf56ac0
chore: post release tasks ( #22616 )
2025-10-06 20:30:23 +01:00
Alex
3af0f0c8ad
chore: post release tasks ( #22587 )
2025-10-02 20:22:14 +00:00
Alex
6c67bbd528
chore: post release tasks ( #22487 )
2025-09-30 08:19:24 -05:00
Alex
e7b57fc2f6
chore: post release tasks ( #22339 )
2025-09-25 08:36:51 -04: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
Mert
20733bd7df
fix(mobile): load original image ( #22142 )
...
load original image
2025-09-17 12:14:16 -04: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
f118bb7e08
fix(mobile): prevent concurrent refresh and processing tasks ( #22111 )
...
* task semaphore
* always call setTaskCompleted
2025-09-16 18:06:19 -04:00
Alex
a9b82a8e32
chore: post release tasks ( #22014 )
2025-09-15 18:08:25 +00:00
shenlong
d38468439b
fix: complete does not destroy engine on close ( #21943 )
...
* fix: complete does not destroy engine on close
* reset flutterApi on cleanup
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2025-09-14 14:17:12 -05:00
Alex
d84cc450f1
chore: post release tasks ( #21834 )
2025-09-11 15:15:10 -05: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
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
Mert
e427778a96
fix(mobile): pause image loading on inactive state ( #21543 )
...
* pause image loading
* make thumbhashes wait too
2025-09-04 08:40:38 -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
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
Alex
d6b8c0926f
chore: post release tasks ( #21385 )
2025-08-30 13:45:29 -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
Alex
f65dabd43a
chore: post release tasks ( #21228 )
2025-08-27 21:17:56 -05:00
Alex
605764f226
chore: post release tasks ( #21191 )
2025-08-24 21:31:56 -05:00
Alex
bedaa729e9
chore: post release tasks ( #21140 )
2025-08-23 11:06:13 -05:00
Mert
abc7bfa0ba
feat(mobile): platform thumbnail api ( #20910 )
2025-08-19 12:48:35 -04:00
Alex
acb1e513a7
chore: post release tasks ( #21042 )
2025-08-19 08:37:17 -04:00
renovate[bot]
ae15efdf2a
chore(deps): update dependency pigeon to v26 ( #20678 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Zack Pollard <zackpollard@ymail.com >
2025-08-05 10:52:03 +00:00
Alex
1b8354ed36
chore: post release tasks ( #20497 )
2025-08-01 05:38:52 -05:00
shenlong
9f20522df5
chore: add isFavorite to PlatformAsset in duplicate check ( #20427 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2025-07-30 08:44:19 -05: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
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
Brandon Wees
7d0e8f50f7
feat(mobile): deep links ( #19232 )
...
* add deep linking on ios app
* add deeplinking to android
* code review fixes
* lint
* cleanly handle malformed URIs when launching app
* refactor deep link builder/service, still have bug with navigation stack not containing TabControllerRoute
* fix: tab controller insertion conditions
* add my.immich.app app linking
* chore: remove one-liner if statement
---------
Co-authored-by: Alex <alex.tran1502@gmail.com >
2025-06-24 09:20:24 -05:00
Alex
a4c0dc5007
chore: post release tasks ( #19311 )
2025-06-19 15:35:25 -04:00
Alex
3e62497fd0
fix: local network permission ( #19285 )
2025-06-19 14:18:51 +00:00
Alex
a1bc862a32
chore: post release tasks ( #19249 )
2025-06-19 09:11:24 -05: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
Thien Dang
2572413b2b
fix(mobile): fix nested MaterialApp ( #18998 )
...
* fix nested MaterialApp
* chore
---------
Co-authored-by: dvbthien <dvbthien@gmail.com >
Co-authored-by: Alex <alex.tran1502@gmail.com >
2025-06-09 15:15:31 +00:00
Brandon Wees
5574b2dd39
feat(mobile): add cast support ( #18341 )
...
* initial cast framework complete and mocked cast dialog working
* wip casting
* casting works!
just need to add session key check and remote video controls
* cleanup of classes
* add session expiration checks
* cast dialog now shows connected device at top of list with a list header. Discovered devices are also cached for app session.
* cast video player finalized
* show fullsize assets on casting
* translation already happens on the text element
* remove prints
* fix lintings
* code review changes from @shenlong-tanwen
* fix connect method override
* fix alphabetization
* remove important
* filter chromecast audio devices
* fix some disconnect command ordering issues and unawaited futures
* remove prints
* only disconnect if we are connected
* don't try to reconnect if its the current device
* add cast button to top bar
* format sessions api
* more formatting issues fixed
* add snack bar to tell user that we cannot cast an asset that is not uploaded to server
* make casting icon change to primary color when casting is active
* only show casting snackbar if we are casting
* dont show cast button if asset is remote and we are not casting
* stop playing media if we seek to an asset that is not remote
* remove https check since it works with local http IP addresses
* remove unneeded imports
* fix recasting when socket closes
* fix info plist formatting
* only show cast button if there is an active websocket connection (ie the server is accessible)
* add device capability bitmask checks
* small comment about bitmask
2025-06-08 21:55:23 -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
shenlong
ce6631f7e0
feat(mobile): hash assets in isolate ( #18924 )
2025-06-06 11:23:05 +05:30
shenlong
dbdb64f6c5
feat: delta sync ( #18428 )
...
* feat: delta sync
* fix: ignore iCloud assets
* feat: dev logs
* add full sync button
* remove photo_manager dep for sync
* misc logs and fix
* add time taken to DLog
* fix: build release iOS
* ios sync go brrr
* rename local sync service
* update isar fork
* rename to platform assets / albums
* fix ci check
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
Co-authored-by: Alex <alex.tran1502@gmail.com >
2025-05-29 10:42:00 -05:00
Alex
219f5b25a4
chore: post release tasks ( #18692 )
2025-05-27 17:56:12 +00:00
Alex
806000e671
chore: post release tasks ( #18549 )
2025-05-24 00:44:25 +05:30
Alex
fe71894308
feat: locked view mobile ( #18316 )
...
* feat: locked/private view
* feat: locked/private view
* feat: mobile lock/private view
* feat: mobile lock/private view
* merge main
* pr feedback
* pr feedback
* bottom sheet sizing
* always lock when navigating away
2025-05-20 13:35:22 +00:00
Alex
205260d31c
chore: post release tasks ( #17895 )
2025-04-27 23:02:03 -05:00
Alex
644defa4a1
chore: post release tasks ( #17867 )
2025-04-25 04:14:40 +00:00
Alex
57d622bc43
chore: post release tasks ( #17816 )
2025-04-23 16:41:08 -05:00
Alex
548298b0c7
chore: post release tasks ( #17341 )
2025-04-03 08:47:52 -04:00