fix queue issues

This commit is contained in:
Lukas 2025-11-01 16:07:31 +01:00
parent 3c6d82907d
commit eaf6bb9957
2 changed files with 1049 additions and 114 deletions

File diff suppressed because it is too large Load Diff

View File

@ -55,7 +55,8 @@ class QueueManager {
});
this.socket.on('download_progress_update', (data) => {
this.updateDownloadProgress(data);
// Progress updates trigger a data reload to refresh the UI
this.loadQueueData();
});
// Download queue events
@ -69,7 +70,8 @@ class QueueManager {
});
this.socket.on('download_progress', (data) => {
this.updateDownloadProgress(data);
// Progress updates trigger a data reload to refresh the UI
this.loadQueueData();
});
// Handle both old and new download completion events
@ -227,23 +229,26 @@ class QueueManager {
}
updateStatistics(stats, data) {
document.getElementById('total-items').textContent = stats.total_items || 0;
// Ensure stats object exists
const statistics = stats || {};
document.getElementById('total-items').textContent = statistics.total_items || 0;
document.getElementById('pending-items').textContent = (data.pending_queue || []).length;
document.getElementById('completed-items').textContent = stats.completed_items || 0;
document.getElementById('failed-items').textContent = stats.failed_items || 0;
document.getElementById('completed-items').textContent = statistics.completed_items || 0;
document.getElementById('failed-items').textContent = statistics.failed_items || 0;
// Update section counts
document.getElementById('queue-count').textContent = (data.pending_queue || []).length;
document.getElementById('completed-count').textContent = stats.completed_items || 0;
document.getElementById('failed-count').textContent = stats.failed_items || 0;
document.getElementById('completed-count').textContent = statistics.completed_items || 0;
document.getElementById('failed-count').textContent = statistics.failed_items || 0;
document.getElementById('current-speed').textContent = stats.current_speed || '0 MB/s';
document.getElementById('average-speed').textContent = stats.average_speed || '0 MB/s';
document.getElementById('current-speed').textContent = statistics.current_speed || '0 MB/s';
document.getElementById('average-speed').textContent = statistics.average_speed || '0 MB/s';
// Format ETA
const etaElement = document.getElementById('eta-time');
if (stats.eta) {
const eta = new Date(stats.eta);
if (statistics.eta) {
const eta = new Date(statistics.eta);
const now = new Date();
const diffMs = eta - now;
@ -445,7 +450,6 @@ class QueueManager {
document.getElementById('start-queue-btn').style.display = 'inline-flex';
}
document.getElementById('clear-queue-btn').disabled = !hasPending;
document.getElementById('retry-all-btn').disabled = !hasFailed;
document.getElementById('clear-completed-btn').disabled = !hasCompleted;
document.getElementById('clear-failed-btn').disabled = !hasFailed;