From 2b9c776c8a72aeb0c1ad01b85ba4296ebdfa533e Mon Sep 17 00:00:00 2001 From: wisecolt Date: Tue, 3 Feb 2026 11:08:39 +0300 Subject: [PATCH] =?UTF-8?q?fix(rclone):=20ta=C5=9F=C4=B1ma=20tamamlanma=20?= =?UTF-8?q?ko=C5=9Fullar=C4=B1n=C4=B1=20d=C3=BCzelt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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. --- server/server.js | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/server/server.js b/server/server.js index 5269bb6..d6c3798 100644 --- a/server/server.js +++ b/server/server.js @@ -888,13 +888,18 @@ 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; - 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.moveProgress = 1; 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. entry.moveStatus = "queued"; updated = true;