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
This commit is contained in:
Alex 2025-09-04 13:44:10 -05:00 committed by GitHub
parent 538263dc38
commit bcfb5bee1f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
26 changed files with 8021 additions and 268 deletions

View file

@ -12,7 +12,6 @@ import 'package:immich_mobile/models/server_info/server_version.model.dart';
import 'package:immich_mobile/providers/asset.provider.dart';
import 'package:immich_mobile/providers/auth.provider.dart';
import 'package:immich_mobile/providers/background_sync.provider.dart';
// import 'package:immich_mobile/providers/background_sync.provider.dart';
import 'package:immich_mobile/providers/db.provider.dart';
import 'package:immich_mobile/providers/server_info.provider.dart';
import 'package:immich_mobile/services/api.service.dart';
@ -323,7 +322,11 @@ class WebsocketNotifier extends StateNotifier<WebsocketState> {
}
try {
unawaited(_ref.read(backgroundSyncProvider).syncWebsocketBatch(_batchedAssetUploadReady.toList()));
unawaited(
_ref.read(backgroundSyncProvider).syncWebsocketBatch(_batchedAssetUploadReady.toList()).then((_) {
return _ref.read(backgroundSyncProvider).syncLinkedAlbum();
}),
);
} catch (error) {
_log.severe("Error processing batched AssetUploadReadyV1 events: $error");
}