0.11.0-1 queue fix

This commit is contained in:
2026-03-17 20:08:45 +00:00
parent 16c783e1aa
commit 56879d2e8d
13 changed files with 147 additions and 50 deletions
+10 -5
View File
@@ -5158,9 +5158,11 @@ class PipelineService extends EventEmitter {
const isNonJob = candidate.type && candidate.type !== 'job';
if (isNonJob) {
// Non-job entries (script, chain, wait) always start immediately
entryIndex = i;
break;
// Non-job entries (script, chain, wait) only start when no jobs are running
if (totalRunning === 0) {
entryIndex = i;
}
break; // FIFO: stop scanning regardless (non-job blocks everything behind it)
}
// Job entry: check hierarchical limits
@@ -5311,7 +5313,10 @@ class PipelineService extends EventEmitter {
try {
const parsed = JSON.parse(settingsMap?.drive_devices || '[]');
if (Array.isArray(parsed)) {
parsed.map((p) => String(p || '').trim()).filter(Boolean).forEach((p) => devicesToEject.push(p));
parsed
.map((e) => (typeof e === 'string' ? e.trim() : String(e?.path || '').trim()))
.filter(Boolean)
.forEach((p) => devicesToEject.push(p));
}
} catch (_error) {
// ignore
@@ -13488,7 +13493,7 @@ class PipelineService extends EventEmitter {
title: 'Ripster - CD Rip erfolgreich',
message: `Job #${jobId}: ${selectedMeta?.title || 'Audio CD'}`
});
void this.ejectDriveIfEnabled(settings);
void settingsService.getSettingsMap().then((cdSettings) => this.ejectDriveIfEnabled(cdSettings, devicePath));
} catch (error) {
settleLifecycle();
const failedCdLive = buildLiveContext(currentTrackPosition || null);