Fix bug in handling file update (#1059)

This commit is contained in:
Neeraj Gupta 2023-05-03 20:05:44 +05:30 committed by GitHub
commit 1aa9e5aeb1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 14 additions and 3 deletions

View file

@ -770,12 +770,17 @@ class FilesDB {
return uploadedFileIDs;
}
Future<File?> getUploadedFileInAnyCollection(int uploadedFileID) async {
Future<File?> getUploadedLocalFileInAnyCollection(
int uploadedFileID,
int userID,
) async {
final db = await instance.database;
final results = await db.query(
filesTable,
where: '$columnUploadedFileID = ?',
where: '$columnLocalID IS NOT NULL AND $columnOwnerID = ? AND '
'$columnUploadedFileID = ?',
whereArgs: [
userID,
uploadedFileID,
],
limit: 1,

View file

@ -519,7 +519,10 @@ class RemoteSyncService {
.info("Skipping some updated files as we are throttling uploads");
break;
}
final file = await _db.getUploadedFileInAnyCollection(uploadedFileID);
final file = await _db.getUploadedLocalFileInAnyCollection(
uploadedFileID,
ownerID,
);
if (file != null) {
_uploadFile(file, file.collectionID!, futures);
}

View file

@ -117,6 +117,9 @@ class FileUploader {
// upload future will return null as File when the file entry is deleted
// locally because it's already present in the destination collection.
Future<File> upload(File file, int collectionID) {
if (file.localID == null || file.localID!.isEmpty) {
return Future.error(Exception("file's localID can not be null or empty"));
}
// If the file hasn't been queued yet, queue it
_totalCountInUploadSession++;
if (!_queue.containsKey(file.localID)) {