Release v1.6.15

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Sucukdeluxe 2026-03-04 15:47:48 +01:00
parent 4e8e8eba66
commit 56c0b633c8
3 changed files with 21 additions and 7 deletions

View File

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

View File

@ -4054,7 +4054,9 @@ export class DownloadManager extends EventEmitter {
this.runGlobalStallWatchdog(now);
if (this.activeTasks.size === 0 && !this.hasQueuedItems() && !this.hasDelayedQueuedItems() && this.packagePostProcessTasks.size === 0) {
const downloadsComplete = this.activeTasks.size === 0 && !this.hasQueuedItems() && !this.hasDelayedQueuedItems();
const postProcessComplete = this.packagePostProcessTasks.size === 0;
if (downloadsComplete && (postProcessComplete || this.settings.autoExtractWhenStopped)) {
this.finishRun();
break;
}

View File

@ -476,6 +476,7 @@ export function App(): ReactElement {
const snapshotRef = useRef(snapshot);
snapshotRef.current = snapshot;
const tabRef = useRef(tab);
const autoExpandedPkgsRef = useRef(new Set<string>());
tabRef.current = tab;
const stateFlushTimerRef = useRef<ReturnType<typeof setTimeout> | null>(null);
const toastTimerRef = useRef<ReturnType<typeof setTimeout> | null>(null);
@ -875,14 +876,25 @@ export function App(): ReactElement {
}
}, [snapshot.session.running]);
// Auto-expand packages that are currently extracting
// Auto-expand packages that are currently extracting (only once per extraction cycle)
useEffect(() => {
const extractingPkgIds: string[] = [];
const currentlyExtracting = new Set<string>();
for (const pkg of packages) {
if (collapsedPackages[pkg.id]) {
const items = (pkg.itemIds ?? []).map((id) => snapshot.session.items[id]).filter(Boolean);
const isExtracting = items.some((item) => item.fullStatus?.startsWith("Entpacken -") && !item.fullStatus?.includes("Done"));
if (isExtracting) extractingPkgIds.push(pkg.id);
const items = (pkg.itemIds ?? []).map((id) => snapshot.session.items[id]).filter(Boolean);
const isExtracting = items.some((item) => item.fullStatus?.startsWith("Entpacken -") && !item.fullStatus?.includes("Done"));
if (isExtracting) {
currentlyExtracting.add(pkg.id);
if (collapsedPackages[pkg.id] && !autoExpandedPkgsRef.current.has(pkg.id)) {
extractingPkgIds.push(pkg.id);
autoExpandedPkgsRef.current.add(pkg.id);
}
}
}
// Reset tracking for packages no longer extracting
for (const id of autoExpandedPkgsRef.current) {
if (!currentlyExtracting.has(id)) {
autoExpandedPkgsRef.current.delete(id);
}
}
if (extractingPkgIds.length > 0) {