fix(rclone): taşıma tamamlanma koşullarını düzelt

Taşıma işleminin "done" olarak tamamlanmış sayılması için hedef dizinin
mevcut olması VE kaynak dizinin silinmiş olması şartı getirildi. Ayrıca
"uploading" durumunun "queued" olarak güncellenmesi için hedefin
bulunmaması kontrolü eklendi.
This commit is contained in:
2026-02-03 11:08:39 +03:00
parent 7269f52b0e
commit 2b9c776c8a

View File

@@ -888,13 +888,18 @@ function updateMoveProgressFromStats(stats) {
updated = true; updated = true;
} }
} else { } else {
// Transfer listesinde eşleşme yok - işlem tamamlanmış olabilir
// Done için hem target varlığı hem de kaynak klasörün silinmiş olması gerekir
const gdriveTarget = relRoot ? path.join(GDRIVE_ROOT, relRoot) : null; const gdriveTarget = relRoot ? path.join(GDRIVE_ROOT, relRoot) : null;
const targetExists = gdriveTarget ? fs.existsSync(gdriveTarget) : false; const targetExists = gdriveTarget ? fs.existsSync(gdriveTarget) : false;
if (targetExists) { const sourceDir = relRoot ? path.join(DOWNLOAD_DIR, relRoot) : null;
const sourceDeleted = sourceDir ? !fs.existsSync(sourceDir) : false;
if (targetExists && sourceDeleted) {
entry.moveStatus = "done"; entry.moveStatus = "done";
entry.moveProgress = 1; entry.moveProgress = 1;
updated = true; updated = true;
} else if (entry.moveStatus === "uploading") { } else if (entry.moveStatus === "uploading" && !targetExists) {
// Transfer görünmüyorsa queued kalır; done kararı yukarıda olabilir. // Transfer görünmüyorsa queued kalır; done kararı yukarıda olabilir.
entry.moveStatus = "queued"; entry.moveStatus = "queued";
updated = true; updated = true;