diff --git a/src/views/LibraryView.vue b/src/views/LibraryView.vue index 2e90d2d..60849be 100644 --- a/src/views/LibraryView.vue +++ b/src/views/LibraryView.vue @@ -1887,14 +1887,16 @@ async function batchDeepScan() { if (!confirm(`Deep scan ${filesToProcess.length} files?\n\nThis will process all selected files with default settings.`)) return batchProcessing.value = true - actionMsg.value = `Starting deep scan for ${filesToProcess.length} files...` - const maxConcurrent = 3 + const maxConcurrent = 2 const limit = pLimit(maxConcurrent) + const immediateCount = Math.min(filesToProcess.length, maxConcurrent) + const queueTotal = Math.max(0, filesToProcess.length - maxConcurrent) + + actionMsg.value = `Starting: ${immediateCount} immediate, ${queueTotal} queuing...` let successCount = 0 let failCount = 0 - let queueCount = 0 const tasks = filesToProcess.map((f, index) => { return limit(async () => { @@ -1905,9 +1907,10 @@ async function batchDeepScan() { } const position = index + 1 - if (position > maxConcurrent) { - queueCount++ - actionMsg.value = `Processing ${successCount + 1}/${filesToProcess.length} (${queueCount} in queue)...` + const queuePosition = position - maxConcurrent + + if (queuePosition > 0) { + actionMsg.value = `Processing ${successCount + 1}/${filesToProcess.length} (${queuePosition} queuing)...` } else { actionMsg.value = `Processing ${position}/${filesToProcess.length}...` }