Release v1.6.18

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Sucukdeluxe 2026-03-04 17:31:20 +01:00
parent 10bae4f98b
commit a263e3eb2c
5 changed files with 17 additions and 18 deletions

View File

@ -1,6 +1,6 @@
{
"name": "real-debrid-downloader",
"version": "1.6.17",
"version": "1.6.18",
"description": "Real-Debrid Downloader Desktop (Electron + React + TypeScript)",
"main": "build/main/main/main.js",
"author": "Sucukdeluxe",

View File

@ -1408,10 +1408,8 @@ export class DownloadManager extends EventEmitter {
item.updatedAt = nowMs();
}
if (!this.session.running) {
this.runItemIds.delete(itemId);
this.runOutcomes.delete(itemId);
}
this.runItemIds.delete(itemId);
this.runOutcomes.delete(itemId);
this.retryAfterByItem.delete(itemId);
this.retryStateByItem.delete(itemId);
@ -1425,9 +1423,7 @@ export class DownloadManager extends EventEmitter {
this.packagePostProcessTasks.delete(packageId);
this.hybridExtractRequeue.delete(packageId);
if (!this.session.running) {
this.runPackageIds.delete(packageId);
}
this.runPackageIds.delete(packageId);
this.runCompletedPackages.delete(packageId);
const items = pkg.itemIds
@ -2629,6 +2625,7 @@ export class DownloadManager extends EventEmitter {
item.fullStatus = "Übersprungen";
item.speedBps = 0;
item.updatedAt = nowMs();
this.recordRunOutcome(itemId, "cancelled");
}
this.persistSoon();
this.emitState();

View File

@ -1027,13 +1027,14 @@ export function App(): ReactElement {
};
const onCheckUpdates = async (): Promise<void> => {
let updateResult: UpdateCheckResult | null = null;
await performQuickAction(async () => {
setUpdateInstallProgress(null);
const result = await window.rd.checkUpdates();
await handleUpdateResult(result, "manual");
updateResult = await window.rd.checkUpdates();
}, (error) => {
showToast(`Update-Check fehlgeschlagen: ${String(error)}`, 2800);
});
if (updateResult) await handleUpdateResult(updateResult, "manual");
};
const persistDraftSettings = async (): Promise<AppSettings> => {
@ -2547,8 +2548,8 @@ export function App(): ReactElement {
<span className="stat-value danger">{itemStatusCounts.failed}</span>
</div>
<div className="stat-item">
<span className="stat-label">{snapshot.etaText.split(": ")[0]}</span>
<span className="stat-value">{snapshot.etaText.split(": ")[1] || "--"}</span>
<span className="stat-label">{snapshot.etaText.includes(": ") ? snapshot.etaText.slice(0, snapshot.etaText.indexOf(": ")) : snapshot.etaText}</span>
<span className="stat-value">{snapshot.etaText.includes(": ") ? snapshot.etaText.slice(snapshot.etaText.indexOf(": ") + 2) : "--"}</span>
</div>
</div>
</article>

View File

@ -1748,6 +1748,7 @@ td {
font-weight: 600;
pointer-events: none;
backdrop-filter: blur(2px);
z-index: 200;
}
.modal-backdrop {

View File

@ -25,9 +25,9 @@ describe("sortPackageOrderByName", () => {
const sorted = sortPackageOrderByName(
["pkg3", "pkg1", "pkg2"],
{
pkg1: { id: "pkg1", name: "Alpha", outputDir: "", extractDir: "", status: "queued", itemIds: [], cancelled: false, enabled: true, createdAt: 0, updatedAt: 0 },
pkg2: { id: "pkg2", name: "beta", outputDir: "", extractDir: "", status: "queued", itemIds: [], cancelled: false, enabled: true, createdAt: 0, updatedAt: 0 },
pkg3: { id: "pkg3", name: "Gamma", outputDir: "", extractDir: "", status: "queued", itemIds: [], cancelled: false, enabled: true, createdAt: 0, updatedAt: 0 }
pkg1: { id: "pkg1", name: "Alpha", outputDir: "", extractDir: "", status: "queued", itemIds: [], cancelled: false, enabled: true, priority: "normal", createdAt: 0, updatedAt: 0 },
pkg2: { id: "pkg2", name: "beta", outputDir: "", extractDir: "", status: "queued", itemIds: [], cancelled: false, enabled: true, priority: "normal", createdAt: 0, updatedAt: 0 },
pkg3: { id: "pkg3", name: "Gamma", outputDir: "", extractDir: "", status: "queued", itemIds: [], cancelled: false, enabled: true, priority: "normal", createdAt: 0, updatedAt: 0 }
},
false
);
@ -38,9 +38,9 @@ describe("sortPackageOrderByName", () => {
const sorted = sortPackageOrderByName(
["pkg1", "pkg2", "pkg3"],
{
pkg1: { id: "pkg1", name: "Alpha", outputDir: "", extractDir: "", status: "queued", itemIds: [], cancelled: false, enabled: true, createdAt: 0, updatedAt: 0 },
pkg2: { id: "pkg2", name: "beta", outputDir: "", extractDir: "", status: "queued", itemIds: [], cancelled: false, enabled: true, createdAt: 0, updatedAt: 0 },
pkg3: { id: "pkg3", name: "Gamma", outputDir: "", extractDir: "", status: "queued", itemIds: [], cancelled: false, enabled: true, createdAt: 0, updatedAt: 0 }
pkg1: { id: "pkg1", name: "Alpha", outputDir: "", extractDir: "", status: "queued", itemIds: [], cancelled: false, enabled: true, priority: "normal", createdAt: 0, updatedAt: 0 },
pkg2: { id: "pkg2", name: "beta", outputDir: "", extractDir: "", status: "queued", itemIds: [], cancelled: false, enabled: true, priority: "normal", createdAt: 0, updatedAt: 0 },
pkg3: { id: "pkg3", name: "Gamma", outputDir: "", extractDir: "", status: "queued", itemIds: [], cancelled: false, enabled: true, priority: "normal", createdAt: 0, updatedAt: 0 }
},
true
);