fix(extraction): keep extract-now strictly local in v2.0.65

Remove the automatic missing-archive download repair introduced in v2.0.64 so manual extraction never starts or re-queues downloads.

Execute every complete archive set in mixed package selections while skipping incomplete targets without letting them block valid extraction plans.

Preserve fingerprint, ownership, completeness, and shared preflight validation for every plan that actually starts.
This commit is contained in:
Sucukdeluxe
2026-08-23 11:54:17 +02:00
parent e52957a983
commit 6f922c458d
10 changed files with 126 additions and 644 deletions
+4 -8
View File
@@ -1498,10 +1498,8 @@ describe("settings storage", () => {
status: "downloading",
itemIds: ["item1", "item2", "item3", "item4"],
cancelled: false,
enabled: true,
manualExtractionPending: true,
manualExtractionRepairItemIds: ["item1", "missing-item", "item1"],
downloadStartedAt: 0,
enabled: true,
downloadStartedAt: 0,
downloadCompletedAt: 0,
createdAt: Date.now(),
updatedAt: Date.now()
@@ -1597,10 +1595,8 @@ describe("settings storage", () => {
expect(loaded.items["item3"].status).toBe("completed");
expect(loaded.items["item4"].status).toBe("queued");
expect(loaded.items["item1"].downloadedBytes).toBe(5000);
expect(loaded.packages["pkg1"].name).toBe("Test Package");
expect(loaded.packages["pkg1"].manualExtractionPending).toBe(true);
expect(loaded.packages["pkg1"].manualExtractionRepairItemIds).toEqual(["item1"]);
});
expect(loaded.packages["pkg1"].name).toBe("Test Package");
});
it("preserves cleaned package progress aggregates while normalizing a session", () => {
const session = emptySession();