fix: allow global start to retry failed queue items
This commit is contained in:
parent
a3e956e085
commit
f288ced84b
@ -621,7 +621,7 @@ function updateUploadView() {
|
||||
function updateStartButton() {
|
||||
const btn = document.getElementById('startUploadBtn');
|
||||
const hosters = getSelectedHosters();
|
||||
const hasFiles = queueJobs.some(j => j.status === 'queued' || j.status === 'preview');
|
||||
const hasFiles = queueJobs.some(j => j.status === 'queued' || j.status === 'preview' || j.status === 'error');
|
||||
btn.disabled = uploading || hosters.length === 0 || !hasFiles;
|
||||
}
|
||||
|
||||
@ -631,7 +631,7 @@ function updateQueueActionButtons() {
|
||||
const hasSelection = selectedJobIds.size > 0;
|
||||
const hasUploadSelection = queueJobs.some((job) => selectedJobIds.has(job.id) && ['done', 'error', 'aborted', 'skipped'].includes(job.status));
|
||||
const hasAbortSelection = queueJobs.some((job) => selectedJobIds.has(job.id) && ['preview', 'queued', 'getting-server', 'uploading', 'retrying'].includes(job.status));
|
||||
const hasStartableSelection = queueJobs.some((job) => selectedJobIds.has(job.id) && ['preview', 'queued'].includes(job.status));
|
||||
const hasStartableSelection = queueJobs.some((job) => selectedJobIds.has(job.id) && ['preview', 'queued', 'error'].includes(job.status));
|
||||
const hasMovableSelection = hasSelection && !uploading;
|
||||
|
||||
const startSelectedBtn = document.getElementById('startSelectedBtn');
|
||||
@ -1302,12 +1302,20 @@ async function startUpload() {
|
||||
if (hosters.length === 0) { alert('Bitte mindestens einen Hoster auswählen.'); uploading = false; updateQueueActionButtons(); return; }
|
||||
if (queueJobs.length === 0 && selectedFiles.length > 0) buildQueuePreview();
|
||||
|
||||
const jobsToStart = queueJobs.filter((job) => job.status === 'preview' || job.status === 'queued');
|
||||
const jobsToStart = queueJobs.filter((job) => job.status === 'preview' || job.status === 'queued' || job.status === 'error');
|
||||
if (jobsToStart.length === 0) { uploading = false; updateQueueActionButtons(); return; }
|
||||
|
||||
try {
|
||||
queueJobs.forEach(j => {
|
||||
if (j.status === 'preview') j.status = 'queued';
|
||||
jobsToStart.forEach(j => {
|
||||
j.status = 'queued';
|
||||
j.error = null;
|
||||
j.result = null;
|
||||
j.bytesUploaded = 0;
|
||||
j.speedKbs = 0;
|
||||
j.elapsed = 0;
|
||||
j.remaining = 0;
|
||||
j.progress = 0;
|
||||
j.uploadId = null;
|
||||
});
|
||||
updateQueueActionButtons();
|
||||
renderQueueTable();
|
||||
|
||||
Loading…
Reference in New Issue
Block a user