Handle source links going offline during downloads

This commit is contained in:
Sucukdeluxe
2026-09-02 11:32:06 +02:00
parent cd0464d658
commit ad75469854
15 changed files with 573 additions and 84 deletions
+9 -2
View File
@@ -590,7 +590,8 @@ describe("settings storage", () => {
providerTertiary: "invalid-provider" as unknown as AppSettings["providerTertiary"],
cleanupMode: "broken" as unknown as AppSettings["cleanupMode"],
extractConflictMode: "broken" as unknown as AppSettings["extractConflictMode"],
completedCleanupPolicy: "broken" as unknown as AppSettings["completedCleanupPolicy"],
completedCleanupPolicy: "broken" as unknown as AppSettings["completedCleanupPolicy"],
offlineSkipScope: "broken" as unknown as AppSettings["offlineSkipScope"],
speedLimitMode: "broken" as unknown as AppSettings["speedLimitMode"],
maxParallel: 0,
retryLimit: 999,
@@ -611,7 +612,8 @@ describe("settings storage", () => {
expect(normalized.providerTertiary).toBe("none");
expect(normalized.cleanupMode).toBe("none");
expect(normalized.extractConflictMode).toBe("overwrite");
expect(normalized.completedCleanupPolicy).toBe("never");
expect(normalized.completedCleanupPolicy).toBe("never");
expect(normalized.offlineSkipScope).toBe("archive");
expect(normalized.speedLimitMode).toBe("global");
expect(normalized.maxParallel).toBe(1);
expect(normalized.retryLimit).toBe(99);
@@ -631,6 +633,11 @@ describe("settings storage", () => {
expect(defaultSettings().proxyConnectionsPerDownload).toBe(32);
});
it("uses archive-set skipping by default and preserves an explicit whole-package choice", () => {
expect(defaultSettings().offlineSkipScope).toBe("archive");
expect(normalizeSettings({ ...defaultSettings(), offlineSkipScope: "package" }).offlineSkipScope).toBe("package");
});
it("migrates the previous private update repository to the public release repository", () => {
for (const updateRepo of [
"legacy-owner/real-debrid-downloader",