shenlong
21af184045
refactor: move cleanup config to metadata table ( #28225 )
...
* 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
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-05-07 11:27:06 -05:00
shenlong
d4a97f2d25
refactor: move theme config to metadata table ( #28224 )
...
* 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
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-05-07 15:12:14 +00:00
shenlong
79fccdbee0
refactor: yeet old timeline ( #27666 )
...
* refactor: yank old timeline
# Conflicts:
# mobile/lib/presentation/pages/editing/drift_edit.page.dart
# mobile/lib/providers/websocket.provider.dart
# mobile/lib/routing/router.dart
* more cleanup
* remove native code
* chore: bump sqlite-data version
* remove old background tasks from BGTaskSchedulerPermittedIdentifiers
* rebase
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-04-15 23:00:27 +05:30
shenlong
d4434f2276
fix: reset db from splash screen ( #26617 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-03-01 15:23:26 -06:00
shenlong
177d1c9a30
feat: splash screen error page ( #26460 )
...
* feat: splash screen error page
* Update mobile/lib/pages/common/splash_screen.page.dart
Co-authored-by: Alex <alex.tran1502@gmail.com >
* add clear data action
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
Co-authored-by: Alex <alex.tran1502@gmail.com >
2026-02-26 16:47:28 +00:00
shenlong
f616de5af8
chore(mobile): nudge users to switch to the new timeline ( #26458 )
...
* nudge users to switch to the new timeline
* remove timeline switch setting from new timeline
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-02-23 13:42:32 -06:00
shenlong
836d22570f
fix: slow hash reconcilation ( #25503 )
...
* fix: slow hash reconcilation
* tests for reconcileHashesFromCloudId
* paginate cloud id fetch in migrate cloud id
* pr review
* skip cloudId sync
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-01-26 09:12:00 -06:00
shenlong
fb94ee80aa
fix: prevent cloud id sync on app pause ( #25332 )
...
* fix: sever version not populated post auto-login
* saferun syncCloudIds
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
Co-authored-by: Alex <alex.tran1502@gmail.com >
2026-01-21 09:54:08 -06:00
Alex
e4443fa43e
chore: dart http foreground upload ( #24883 )
...
* feat: bring back manual backup
* expose iCloud retrieval progress
* wip
* unify http upload method, check for connectivity on iOS
* handle LivePhotos progress
* feat: speed calculation
* wip
* better upload detail page
* handle error
* handle error
* pr feedback
* feat: share intent upload
* feat: manual upload
* feat: manual upload progress
* chore: styling
* refactor
* refactor
* remove unused logs
* fix: background android backup
* feat: add error section
* remove complete section
* remove empty state and prevent slot jumps
* more refactor
* fix: background test
* chore: add metadata to foreground upload
* fix: email and name get reset in auth provider
* pr feedback
* remove version check for metadata field in upload payload
* chore: fix unit test
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-01-15 20:10:08 -06:00
shenlong
9fa8de7baa
feat: add cloud id during native sync ( #20418 )
...
* use adjustment time in iOS for hash reset
# Conflicts:
# mobile/lib/infrastructure/repositories/local_album.repository.dart
# mobile/lib/presentation/pages/drift_asset_troubleshoot.page.dart
* migration
* feat: sync cloudId and eTag on sync
* fixes fixes
* more fixes
* re-sync updated eTags
* add server version check & auto sync cloud ids on compatible servers
* fix test
* remove button from sync status page
* chore: modify for testing
* more changes
* chore: add commas in toString
* use cached provider in splash screen
* read upload service provider to prevent reset
* log errors from fetching cloud id mapping
* WIP: migrate cloud id - debug log
* ignore locked asset update
* bulk update metadata
* change log text
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
Co-authored-by: Alex <alex.tran1502@gmail.com >
2026-01-14 12:34:11 -06:00
Alex
25fb43bbe3
fix: fully sync local library on app restart ( #23323 )
2025-11-05 14:09:50 +00:00
shenlong
ac0d646401
fix: mobile unawaited_futures lint ( #21661 )
...
* chore: add unawaited_futures lint as warning
# Conflicts:
# mobile/analysis_options.yaml
* remove unused dcm lints
They will be added back later on a case by case basis
* fix warning
# Conflicts:
# mobile/lib/presentation/pages/drift_remote_album.page.dart
* auto gen file
* review changes
* conflict resolution
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2025-10-27 09:32:52 -05:00
shenlong
212649edf9
fix: improve sync backup error indicator ( #22527 )
...
* fix: improve sync indicator error
* prefer backup disabled icon before error
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
Co-authored-by: Alex <alex.tran1502@gmail.com >
2025-10-03 13:36:44 +00:00
Alex
3c5a125762
fix: mitigate database lock scenario when running full sync in splash screen page ( #22608 )
2025-10-03 13:27:28 +00:00
shenlong
58344f520b
chore: perform full local sync on cold start ( #22485 )
...
chore: do a full local sync on app start
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2025-09-29 18:25:45 +00:00
shenlong
ee3c07d049
fix: process upload only after successful remote sync ( #22360 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2025-09-29 10:10:00 -05:00
shenlong
35b62cd016
fix: prevent background worker when main app is running ( #22252 )
...
* fix: prevent background worker only when the main app is actively running
* handle ref disposals better
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
Co-authored-by: Alex <alex.tran1502@gmail.com >
2025-09-21 20:45:47 -05:00
Alex
77340075f0
chore: making order of background tasks better ( #21928 )
...
* chore: making order of background tasks better
* chore: prevent action not running when returning from backup screen too soon after toggle backup
2025-09-15 10:07:41 -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
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
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
shenlong
6ddef3a7e4
fix: server version not fetched after auto login ( #20713 )
...
* fix: server version not fetched after auto login
* wrap get info with a try catch
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2025-08-06 08:01:16 -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
Zack Pollard
2e0ee6ec05
feat: don't wait for network on app startup ( #20232 )
2025-07-25 11:19:50 -05:00
shenlong
ad65e9011a
chore: bump line length to 120 ( #20191 )
2025-07-25 02:37:22 +00:00
shenlong
531515daf9
feat: add toggle to switch between Isar and Sqlite ( #19953 )
2025-07-17 11:12:29 -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
JobiJoba
1fb8861e35
fix(mobile): prevent upload intent replacement in splash screen and reset upload button when minimize app ( #18914 )
...
fix(mobile): prevent upload intent replacement in splash screen
- Added a check in the SplashScreenPage to ensure that the route is only replaced when it's not a share intent
- Added lifecycle event to reset the isUpload.value when minimize the app
2025-06-04 08:30:23 -05:00
shenlong
76d95cd348
refactor(mobile): move store settings and store into domain folder ( #16201 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2025-02-19 19:27:32 +00:00
Alex
055f1fc72f
feat(mobile): Auto switching server URLs ( #14437 )
2024-12-05 09:11:48 -06:00
Alex
21f14be949
chore(mobile): refactor authentication ( #14322 )
2024-11-26 12:43:44 -06:00
Alex
17c3e8e8bf
fix(mobile): mobile logging out randomly ( #11431 )
...
* fix(mobile): refactor splash screen to not require online connection
* chore: bump flutter sdk path for vscode
* refactor: authentication provider always try network calls and only fail if 401 or no local user
* lint
* fix: revert change to lookup serverendpoint from store the isar store implementation is very broken
* fix: clear serverUrl and serverEndpoint on logout, and await logout call
* refactor: remove unneeded extra conditions in splash screen useEffect
* revert change to remove serverEndpoint on logging out
* pr feedback
---------
Co-authored-by: Zack Pollard <zackpollard@ymail.com >
2024-07-30 13:15:48 -05:00
Alex
090592e5ae
refactor(mobile): pages ( #9246 )
...
* refactor(mobile): pages
* refactor
* album pages
* pages
* pages
* use *.page.dart
* representation
* put back module
2024-05-05 13:14:49 -05:00