fix: show un-hashed remainder assets (#22492)

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
This commit is contained in:
shenlong 2025-09-30 18:49:03 +05:30 committed by GitHub
parent f1f8c8e7a3
commit 8f1bc7e821
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 6 additions and 3 deletions

View file

@ -81,7 +81,7 @@ class DriftBackupRepository extends DriftDatabaseRepository {
); );
} }
Future<List<LocalAsset>> getCandidates(String userId) async { Future<List<LocalAsset>> getCandidates(String userId, {bool onlyHashed = true}) async {
final selectedAlbumIds = _db.localAlbumEntity.selectOnly(distinct: true) final selectedAlbumIds = _db.localAlbumEntity.selectOnly(distinct: true)
..addColumns([_db.localAlbumEntity.id]) ..addColumns([_db.localAlbumEntity.id])
..where(_db.localAlbumEntity.backupSelection.equalsValue(BackupSelection.selected)); ..where(_db.localAlbumEntity.backupSelection.equalsValue(BackupSelection.selected));
@ -89,7 +89,6 @@ class DriftBackupRepository extends DriftDatabaseRepository {
final query = _db.localAssetEntity.select() final query = _db.localAssetEntity.select()
..where( ..where(
(lae) => (lae) =>
lae.checksum.isNotNull() &
existsQuery( existsQuery(
_db.localAlbumAssetEntity.selectOnly() _db.localAlbumAssetEntity.selectOnly()
..addColumns([_db.localAlbumAssetEntity.assetId]) ..addColumns([_db.localAlbumAssetEntity.assetId])
@ -109,6 +108,10 @@ class DriftBackupRepository extends DriftDatabaseRepository {
) )
..orderBy([(localAsset) => OrderingTerm.desc(localAsset.createdAt)]); ..orderBy([(localAsset) => OrderingTerm.desc(localAsset.createdAt)]);
if (onlyHashed) {
query.where((lae) => lae.checksum.isNotNull());
}
return query.map((localAsset) => localAsset.toDto()).get(); return query.map((localAsset) => localAsset.toDto()).get();
} }
} }

View file

@ -405,7 +405,7 @@ final driftBackupCandidateProvider = FutureProvider.autoDispose<List<LocalAsset>
return []; return [];
} }
return ref.read(backupRepositoryProvider).getCandidates(user.id); return ref.read(backupRepositoryProvider).getCandidates(user.id, onlyHashed: false);
}); });
final driftCandidateBackupAlbumInfoProvider = FutureProvider.autoDispose.family<List<LocalAlbum>, String>(( final driftCandidateBackupAlbumInfoProvider = FutureProvider.autoDispose.family<List<LocalAlbum>, String>((