Fix zip volume cleanup regex and atomic progress file writes
Some checks are pending
Build and Release / build (push) Waiting to run
Some checks are pending
Build and Release / build (push) Waiting to run
- Fix .z001/.z002 split zip volumes not deleted after extraction (regex matched only 2-digit, now matches 2-3 digit volumes) - Make extract progress file writes atomic (write to .tmp then rename) to prevent corruption on crash during extraction Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
ca05fa184d
commit
14d5a3abb4
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "real-debrid-downloader",
|
"name": "real-debrid-downloader",
|
||||||
"version": "1.4.79",
|
"version": "1.4.80",
|
||||||
"description": "Real-Debrid Downloader Desktop (Electron + React + TypeScript)",
|
"description": "Real-Debrid Downloader Desktop (Electron + React + TypeScript)",
|
||||||
"main": "build/main/main/main.js",
|
"main": "build/main/main/main.js",
|
||||||
"author": "Sucukdeluxe",
|
"author": "Sucukdeluxe",
|
||||||
|
|||||||
@ -272,7 +272,9 @@ async function writeExtractResumeState(packageDir: string, completedArchives: Se
|
|||||||
.map((name) => archiveNameKey(name))
|
.map((name) => archiveNameKey(name))
|
||||||
.sort((a, b) => a.localeCompare(b))
|
.sort((a, b) => a.localeCompare(b))
|
||||||
};
|
};
|
||||||
await fs.promises.writeFile(progressPath, JSON.stringify(payload, null, 2), "utf8");
|
const tmpPath = progressPath + ".tmp";
|
||||||
|
await fs.promises.writeFile(tmpPath, JSON.stringify(payload, null, 2), "utf8");
|
||||||
|
await fs.promises.rename(tmpPath, progressPath);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
logger.warn(`ExtractResumeState schreiben fehlgeschlagen: ${String(error)}`);
|
logger.warn(`ExtractResumeState schreiben fehlgeschlagen: ${String(error)}`);
|
||||||
}
|
}
|
||||||
@ -929,7 +931,7 @@ export function collectArchiveCleanupTargets(sourceArchivePath: string, director
|
|||||||
if (/\.zip$/i.test(fileName)) {
|
if (/\.zip$/i.test(fileName)) {
|
||||||
const stem = escapeRegex(fileName.replace(/\.zip$/i, ""));
|
const stem = escapeRegex(fileName.replace(/\.zip$/i, ""));
|
||||||
addMatching(new RegExp(`^${stem}\\.zip$`, "i"));
|
addMatching(new RegExp(`^${stem}\\.zip$`, "i"));
|
||||||
addMatching(new RegExp(`^${stem}\\.z\\d{2}$`, "i"));
|
addMatching(new RegExp(`^${stem}\\.z\\d{2,3}$`, "i"));
|
||||||
return Array.from(targets);
|
return Array.from(targets);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user