diff --git a/app/lib/use_case/sync_metadata/sync_by_server.dart b/app/lib/use_case/sync_metadata/sync_by_server.dart index 92debc87..66ed17a6 100644 --- a/app/lib/use_case/sync_metadata/sync_by_server.dart +++ b/app/lib/use_case/sync_metadata/sync_by_server.dart @@ -41,7 +41,7 @@ class _SyncByServer { _log.fine("[_syncDir] Syncing dir $dir"); final files = await fileRepoRemote.list(account, dir); await FileSqliteCacheUpdater(db)(account, dir, remote: files); - for (final f in files) { + for (final f in files.where((e) => fileIds.contains(e.fdId))) { File? result; if (!_supportedMimes.contains(f.fdMime)) { _log.info( diff --git a/app/lib/use_case/sync_metadata/sync_metadata.dart b/app/lib/use_case/sync_metadata/sync_metadata.dart index 305b8ed2..6b5eccc7 100644 --- a/app/lib/use_case/sync_metadata/sync_metadata.dart +++ b/app/lib/use_case/sync_metadata/sync_metadata.dart @@ -98,8 +98,15 @@ class SyncMetadata { fallback: fallback, ); await op.init(); + final fileIds = []; + final relativePaths = []; + for (final f in files.items) { + fileIds.add(f.fileId); + relativePaths.add(f.relativePath); + } final stream = op.syncFiles( - relativePaths: files.items.map((e) => e.relativePath).toList(), + fileIds: fileIds, + relativePaths: relativePaths, ); yield* stream; }