Release v1.6.15
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
4e8e8eba66
commit
56c0b633c8
@ -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",
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
@ -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) {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user