fix(rclone): aktarım durum takibini düzelt
Dosya sistemi tabanlı tamamlanma kontrolünü kaldırır. Aktarım listesinde olmayan "uploading" durumundaki öğeleri "queued"ye çevirir. Bu sayede polling süreci devam eder ve tamamlanma kararı aktarım listesinin boşalmasına bırakılır.
This commit is contained in:
@@ -888,19 +888,10 @@ function updateMoveProgressFromStats(stats) {
|
||||
updated = true;
|
||||
}
|
||||
} 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 targetExists = gdriveTarget ? fs.existsSync(gdriveTarget) : false;
|
||||
const sourceDir = relRoot ? path.join(DOWNLOAD_DIR, relRoot) : null;
|
||||
const sourceDeleted = sourceDir ? !fs.existsSync(sourceDir) : false;
|
||||
|
||||
if (targetExists && sourceDeleted) {
|
||||
entry.moveStatus = "done";
|
||||
entry.moveProgress = 1;
|
||||
updated = true;
|
||||
} else if (entry.moveStatus === "uploading" && !targetExists) {
|
||||
// Transfer görünmüyorsa queued kalır; done kararı yukarıda olabilir.
|
||||
// Transfer listesinde eşleşme yok
|
||||
// Done kararı için aşağıdaki !hasTransfers kontrolü beklenmeli
|
||||
// Burada sadece "uploading" durumunu "queued"ye düşürüyoruz ki polling devam etsin
|
||||
if (entry.moveStatus === "uploading") {
|
||||
entry.moveStatus = "queued";
|
||||
updated = true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user