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:
@@ -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;
|
||||||
|
|||||||
Reference in New Issue
Block a user