Compare commits

..

2 Commits

Author SHA1 Message Date
Administrator
ead6f97115 release: v2.6.1 2026-03-25 00:07:45 +01:00
Administrator
f642122726 🐛 fix: show feedback when 'Wartet' jobs are already in batch
- 'Ausgewählte starten' on already-queued jobs during upload now shows
  toast: "X Jobs warten bereits auf ihren Upload-Slot"
- Only error/aborted/skipped jobs are added to the running batch
  (prevents duplicate task creation for already-queued jobs)
- Toast confirms when error jobs are added to batch

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-25 00:07:12 +01:00
2 changed files with 10 additions and 3 deletions

View File

@ -1,6 +1,6 @@
{ {
"name": "multi-hoster-uploader", "name": "multi-hoster-uploader",
"version": "2.6.0", "version": "2.6.1",
"description": "Upload files to doodstream, voe, vidmoly, byse simultaneously", "description": "Upload files to doodstream, voe, vidmoly, byse simultaneously",
"main": "main.js", "main": "main.js",
"scripts": { "scripts": {

View File

@ -1354,8 +1354,8 @@ function _markSkippedJobs(result) {
async function startSelectedUpload() { async function startSelectedUpload() {
if (uploading) { if (uploading) {
// Batch already running — add selected jobs to the running batch // Batch already running — only add error/aborted/skipped jobs (not already-queued ones)
const retryable = queueJobs.filter(j => selectedJobIds.has(j.id) && ['queued', 'error', 'aborted', 'skipped'].includes(j.status)); const retryable = queueJobs.filter(j => selectedJobIds.has(j.id) && ['error', 'aborted', 'skipped'].includes(j.status));
if (retryable.length > 0) { if (retryable.length > 0) {
retryable.forEach(j => { retryable.forEach(j => {
j.status = 'queued'; j.error = null; j.result = null; j.status = 'queued'; j.error = null; j.result = null;
@ -1367,6 +1367,13 @@ async function startSelectedUpload() {
}); });
_markSkippedJobs(result); _markSkippedJobs(result);
persistQueueStateSoon(); persistQueueStateSoon();
showCopyToast(`${retryable.length} Jobs zum laufenden Upload hinzugefügt`);
} else {
// All selected jobs are already queued/uploading — just inform user
const waiting = queueJobs.filter(j => selectedJobIds.has(j.id) && j.status === 'queued');
if (waiting.length > 0) {
showCopyToast(`${waiting.length} Jobs warten bereits auf ihren Upload-Slot`);
}
} }
return; return;
} }