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() {
|
function updateStartButton() {
|
||||||
const btn = document.getElementById('startUploadBtn');
|
const btn = document.getElementById('startUploadBtn');
|
||||||
const hosters = getSelectedHosters();
|
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;
|
btn.disabled = uploading || hosters.length === 0 || !hasFiles;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -631,7 +631,7 @@ function updateQueueActionButtons() {
|
|||||||
const hasSelection = selectedJobIds.size > 0;
|
const hasSelection = selectedJobIds.size > 0;
|
||||||
const hasUploadSelection = queueJobs.some((job) => selectedJobIds.has(job.id) && ['done', 'error', 'aborted', 'skipped'].includes(job.status));
|
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 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 hasMovableSelection = hasSelection && !uploading;
|
||||||
|
|
||||||
const startSelectedBtn = document.getElementById('startSelectedBtn');
|
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 (hosters.length === 0) { alert('Bitte mindestens einen Hoster auswählen.'); uploading = false; updateQueueActionButtons(); return; }
|
||||||
if (queueJobs.length === 0 && selectedFiles.length > 0) buildQueuePreview();
|
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; }
|
if (jobsToStart.length === 0) { uploading = false; updateQueueActionButtons(); return; }
|
||||||
|
|
||||||
try {
|
try {
|
||||||
queueJobs.forEach(j => {
|
jobsToStart.forEach(j => {
|
||||||
if (j.status === 'preview') j.status = 'queued';
|
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();
|
updateQueueActionButtons();
|
||||||
renderQueueTable();
|
renderQueueTable();
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user